%%
%% This is file `glossaries-extra-bib2gls.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% glossaries-extra.dtx  (with options: `glossaries-extra-bib2gls.sty,package')
%% 
%%  glossaries-extra.dtx
%%  Copyright 2020 Nicola Talbot
%% 
%%  This work may be distributed and/or modified under the
%%  conditions of the LaTeX Project Public License, either version 1.3
%%  of this license or (at your option) any later version.
%%  The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%%  and version 1.3 or later is part of all distributions of LaTeX
%%  version 2005/12/01 or later.
%% 
%%  This work has the LPPL maintenance status `maintained'.
%% 
%%  The Current Maintainer of this work is Nicola Talbot.
%% 
%%  This work consists of the files glossaries-extra.dtx and glossaries-extra.ins and the derived files glossaries-extra.sty, glossaries-extra-bib2gls.sty, glossaries-extra-stylemods.sty, glossary-bookindex.sty, glossary-longextra.sty, glossary-topic.sty, example-glossaries-xr.tex, example-glossaries-acronym-desc.bib, example-glossaries-acronym.bib, example-glossaries-acronyms-lang.bib, example-glossaries-brief.bib, example-glossaries-childnoname.bib, example-glossaries-cite.bib, example-glossaries-images.bib, example-glossaries-long.bib, example-glossaries-multipar.bib, example-glossaries-parent.bib, example-glossaries-symbolnames.bib, example-glossaries-symbols.bib, example-glossaries-url.bib, example-glossaries-xr.bib.
%% 
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{glossaries-extra-bib2gls}[2020/04/01 v1.45 (NLCT)]
\ifglsacronym
  \providecommand*{\printunsrtacronyms}[1][]{%
   \printunsrtglossary[type=\acronymtype,#1]}%
\fi
\ifglossaryexists{index}
{
  \providecommand*{\printunsrtindex}[1][]{%
   \printunsrtglossary[type=index,#1]}%
}{}
\ifglossaryexists{symbols}
{
  \providecommand*{\printunsrtsymbols}[1][]{%
   \printunsrtglossary[type=symbols,#1]}%
}{}
\ifglossaryexists{numbers}
{
  \providecommand*{\printunsrtnumbers}[1][]{%
   \printunsrtglossary[type=numbers,#1]}%
}{}
\ifglossaryexists{abbreviations}
{
  \providecommand*{\printunsrtabbreviations}[1][]{%
   \printunsrtglossary[type=abbreviations,#1]}%
}{}
\renewcommand*{\glsdisplaynumberlist}[1]{%
  \glsdoifexists{#1}%
  {%
    {\let\bibglsdelimN\glsnumlistsep
     \let\bibglslastDelimN\glsnumlistlastsep
     \glsxtrusefield{#1}{location}%
    }%
  }%
}
\robustify\glsdisplaynumberlist
\renewcommand*{\glsentrynumberlist}[1]{\glsxtrusefield{#1}{location}}
\newcommand*{\glshex}{\string\u}
\newcommand*{\glscapturedgroup}{\string\$}
\newcommand*{\GlsXtrIfHasNonZeroChildCount}[3]{%
  \GlsXtrIfFieldNonZero{childcount}{#1}{#2}{#3}%
}
\newcommand*{\glsxtrprovidecommand}{\providecommand}
\newcommand*{\glsrenewcommand}{\@star@or@long\glsxtr@renewcommand}
\newcommand*{\glsxtr@renewcommand}[1]{%
 \begingroup \escapechar\m@ne\xdef\@gtempa{{\string#1}}\endgroup
 \expandafter\@ifundefined\@gtempa
   {%
     \GlossariesExtraWarning{can't redefine \noexpand#1(not already defined)}%
   }%
   \relax
  \relax
 \let\@ifdefinable\@rc@ifdefinable
 \new@command#1%
}
\newcommand*{\glsxtr@wrglossarylocation}[2]{#1}
\ifdef\hyperref
{%
  \newcommand*{\GlsXtrIndexCounterLink}[2]{%
    \glsxtrifhasfield{indexcounter}{#2}%
    {\hyperref[wrglossary.\glscurrentfieldvalue]{#1}}%
    {#1}%
  }
}
{
  \newcommand*{\GlsXtrIndexCounterLink}[2]{#1}
}
\newcommand*{\GlsXtrDualField}{dual}
\newcommand*{\GlsXtrDualBackLink}[2]{%
  \glsxtrifhasfield{\GlsXtrDualField}{#2}%
  {\glshyperlink[#1]{\glscurrentfieldvalue}}%
  {#2}%
}
\newcommand*{\GlsXtrBibTeXEntryAliases}{%
  article=bibtexentry,
  book=bibtexentry,
  booklet=bibtexentry,
  conference=bibtexentry,
  inbook=bibtexentry,
  incollection=bibtexentry,
  inproceedings=bibtexentry,
  manual=bibtexentry,
  mastersthesis=bibtexentry,
  misc=bibtexentry,
  phdthesis=bibtexentry,
  proceedings=bibtexentry,
  techreport=bibtexentry,
  unpublished=bibtexentry
}
\newcommand*{\GlsXtrProvideBibTeXFields}{%
  \glsaddstoragekey{address}{}{\glsxtrbibaddress}%
  \glsaddstoragekey{author}{}{\glsxtrbibauthor}%
  \glsaddstoragekey{booktitle}{}{\glsxtrbibbooktitle}%
  \glsaddstoragekey{chapter}{}{\glsxtrbibchapter}%
  \glsaddstoragekey{edition}{}{\glsxtrbibedition}%
  \glsaddstoragekey{howpublished}{}{\glsxtrbibhowpublished}%
  \glsaddstoragekey{institution}{}{\glsxtrbibinstitution}%
  \glsaddstoragekey{journal}{}{\glsxtrbibjournal}%
  \glsaddstoragekey{month}{}{\glsxtrbibmonth}%
  \glsaddstoragekey{note}{}{\glsxtrbibnote}%
  \glsaddstoragekey{number}{}{\glsxtrbibnumber}%
  \glsaddstoragekey{organization}{}{\glsxtrbiborganization}%
  \glsaddstoragekey{pages}{}{\glsxtrbibpages}%
  \glsaddstoragekey{publisher}{}{\glsxtrbibpublisher}%
  \glsaddstoragekey{school}{}{\glsxtrbibschool}%
  \glsaddstoragekey{series}{}{\glsxtrbibseries}%
  \glsaddstoragekey{title}{}{\glsxtrbibtitle}%
  \glsaddstoragekey{bibtextype}{}{\glsxtrbibtype}%
  \glsaddstoragekey{volume}{}{\glsxtrbibvolume}%
}
\newcommand*{\glsxtrmultisupplocation}[3]{%
 {%
   \def\glsxtrsupplocationurl{#2}%
   \glshypernumber{#1}%
 }%
}
\newcommand*\glsxtrdisplaysupploc[5]{%
  \setentrycounter[#1]{#2}%
  \glsxtrmultisupplocation{#5}{#4}{#3}%
}
\ifundef\hyperlink
{
  \newcommand*{\glsxtrdisplaylocnameref}[8]{%
    \glsnoidxdisplayloc{#1}{#2}{#3}{#4}%
  }
}
{
  \newcommand*{\glsxtrdisplaylocnameref}[8]{%
    \ifcsdef{glsxtr#2locfmt}%
    {\glsxtrnamereflink{#3}{\csuse{glsxtr#2locfmt}{#4}{#5}}{#2.#7}{#8}}%
    {%
      \ifstrempty{#5}%
      {%
        \glsxtrnamereflink{#3}{#4}{#2.#7}{#8}%
      }%
      {%
        \ifstrequal{#2}{page}%
        {\glsxtrnamereflink{#3}{#4}{#2.#7}{#8}}%
        {\glsxtrnamereflink{#3}{#5}{#2.#7}{#8}}%
      }%
    }%
  }
}
\newcommand*{\glsxtrequationlocfmt}[2]{(#1)}
\newcommand*{\glsxtrnamereflink}[4]{%
  \begingroup
    \let\glshypernumber\@firstofone
    \ifstrempty{#4}%
    {\glsxtrfmtinternalnameref{#3}{#1}{#2}}%
    {\glsxtrfmtexternalnameref{#3}{#1}{#2}{#4}}%
  \endgroup
}
\newcommand{\glsxtrnameloclink}[6]{%
 \begingroup
  \setentrycounter[#1]{#2}%
  \def\glsxtr@locationhypertext{#5}%
  \let\glshypernumber\@firstofone
  \def\@glsnumberformat{#3}%
  \def\glsxtrsupplocationurl{#6}%
  \toks@={}%
  \@glsxtr@bibgls@removespaces#4 \@nil
 \endgroup
}
\def\@glsxtr@bibgls@removespaces#1 #2\@nil{%
 \toks@=\expandafter{\the\toks@#1}%
 \ifx\\#2\\%
   \edef\x{\the\toks@}%
   \ifx\x\empty
   \else
     \protected@edef\x{\glsentrycounter\@glo@counterprefix\the\toks@}%
     \ifdefvoid\glsxtrsupplocationurl
     {%
       \expandafter\glsxtrfmtinternalnameref\expandafter{\x}%
       {\@glsnumberformat}{\glsxtr@locationhypertext}%
     }%
     {%
       \expandafter\glsxtrfmtexternalnameref\expandafter{\x}%
       {\@glsnumberformat}{\glsxtr@locationhypertext}{\glsxtrsupplocationurl}%
     }%
   \fi
 \else
   \@gls@ReturnAfterFi{%
     \@glsxtr@bibgls@removespaces#2\@nil
   }%
 \fi
}
\newcommand*{\glsxtrfmtinternalnameref}[3]{%
  \csuse{#2}{\glsdohyperlink{#1}{#3}}%
}
\newcommand*{\glsxtrfmtexternalnameref}[4]{%
  \csuse{#2}{\hyperref{#4}{}{#1}{#3}}%
}
\newcommand*{\glsxtrSetWidest}[3]{%
  \ifdef\glsupdatewidest
  {%
    \ifdef\glslongextraUpdateWidest
    {%
      \ifstrempty{#1}
      {%
        \glsupdatewidest[#2]{#3}%
        \ifnum#2=0\relax
          \glslongextraUpdateWidest{#3}%
        \else
          \glslongextraUpdateWidestChild{#2}{#3}%
        \fi
      }%
      {%
        \apptoglossarypreamble[#1]{\glsupdatewidest[#2]{#3}}%
        \ifnum#2=0\relax
          \apptoglossarypreamble[#1]{\glslongextraUpdateWidest{#3}}%
        \else
          \apptoglossarypreamble[#1]{\glslongextraUpdateWidestChild{#2}{#3}}%
        \fi
      }%
    }%
    {%
      \ifstrempty{#1}
      {%
        \glsupdatewidest[#2]{#3}%
      }%
      {%
        \apptoglossarypreamble[#1]{\glsupdatewidest[#2]{#3}}%
      }%
    }%
  }%
  {%
    \ifdef\glssetwidest
    {%
      \ifdef\glslongextraUpdateWidest
      {%
        \ifstrempty{#1}
        {%
          \glssetwidest[#2]{#3}%
          \ifnum#2=0\relax
            \glslongextraUpdateWidest{#3}%
          \else
            \glslongextraUpdateWidestChild{#2}{#3}%
          \fi
        }%
        {%
          \apptoglossarypreamble[#1]{\glssetwidest[#2]{#3}}%
          \ifnum#2=0\relax
            \apptoglossarypreamble[#1]{\glslongextraUpdateWidest{#3}}%
          \else
            \apptoglossarypreamble[#1]{\glslongextraUpdateWidestChild{#2}{#3}}%
          \fi
        }%
      }%
      {%
        \ifstrempty{#1}
        {%
          \glssetwidest[#2]{#3}%
        }%
        {%
          \apptoglossarypreamble[#1]{\glssetwidest[#2]{#3}}%
        }%
      }%
    }%
    {%
      \ifdef\glslongextraUpdateWidest
      {%
        \ifstrempty{#1}
        {%
          \ifnum#2=0\relax
            \glslongextraUpdateWidest{#3}%
          \else
            \glslongextraUpdateWidestChild{#2}{#3}%
          \fi
        }%
        {%
          \ifnum#2=0\relax
            \apptoglossarypreamble[#1]{\glslongextraUpdateWidest{#3}}%
          \else
            \apptoglossarypreamble[#1]{\glslongextraUpdateWidestChild{#2}{#3}}%
          \fi
        }%
      }%
      {}%
    }%
  }%
}
\newcommand*{\glsxtrSetWidestFallback}[2]{%
  \ifnum#1=0\relax
   \ifdef\glsFindWidestTopLevelName
   {%
     \glsFindWidestTopLevelName[#2]%
   }%
   {%
     \GlossariesExtraWarning{You need stylemods={tree} to
       provide a fallback for set-widest}%
   }%
  \else
   \ifdef\glsFindWidestLevelTwo
   {%
     \glsFindWidestLevelTwo[#2]%
     \ifdef\glslongextraUpdateWidestChild
     {%
      \glslongextraUpdateWidestChild{#1}{\csuse{@glswidestnamei}}%
      \glslongextraUpdateWidestChild{#1}{\csuse{@glswidestnameii}}%
     }%
     {}%
   }%
   {%
     \GlossariesExtraWarning{You need stylemods={tree} to
       provide a fallback for set-widest}%
   }%
  \fi
}
\newcommand*{\@glsxtr@labelprefixes}{}
\newcommand*{\glsxtrclearlabelprefixes}{%
  \renewcommand*{\@glsxtr@labelprefixes}{}%
}
\newcommand*{\glsxtraddlabelprefix}[1]{%
  \ifstrempty{#1}%
  {\glsxtraddlabelprefix{\empty}}%
  {%
    \ifdefempty\@glsxtr@labelprefixes
    {\def\@glsxtr@labelprefixes{#1}}%
    {\appto\@glsxtr@labelprefixes{,#1}}%
  }%
}
\newcommand*{\glsxtrprependlabelprefix}[1]{%
  \ifstrempty{#1}%
  {\glsxtrprependlabelprefix{\empty}}%
  {%
    \ifdefempty\@glsxtr@labelprefixes
    {\def\@glsxtr@labelprefixes{#1}}%
    {\preto\@glsxtr@labelprefixes{#1,}}%
  }%
}
\newcommand*{\glsxtrifinlabelprefixlist}[3]{%
  \ifstrempty{#1}%
  {\glsxtrifinlabelprefixlist{\empty}{#2}{#3}}%
  {%
    \DTLifinlist{#1}{\@glsxtr@labelprefixes}{#2}{#3}%
  }%
}
\AtBeginDocument{%
 \protected@write\@auxout{}{\string\providecommand{\string\@glsxtr@prefixlabellist}[1]{}}%
 \protected@write\@auxout{}{\string\@glsxtr@prefixlabellist{\@glsxtr@labelprefixes}}%
}
\newcommand*{\@glsxtr@get@prefixedlabel}[1]{%
 \begingroup
 \edef\@gls@thislabel{#1}%
 \@for\@glsxtr@prefix:=\@glsxtr@labelprefixes\do
 {%
   \edef\@gls@thislabel{\@glsxtr@prefix#1}%
   \ifglsentryexists{\@gls@thislabel}{\@endfortrue}{}%
 }%
 \edef\x{\endgroup\noexpand\def\noexpand\@gls@thislabel{\@gls@thislabel}}\x
}
\newrobustcmd*{\dgls}{\@gls@hyp@opt\@dgls}
\newcommand*{\@dgls}[2][]{%
  \@glsxtr@get@prefixedlabel{#2}%
  \new@ifnextchar[{\@gls@{#1}{\@gls@thislabel}}{\@gls@{#1}{\@gls@thislabel}[]}%
}
\newrobustcmd*{\dglspl}{\@gls@hyp@opt\@dglspl}
\newcommand*{\@dglspl}[2][]{%
  \@glsxtr@get@prefixedlabel{#2}%
  \new@ifnextchar[{\@glspl@{#1}{\@gls@thislabel}}{\@glspl@{#1}{\@gls@thislabel}[]}%
}
\newrobustcmd*{\dGls}{\@gls@hyp@opt\@dGls}
\newcommand*{\@dGls}[2][]{%
  \@glsxtr@get@prefixedlabel{#2}%
  \new@ifnextchar[{\@Gls@{#1}{\@gls@thislabel}}{\@Gls@{#1}{\@gls@thislabel}[]}%
}
\newrobustcmd*{\dGlspl}{\@gls@hyp@opt\@dGlspl}
\newcommand*{\@dGlspl}[2][]{%
  \@glsxtr@get@prefixedlabel{#2}%
  \new@ifnextchar[{\@Glspl@{#1}{\@gls@thislabel}}{\@Glspl@{#1}{\@gls@thislabel}[]}%
}
\newrobustcmd*{\dGLS}{\@gls@hyp@opt\@dGLS}
\newcommand*{\@dGLS}[2][]{%
  \@glsxtr@get@prefixedlabel{#2}%
  \new@ifnextchar[{\@GLS@{#1}{\@gls@thislabel}}{\@GLS@{#1}{\@gls@thislabel}[]}%
}
\newrobustcmd*{\dGLSpl}{\@gls@hyp@opt\@dGLSpl}
\newcommand*{\@dGLSpl}[2][]{%
  \@glsxtr@get@prefixedlabel{#2}%
  \new@ifnextchar[{\@GLSpl@{#1}{\@gls@thislabel}}{\@GLSpl@{#1}{\@gls@thislabel}[]}%
}
\newrobustcmd*{\dglslink}[3][]{%
  \@glsxtr@get@prefixedlabel{#2}%
  \glslink[#1]{\@gls@thislabel}{#3}%
}
\newrobustcmd*{\dglsdisp}[3][]{%
  \@glsxtr@get@prefixedlabel{#2}%
  \glsdisp[#1]{\@gls@thislabel}{#3}%
}
\providecommand*{\Alpha}{\mathrm{A}}
\providecommand*{\Beta}{\mathrm{B}}
\providecommand*{\Epsilon}{\mathrm{E}}
\providecommand*{\Zeta}{\mathrm{Z}}
\providecommand*{\Eta}{\mathrm{H}}
\providecommand*{\Iota}{\mathrm{I}}
\providecommand*{\Kappa}{\mathrm{K}}
\providecommand*{\Mu}{\mathrm{M}}
\providecommand*{\Nu}{\mathrm{N}}
\providecommand*{\Omicron}{\mathrm{O}}
\providecommand*{\Rho}{\mathrm{P}}
\providecommand*{\Tau}{\mathrm{T}}
\providecommand*{\Chi}{\mathrm{X}}
\providecommand*{\Digamma}{\mathrm{F}}
\providecommand*{\omicron}{\mathit{o}}
\@ifpackageloaded{upgreek}%
{
  \providecommand*{\Upalpha}{\mathrm{A}}
  \providecommand*{\Upbeta}{\mathrm{B}}
  \providecommand*{\Upepsilon}{\mathrm{E}}
  \providecommand*{\Upzeta}{\mathrm{Z}}
  \providecommand*{\Upeta}{\mathrm{H}}
  \providecommand*{\Upiota}{\mathrm{I}}
  \providecommand*{\Upkappa}{\mathrm{K}}
  \providecommand*{\Upmu}{\mathrm{M}}
  \providecommand*{\Upnu}{\mathrm{N}}
  \providecommand*{\Upomicron}{\mathrm{O}}
  \providecommand*{\Uprho}{\mathrm{P}}
  \providecommand*{\Uptau}{\mathrm{T}}
  \providecommand*{\Upchi}{\mathrm{X}}
  \providecommand*{\upomicron}{\mathrm{o}}
}%
{}% upgreek.sty not loaded
\newcommand*{\glsxtrcontrolrules}{%
 \string'\glshex 200B\string'\string=\glshex 200C\string=\glshex 200D
 \string=\glshex 200E\string=\glshex 200F\string=\glshex 0000\string=\glshex 0001
 \string=\glshex 0002\string=\glshex 0003\string=\glshex 0004\string=\glshex 0005
 \string=\glshex 0006\string=\glshex 0007\string=\glshex 0008
 \string=\string'\glshex 0009\string'\string=\string'\glshex 000B\string'
 \string=\glshex 000E\string=\glshex 000F\string=\string'\glshex
0010\string'\string=\glshex 0011
 \string=\glshex 0012\string=\glshex 0013\string=\glshex 0014\string=\glshex 0015
 \string=\glshex 0016\string=\glshex 0017\string=\glshex 0018\string=\glshex 0019
 \string=\glshex 001A\string=\glshex 001B\string=\glshex 001C\string=\glshex 001D
 \string=\glshex 001E\string=\glshex 001F\string=\glshex 007F\string=\glshex 0080
 \string=\glshex 0081\string=\glshex 0082\string=\glshex 0083\string=\glshex 0084
 \string=\glshex 0085\string=\glshex 0086\string=\glshex 0087\string=\glshex 0088
 \string=\glshex 0089\string=\glshex 008A\string=\glshex 008B\string=\glshex 008C
 \string=\glshex 008D\string=\glshex 008E\string=\glshex 008F\string=\glshex 0090
 \string=\glshex 0091\string=\glshex 0092\string=\glshex 0093\string=\glshex 0094
 \string=\glshex 0095\string=\glshex 0096\string=\glshex 0097\string=\glshex 0098
 \string=\glshex 0099\string=\glshex 009A\string=\glshex 009B\string=\glshex 009C
 \string=\glshex 009D\string=\glshex 009E\string=\glshex 009F
}
\newcommand*{\glsxtrspacerules}{%
 \string' \string'\string;
 \string'\glshex 00A0\string'\string;
 \string'\glshex 2000\string'\string;
 \string'\glshex 2001\string'\string;
 \string'\glshex 2002\string'\string;
 \string'\glshex 2003\string'\string;
 \string'\glshex 2004\string'\string;
 \string'\glshex 2005\string'\string;
 \string'\glshex 2006\string'\string;
 \string'\glshex 2007\string'\string;
 \string'\glshex 2008\string'\string;
 \string'\glshex 2009\string'\string;
 \string'\glshex 200A\string'\string;
 \string'\glshex 3000\string'
}
\newcommand*{\glsxtrnonprintablerules}{%
 \string'\glshex FEFF\string'\string;
 \string'\glshex 000A\string'\string;
 \string'\glshex 0009\string'\string;
 \string'\glshex 000C\string'\string;
 \string'\glshex 000B\string'
}

\newcommand*{\glsxtrcombiningdiacriticrules}{%
 \glsxtrcombiningdiacriticIrules\string;
 \glsxtrcombiningdiacriticIIrules\string;
 \glsxtrcombiningdiacriticIIIrules\string;
 \glsxtrcombiningdiacriticIVrules
}
\newcommand*{\glsxtrcombiningdiacriticIrules}{%
 \glshex 0301\string;% combining acute
 \glshex 0300\string;% combining grave
 \glshex 0306\string;% combining breve
 \glshex 0302\string;% combining circumflex
 \glshex 030C\string;% combining caron
 \glshex 030A\string;% combining ring
 \glshex 030D\string;% combining vertical line above
 \glshex 0308\string;% combining diaeresis
 \glshex 030B\string;% combining double acute
 \glshex 0303\string;% combining tilde
 \glshex 0307\string;% combining dot above
 \glshex 0304% combining macron
}
\newcommand*{\glsxtrcombiningdiacriticIIrules}{%
 \glshex 0337\string;% combining short solidus overlay
 \glshex 0327\string;% combining cedilla
 \glshex 0328\string;% combining ogonek
 \glshex 0323\string;% combining dot below
 \glshex 0332\string;% combining low line
 \glshex 0305\string;% combining overline
 \glshex 0309\string;% combining hook above
 \glshex 030E\string;% combining double vertical line above
 \glshex 030F\string;% combining double grave accent
 \glshex 0310\string;% combining candrabindu
 \glshex 0311\string;% combining inverted breve
 \glshex 0312\string;% combining turned comma above
 \glshex 0313\string;% combining comma above
 \glshex 0314\string;% combining reversed comma above
 \glshex 0315\string;% combining comma above right
 \glshex 0316\string;% combining grave accent below
 \glshex 0317% combining acute accent below
}
\newcommand*{\glsxtrcombiningdiacriticIIIrules}{%
 \glshex 0318\string;% combining left tack below
 \glshex 0319\string;% combining right tack below
 \glshex 031A\string;% combining left angle above
 \glshex 031B\string;% combining horn
 \glshex 031C\string;% combining left half ring below
 \glshex 031D\string;% combining up tack below
 \glshex 031E\string;% combining down tack below
 \glshex 031F\string;% combining plus sign below
 \glshex 0320\string;% combining minus sign below
 \glshex 0321\string;% combining palatalized hook below
 \glshex 0322\string;% combining retroflex hook below
 \glshex 0324\string;% combining diaresis below
 \glshex 0325\string;% combining ring below
 \glshex 0326\string;% combining comma below
 \glshex 0329\string;% combining vertical line below
 \glshex 032A\string;% combining bridge below
 \glshex 032B\string;% combining inverted double arch below
 \glshex 032C\string;% combining caron below
 \glshex 032D\string;% combining circumflex accent below
 \glshex 032E\string;% combining breve below
 \glshex 032F\string;% combining inverted breve below
 \glshex 0330\string;% combining tilde below
 \glshex 0331\string;% combining macron below
 \glshex 0333\string;% combining double low line
 \glshex 0334\string;% combining tilde overlay
 \glshex 0335\string;% combining short stroke overlay
 \glshex 0336\string;% combining long stroke overlay
 \glshex 0338\string;% combining long solidus overlay
 \glshex 0339\string;% combining combining right half ring below
 \glshex 033A\string;% combining inverted bridge below
 \glshex 033B\string;% combining square below
 \glshex 033C\string;% combining seagull below
 \glshex 033D\string;% combining x above
 \glshex 033E\string;% combining vertical tilde
 \glshex 033F\string;% combining double overline
 \glshex 0342\string;% combining Greek perispomeni
 \glshex 0344\string;% combining Greek dialytika tonos
 \glshex 0345\string;% combining Greek ypogegrammeni
 \glshex 0360\string;% combining double tilde
 \glshex 0361\string;% combining double inverted breve
 \glshex 0483\string;% combining Cyrillic titlo
 \glshex 0484\string;% combining Cyrillic palatalization
 \glshex 0485\string;% combining Cyrillic dasia pneumata
 \glshex 0486% combining Cyrillic psili pneumata
}
\newcommand*{\glsxtrcombiningdiacriticIVrules}{%
 \glshex 20D0\string;% combining left harpoon above
 \glshex 20D1\string;% combining right harpoon above
 \glshex 20D2\string;% combining long vertical line overlay
 \glshex 20D3\string;% combining short vertical line overlay
 \glshex 20D4\string;% combining anticlockwise arrow above
 \glshex 20D5\string;% combining clockwise arrow above
 \glshex 20D6\string;% combining left arrow above
 \glshex 20D7\string;% combining right arrow above
 \glshex 20D8\string;% combining ring overlay
 \glshex 20D9\string;% combining clockwise ring overlay
 \glshex 20DA\string;% combining anticlockwise ring overlay
 \glshex 20DB\string;% combining three dots above
 \glshex 20DC\string;% combining four dots above
 \glshex 20DD\string;% combining enclosing circle
 \glshex 20DE\string;% combining enclosing square
 \glshex 20DF\string;% combining enclosing diamond
 \glshex 20E0\string;% combining enclosing circle backslash
 \glshex 20E1%  combining left right arrow above
}
\newcommand*{\glsxtrhyphenrules}{%
 \string'\string-\string'\string;% ASCII hyphen
 \glshex 00AD\string;% soft hyphen
 \glshex 2010\string;% hyphen
 \glshex 2011\string;% non-breaking hyphen
 \glshex 2012\string;% figure dash
 \glshex 2013\string;% en dash
 \glshex 2014\string;% em dash
 \glshex 2015\string;% horizontal bar
 \glshex 2212\string=\glshex 207B\string=\glshex 208B% minus sign
}
\newcommand*{\glsxtrgeneralpuncrules}{%
  \glsxtrgeneralpuncIrules
  \string<\glsxtrcurrencyrules
  \string<\glsxtrgeneralpuncIIrules
}
\newcommand*{\glsxtrgeneralpuncIrules}{%
 \string'\glshex 005F\string'% underscore
 \string<\glshex 00AF% macron
 \string<\string'\glshex 002C\string'% comma
 \string<\string'\glshex 003B\string'% semi-colon
 \string<\string'\glshex 003A\string'% colon
 \string<\string'\glshex 0021\string'% exclamation mark
 \string<\glshex 00A1% inverted exclamation mark
 \string<\string'\glshex 003F\string'% question mark
 \string<\glshex 00BF% inverted question mark
 \string<\string'\glshex 002F\string'% solidus
 \string<\string'\glshex 002E\string'% full stop
 \string<\glshex 00B4% acute accent
 \string<\string'\glshex 0060\string'% grave accent
 \string<\string'\glshex 005E\string'% circumflex accent
 \string<\glshex 00A8% diaersis
 \string<\string'\glshex 007E\string'% tilde
 \string<\glshex 00B7% middle dot
 \string<\glshex 00B8% cedilla
 \string<\string'\glshex 0027\string'% straight apostrophe
 \string<\string'\glshex 0022\string'% straight double quote
 \string<\glshex 00AB% left guillemet
 \string<\glshex 00BB% right guillemet
 \string<\string'\glshex 0028\string'% left parenthesis
  \string=\glshex 207D\string=\glshex 208D% super/subscript left parenthesis
 \string<\string'\glshex 0029\string'% right parenthesis
  \string=\glshex 207E\string=\glshex 208E% super/subscript right parenthesis
 \string<\string'\glshex 005B\string'% left square bracket
 \string<\string'\glshex 005D\string'% right square bracket
 \string<\string'\glshex 007B\string'% left curly bracket
 \string<\string'\glshex 007D\string'% right curly bracket
 \string<\glshex 00A7% section sign
 \string<\glshex 00B6% pilcrow sign
 \string<\glshex 00A9% copyright sign
 \string<\glshex 00AE% registered sign
 \string<\string'\glshex 0040\string'% at sign
}
\newcommand*{\glsxtrcurrencyrules}{%
 \glshex 00A4% currency sign
 \string<\glshex 0E3F% Thai currency symbol baht
 \string<\glshex 00A2% cent sign
 \string<\glshex 20A1% colon sign
 \string<\glshex 20A2% cruzeiro sign
 \string<\string'\glshex 0024\string'% dollar sign
 \string<\glshex 20AB% dong sign
 \string<\glshex 20AC% euro sign
 \string<\glshex 20A3% French franc sign
 \string<\glshex 20A4% lira sign
 \string<\glshex 20A5% mill sign
 \string<\glshex 20A6% naira sign
 \string<\glshex 20A7% peseta sign
 \string<\glshex 00A3% pound sign
 \string<\glshex 20A8% rupee sign
 \string<\glshex 20AA% new sheqel sign
 \string<\glshex 20A9% won sign
 \string<\glshex 00A5% yen sign
}
\newcommand*{\glsxtrgeneralpuncIIrules}{%
 \string'\glshex 002A\string'% asterisk
 \string<\string'\glshex 005C\string'% backslash
 \string<\string'\glshex 0026\string'% ampersand
 \string<\string'\glshex 0023\string'% hash sign
 \string<\string'\glshex 0025\string'% percent sign
 \string<\string'\glshex 002B\string'% plus sign
  \string=\glshex 207A\string=\glshex 208A% super/subscript plus sign
 \string<\glshex 00B1% plus-minus sign
 \string<\glshex 00F7% division sign
 \string<\glshex 00D7% multiplication sign
 \string<\string'\glshex 003C\string'% less-than sign
 \string<\string'\glshex 003D\string'% equals sign
 \string<\string'\glshex 003E\string'% greater-than sign
 \string<\glshex 00AC% not sign
 \string<\string'\glshex 007C\string'% vertical bar (pipe)
 \string<\glshex 00A6% broken bar
 \string<\glshex 00B0% degree sign
 \string<\glshex 00B5% micron sign
}
\newcommand*{\glsxtrGeneralLatinIrules}{%
 \glsxtrLatinA
 \string<b,B%
 \string<c,C%
 \string<d,D%
 \string<\glsxtrLatinE
 \string<f,F%
 \string<g,G%
 \string<\glsxtrLatinH
 \string<\glsxtrLatinI
 \string<j,J%
 \string<\glsxtrLatinK
 \string<\glsxtrLatinL
 \string<\glsxtrLatinM
 \string<\glsxtrLatinN
 \string<\glsxtrLatinO
 \string<\glsxtrLatinP
 \string<q,Q%
 \string<r,R%
 \string<\glsxtrLatinS
 \string<\glsxtrLatinT
 \string<u,U%
 \string<v,V%
 \string<w,W%
 \string<\glsxtrLatinX
 \string<y,Y%
 \string<z,Z
}
\newcommand*{\glsxtrGeneralLatinIIrules}{%
 \glsxtrLatinA
 \string<b,B%
 \string<c,C%
 \string<d,D%
 \string<\glsxtrLatinEth
 \string<\glsxtrLatinE
 \string<f,F%
 \string<g,G%
 \string<\glsxtrLatinH
 \string<\glsxtrLatinI
 \string<j,J%
 \string<\glsxtrLatinK
 \string<\glsxtrLatinL
 \string<\glsxtrLatinM
 \string<\glsxtrLatinN
 \string<\glsxtrLatinO
 \string<\glsxtrLatinP
 \string<q,Q%
 \string<r,R%
 \string<\glsxtrLatinS
 \string& SS \string, \glsxtrLatinEszettSs
 \string<\glsxtrLatinT
 \string<u,U%
 \string<v,V%
 \string<w,W%
 \string<\glsxtrLatinX
 \string<y,Y%
 \string<z,Z%
}
\newcommand*{\glsxtrGeneralLatinIIIrules}{%
 \glsxtrLatinA
 \string<b,B%
 \string<c,C%
 \string<d,D%
 \string<\glsxtrLatinEth
 \string<\glsxtrLatinE
 \string<f,F%
 \string<g,G%
 \string<\glsxtrLatinH
 \string<\glsxtrLatinI
 \string<j,J%
 \string<\glsxtrLatinK
 \string<\glsxtrLatinL
 \string<\glsxtrLatinM
 \string<\glsxtrLatinN
 \string<\glsxtrLatinO
 \string<\glsxtrLatinP
 \string<q,Q%
 \string<r,R%
 \string<\glsxtrLatinS
 \string& SZ, \glsxtrLatinEszettSz
 \string<\glsxtrLatinT
 \string<u,U%
 \string<v,V%
 \string<w,W%
 \string<\glsxtrLatinX
 \string<y,Y%
 \string<z,Z%
}
\newcommand*{\glsxtrGeneralLatinIVrules}{%
 \glsxtrLatinA
 \string& AE , \glsxtrLatinAELigature
 \string<b,B%
 \string<c,C%
 \string<d,D%
 \string<\glsxtrLatinEth
 \string<\glsxtrLatinE
 \string<f,F%
 \string<g,G%
 \string<\glsxtrLatinH
 \string<\glsxtrLatinI
 \string<j,J%
 \string<\glsxtrLatinK
 \string<\glsxtrLatinL
 \string<\glsxtrLatinM
 \string<\glsxtrLatinN
 \string<\glsxtrLatinO
 \string& OE , \glsxtrLatinOELigature
 \string<\glsxtrLatinP
 \string<q,Q%
 \string<r,R%
 \string<\glsxtrLatinS
 \string& SS , \glsxtrLatinEszettSs
 \string<\glsxtrLatinT
 \string& th =\glshex 00DE
 \string& TH =\glshex 00FE
 \string<u,U%
 \string<v,V%
 \string<w,W%
 \string<\glsxtrLatinX
 \string<y,Y%
 \string<z,Z%
}
\newcommand*{\glsxtrGeneralLatinVrules}{%
 \glsxtrLatinA
 \string<b,B%
 \string<c,C%
 \string<d,D%
 \string<\glsxtrLatinEth
 \string<\glsxtrLatinE
 \string<f,F%
 \string<g,G%
 \string<\glsxtrLatinH
 \string<\glsxtrLatinI
 \string<j,J%
 \string<\glsxtrLatinK
 \string<\glsxtrLatinL
 \string<\glsxtrLatinM
 \string<\glsxtrLatinN
 \string<\glsxtrLatinO
 \string<\glsxtrLatinP
 \string<q,Q%
 \string<r,R%
 \string<\glsxtrLatinS
 \string& SS , \glsxtrLatinEszettSs
 \string<\glsxtrLatinT
 \string& th =\glshex 00DE
 \string& TH =\glshex 00FE
 \string<u,U%
 \string<v,V%
 \string<w,W%
 \string<\glsxtrLatinX
 \string<y,Y%
 \string<z,Z%
}
\newcommand*{\glsxtrGeneralLatinVIrules}{%
 \glsxtrLatinA
 \string<b,B%
 \string<c,C%
 \string<d,D%
 \string<\glsxtrLatinEth
 \string<\glsxtrLatinE
 \string<f,F%
 \string<g,G%
 \string<\glsxtrLatinH
 \string<\glsxtrLatinI
 \string<j,J%
 \string<\glsxtrLatinK
 \string<\glsxtrLatinL
 \string<\glsxtrLatinM
 \string<\glsxtrLatinN
 \string<\glsxtrLatinO
 \string<\glsxtrLatinP
 \string<q,Q%
 \string<r,R%
 \string<\glsxtrLatinS
 \string& SZ , \glsxtrLatinEszettSz
 \string<\glsxtrLatinT
 \string& th =\glshex 00DE
 \string& TH =\glshex 00FE
 \string<u,U%
 \string<v,V%
 \string<w,W%
 \string<\glsxtrLatinX
 \string<y,Y%
 \string<z,Z%
}
\newcommand*{\glsxtrGeneralLatinVIIrules}{%
 \glsxtrLatinA
 \string<\glsxtrLatinAELigature
 \string<b,B%
 \string<c,C%
 \string<d,D%
 \string<\glsxtrLatinEth
 \string<\glsxtrLatinE
 \string<f,F%
 \string<\glsxtrLatinInsularG
 \string<\glsxtrLatinH
 \string<\glsxtrLatinI
 \string<j,J%
 \string<\glsxtrLatinK
 \string<\glsxtrLatinL
 \string<\glsxtrLatinM
 \string<\glsxtrLatinN
 \string<\glsxtrLatinO
 \string<\glsxtrLatinOELigature
 \string<\glsxtrLatinP
 \string<q,Q%
 \string<r,R%
 \string<\glshex 017F=\glsxtrLatinS % s and long s
 \string<\glsxtrLatinT
 \string<\glsxtrLatinThorn
 \string<u,U%
 \string<v,V%
 \string< w\string=\glshex 01BF, W\string=\glshex 01F7
 \string<\glsxtrLatinX
 \string<y,Y%
 \string<z,Z%
}
\newcommand*{\glsxtrGeneralLatinVIIIrules}{%
 \glsxtrLatinA
 \string& AE , \glsxtrLatinAELigature
 \string<b,B%
 \string<c,C%
 \string<\glshex 00F0\string;d,\glshex 00D0\string;D% D and eth
 \string<\glsxtrLatinE
 \string<f,F%
 \string<g,G%
 \string<\glsxtrLatinH
 \string<\glsxtrLatinI
 \string<j,J%
 \string<\glsxtrLatinK
 \string<\glshex 0142\string=\glsxtrLatinL\string=\glshex 0141% L and \L
 \string<\glsxtrLatinM
 \string<\glsxtrLatinN
 \string<\glshex 00F8\string=\glsxtrLatinO\string=\glshex 00D8% O and \O
 \string& OE , \glsxtrLatinOELigature
 \string<\glsxtrLatinP
 \string<q,Q%
 \string<r,R%
 \string<\glsxtrLatinS
 \string& SS , \glsxtrLatinEszettSs
 \string<\glsxtrLatinT
 \string& th =\glshex 00DE
 \string& TH =\glshex 00FE
 \string<u,U%
 \string<v,V%
 \string<w,W%
 \string<\glsxtrLatinX
 \string<y,Y%
 \string<z,Z%
}
\newcommand*{\glsxtrLatinA}{%
  a\string=\glshex 00AA\string=\glshex 2090,A
}
\newcommand*{\glsxtrLatinE}{%
  e\string=\glshex 2091,E
}
\newcommand*{\glsxtrLatinH}{%
  h\string=\glshex 2095,H
}
\newcommand*{\glsxtrLatinI}{%
  i\string=\glshex 2071,I
}
\newcommand*{\glsxtrLatinK}{%
  k\string=\glshex 2096,K
}
\newcommand*{\glsxtrLatinL}{%
  l\string=\glshex 2097,L
}
\newcommand*{\glsxtrLatinM}{%
  m\string=\glshex 2098,M
}
\newcommand*{\glsxtrLatinN}{%
  n\string=\glshex 207F\string=\glshex 2099,N
}
\newcommand*{\glsxtrLatinO}{%
  o\string=\glshex 00BA\string=\glshex 2092,O
}
\newcommand*{\glsxtrLatinP}{%
  p\string=\glshex 209A,P
}
\newcommand*{\glsxtrLatinS}{%
  s\string=\glshex 209B,S
}
\newcommand*{\glsxtrLatinT}{%
  t\string=\glshex 209C,T
}
\newcommand*{\glsxtrLatinX}{%
  x\string=\glshex 2093,X
}
\newcommand*{\glsxtrLatinSchwa}{%
  \glshex 0259\string=\glshex 2094,\glshex 018F
}
\newcommand*{\glsxtrLatinEszettSs}{%
 \glshex 00DF% eszett
 \string=\glshex 017Fs % long S s
}
\newcommand*{\glsxtrLatinEszettSz}{%
 \glshex 00DF% eszett
 \string= \glshex 017Fz % long S z
}
\newcommand*{\glsxtrLatinEth}{%
 \glshex 00F0,\glshex 00D0% eth
}
\newcommand*{\glsxtrLatinThorn}{%
 \glshex 00FE,\glshex 00DE% thorn
}
\newcommand*{\glsxtrLatinAELigature}{%
 \glshex 00E6,\glshex 00C6% AE-ligature
}
\newcommand*{\glsxtrLatinOELigature}{%
 \glshex 0153,\glshex 0152% OE-ligature
}
\newcommand*{\glsxtrLatinAA}{%
 \glshex 00E5=a\glshex 030A,% \aa
 \glshex 00C5=A\glshex 030A% \AA
}
\newcommand*{\glsxtrLatinWynn}{%
 \glshex 01BF,\glshex 01F7% wynn
}
\newcommand*{\glsxtrLatinInsularG}{%
 \glshex 1D79,\glshex A77D% insular G
 \string; g, G
}
\newcommand*{\glsxtrLatinOslash}{%
 \glshex 00F8,\glshex 00D8% \o, \O
}
\newcommand*{\glsxtrLatinLslash}{%
 \glshex 0142,\glshex 0141% \l, \L
}
\newcommand*{\glsxtrMathUpGreekIrules}{%
 \glsxtrUpAlpha
 \string<\glsxtrUpBeta
 \string<\glsxtrUpGamma
 \string<\glsxtrUpDelta
 \string<\glsxtrUpEpsilon
 \string<\glsxtrUpDigamma
 \string<\glsxtrUpZeta
 \string<\glsxtrUpEta
 \string<\glsxtrUpTheta
 \string<\glsxtrUpIota
 \string<\glsxtrUpKappa
 \string<\glsxtrUpLambda
 \string<\glsxtrUpMu
 \string<\glsxtrUpNu
 \string<\glsxtrUpXi
 \string<\glsxtrUpOmicron
 \string<\glsxtrUpPi
 \string<\glsxtrUpRho
 \string<\glsxtrUpSigma
 \string<\glsxtrUpTau
 \string<\glsxtrUpUpsilon
 \string<\glsxtrUpPhi
 \string<\glsxtrUpChi
 \string<\glsxtrUpPsi
 \string<\glsxtrUpOmega
}
\newcommand*{\glsxtrMathUpGreekIIrules}{%
 \glsxtrUpAlpha
 \string<\glsxtrUpBeta
 \string<\glsxtrUpGamma
 \string<\glsxtrUpDelta
 \string<\glsxtrUpEpsilon
 \string<\glsxtrUpZeta
 \string<\glsxtrUpEta
 \string<\glsxtrUpTheta
 \string<\glsxtrUpIota
 \string<\glsxtrUpKappa
 \string<\glsxtrUpLambda
 \string<\glsxtrUpMu
 \string<\glsxtrUpNu
 \string<\glsxtrUpXi
 \string<\glsxtrUpOmicron
 \string<\glsxtrUpPi
 \string<\glsxtrUpRho
 \string<\glsxtrUpSigma
 \string<\glsxtrUpTau
 \string<\glsxtrUpUpsilon
 \string<\glsxtrUpPhi
 \string<\glsxtrUpChi
 \string<\glsxtrUpPsi
 \string<\glsxtrUpOmega
}
\newcommand*{\glsxtrMathItalicGreekIrules}{%
 \glsxtrMathItalicAlpha
 \string<\glsxtrMathItalicBeta
 \string<\glsxtrMathItalicGamma
 \string<\glsxtrMathItalicDelta
 \string<\glsxtrMathItalicEpsilon
 \string<\glsxtrUpDigamma
 \string<\glsxtrMathItalicZeta
 \string<\glsxtrMathItalicEta
 \string<\glsxtrMathItalicTheta
 \string<\glsxtrMathItalicIota
 \string<\glsxtrMathItalicKappa
 \string<\glsxtrMathItalicLambda
 \string<\glsxtrMathItalicMu
 \string<\glsxtrMathItalicNu
 \string<\glsxtrMathItalicXi
 \string<\glsxtrMathItalicOmicron
 \string<\glsxtrMathItalicPi
 \string<\glsxtrMathItalicRho
 \string<\glsxtrMathItalicSigma
 \string<\glsxtrMathItalicTau
 \string<\glsxtrMathItalicUpsilon
 \string<\glsxtrMathItalicPhi
 \string<\glsxtrMathItalicChi
 \string<\glsxtrMathItalicPsi
 \string<\glsxtrMathItalicOmega
}
\newcommand*{\glsxtrMathItalicGreekIIrules}{%
 \glsxtrMathItalicAlpha
 \string<\glsxtrMathItalicBeta
 \string<\glsxtrMathItalicGamma
 \string<\glsxtrMathItalicDelta
 \string<\glsxtrMathItalicEpsilon
 \string<\glsxtrMathItalicZeta
 \string<\glsxtrMathItalicEta
 \string<\glsxtrMathItalicTheta
 \string<\glsxtrMathItalicIota
 \string<\glsxtrMathItalicKappa
 \string<\glsxtrMathItalicLambda
 \string<\glsxtrMathItalicMu
 \string<\glsxtrMathItalicNu
 \string<\glsxtrMathItalicXi
 \string<\glsxtrMathItalicOmicron
 \string<\glsxtrMathItalicPi
 \string<\glsxtrMathItalicRho
 \string<\glsxtrMathItalicSigma
 \string<\glsxtrMathItalicTau
 \string<\glsxtrMathItalicUpsilon
 \string<\glsxtrMathItalicPhi
 \string<\glsxtrMathItalicChi
 \string<\glsxtrMathItalicPsi
 \string<\glsxtrMathItalicOmega
}
\newcommand*{\glsxtrMathItalicUpperGreekIrules}{%
 \glshex 1D6E2% upper case alpha (maths italic)
 \string<\glshex 1D6E3% upper case beta (maths italic)
 \string<\glshex 1D6E4% upper case gamma (maths italic)
 \string<\glshex 1D6E5% upper case delta (maths italic)
 \string<\glshex 1D6E6% upper case epsilon (maths italic)
 \string<\glshex 03DC% upper case digamma
 \string<\glshex 1D6E7% upper case zeta (maths italic)
 \string<\glshex 1D6E8% upper case eta (maths italic)
 \string<\glshex 1D6E9% upper case theta (maths italic)
 \string=\glshex 1D6F3% upper case theta variant (maths italic)
 \string<\glshex 1D6EA% upper case iota (maths italic)
 \string<\glshex 1D6EB% upper case kappa (maths italic)
 \string<\glshex 1D6EC% upper case lambda (maths italic)
 \string<\glshex 1D6ED% upper case mu (maths italic)
 \string<\glshex 1D6EE% upper case nu (maths italic)
 \string<\glshex 1D6EF% upper case xi (maths italic)
 \string<\glshex 1D6F0% upper case omicron (maths italic)
 \string<\glshex 1D6F1% upper case pi (maths italic)
 \string<\glshex 1D6F2% upper case rho (maths italic)
 \string<\glshex 1D6F4% upper case sigma (maths italic)
 \string<\glshex 1D6F5% upper case tau (maths italic)
 \string<\glshex 1D6F6% upper case upsilon (maths italic)
 \string<\glshex 1D6F7% upper case phi (maths italic)
 \string<\glshex 1D6F8% upper case chi (maths italic)
 \string<\glshex 1D6F9% upper case psi (maths italic)
 \string<\glshex 1D6FA% upper case omega (maths italic)
}
\newcommand*{\glsxtrMathItalicUpperGreekIIrules}{%
 \glshex 1D6E2% upper case alpha (maths italic)
 \string<\glshex 1D6E3% upper case beta (maths italic)
 \string<\glshex 1D6E4% upper case gamma (maths italic)
 \string<\glshex 1D6E5% upper case delta (maths italic)
 \string<\glshex 1D6E6% upper case epsilon (maths italic)
 \string<\glshex 1D6E7% upper case zeta (maths italic)
 \string<\glshex 1D6E8% upper case eta (maths italic)
 \string<\glshex 1D6E9% upper case theta (maths italic)
 \string=\glshex 1D6F3% upper case theta variant (maths italic)
 \string<\glshex 1D6EA% upper case iota (maths italic)
 \string<\glshex 1D6EB% upper case kappa (maths italic)
 \string<\glshex 1D6EC% upper case lambda (maths italic)
 \string<\glshex 1D6ED% upper case mu (maths italic)
 \string<\glshex 1D6EE% upper case nu (maths italic)
 \string<\glshex 1D6EF% upper case xi (maths italic)
 \string<\glshex 1D6F0% upper case omicron (maths italic)
 \string<\glshex 1D6F1% upper case pi (maths italic)
 \string<\glshex 1D6F2% upper case rho (maths italic)
 \string<\glshex 1D6F4% upper case sigma (maths italic)
 \string<\glshex 1D6F5% upper case tau (maths italic)
 \string<\glshex 1D6F6% upper case upsilon (maths italic)
 \string<\glshex 1D6F7% upper case phi (maths italic)
 \string<\glshex 1D6F8% upper case chi (maths italic)
 \string<\glshex 1D6F9% upper case psi (maths italic)
 \string<\glshex 1D6FA% upper case omega (maths italic)
}
\newcommand*{\glsxtrMathItalicLowerGreekIrules}{%
 \glshex 1D6FC% lower case alpha (maths italic)
 \string<\glshex 1D6FD% lower case beta (maths italic)
 \string<\glshex 1D6FE% lower case gamma (maths italic)
 \string<\glshex 1D6FF% lower case delta (maths italic)
 \string<\glshex 1D700% lower case epsilon (maths italic)
 \string=\glshex 1D716% lower case epsilon variant (maths italic)
 \string<\glshex 03DD% lower case digamma
 \string<\glshex 1D701% lower case zeta (maths italic)
 \string<\glshex 1D702% lower case eta (maths italic)
 \string<\glshex 1D703% lower case theta (maths italic)
 \string=\glshex 1D717% lower case theta variant (maths italic)
 \string<\glshex 1D704% lower case iota (maths italic)
 \string<\glshex 1D705% lower case kappa (maths italic)
 \string=\glshex 1D718% lower case kappa variant (maths italic)
 \string<\glshex 1D706% lower case lambda (maths italic)
 \string<\glshex 1D707% lower case mu (maths italic)
 \string<\glshex 1D708% lower case nu (maths italic)
 \string<\glshex 1D709% lower case xi (maths italic)
 \string<\glshex 1D70A% lower case omicron (maths italic)
 \string<\glshex 1D70B% lower case pi (maths italic)
 \string=\glshex 1D71B% lower case pi variant (maths italic)
 \string<\glshex 1D70C% lower case rho (maths italic)
 \string=\glshex 1D71A% lower case rho variant (maths italic)
 \string<\glshex 1D70D% lower case final sigma (maths italic)
 \string=\glshex 1D70E% lower case sigma (maths italic)
 \string<\glshex 1D70F% lower case tau (maths italic)
 \string<\glshex 1D710% lower case upsilon (maths italic)
 \string<\glshex 1D711% lower case phi (maths italic)
 \string=\glshex 1D719% lower case phi variant (maths italic)
 \string<\glshex 1D712% lower case chi (maths italic)
 \string<\glshex 1D713% lower case psi (maths italic)
 \string<\glshex 1D714% lower case omega (maths italic)
}
\newcommand*{\glsxtrMathItalicLowerGreekIIrules}{%
 \glshex 1D6FC% lower case alpha (maths italic)
 \string<\glshex 1D6FD% lower case beta (maths italic)
 \string<\glshex 1D6FE% lower case gamma (maths italic)
 \string<\glshex 1D6FF% lower case delta (maths italic)
 \string<\glshex 1D700% lower case epsilon (maths italic)
 \string=\glshex 1D716% lower case epsilon variant (maths italic)
 \string<\glshex 1D701% lower case zeta (maths italic)
 \string<\glshex 1D702% lower case eta (maths italic)
 \string<\glshex 1D703% lower case theta (maths italic)
 \string=\glshex 1D717% lower case theta variant (maths italic)
 \string<\glshex 1D704% lower case iota (maths italic)
 \string<\glshex 1D705% lower case kappa (maths italic)
 \string=\glshex 1D718% lower case kappa variant (maths italic)
 \string<\glshex 1D706% lower case lambda (maths italic)
 \string<\glshex 1D707% lower case mu (maths italic)
 \string<\glshex 1D708% lower case nu (maths italic)
 \string<\glshex 1D709% lower case xi (maths italic)
 \string<\glshex 1D70A% lower case omicron (maths italic)
 \string<\glshex 1D70B% lower case pi (maths italic)
 \string=\glshex 1D71B% lower case pi variant (maths italic)
 \string<\glshex 1D70C% lower case rho (maths italic)
 \string=\glshex 1D71A% lower case rho variant (maths italic)
 \string<\glshex 1D70D% lower case final sigma (maths italic)
 \string=\glshex 1D70E% lower case sigma (maths italic)
 \string<\glshex 1D70F% lower case tau (maths italic)
 \string<\glshex 1D710% lower case upsilon (maths italic)
 \string<\glshex 1D711% lower case phi (maths italic)
 \string=\glshex 1D719% lower case phi variant (maths italic)
 \string<\glshex 1D712% lower case chi (maths italic)
 \string<\glshex 1D713% lower case psi (maths italic)
 \string<\glshex 1D714% lower case omega (maths italic)
}
\newcommand*{\glsxtrMathGreekIrules}{%
 \glsxtrMathItalicAlpha
 \string;\glsxtrUpAlpha
 \string<\glsxtrMathItalicBeta
 \string;\glsxtrUpBeta
 \string<\glsxtrMathItalicGamma
 \string;\glsxtrUpGamma
 \string<\glsxtrMathItalicDelta
 \string;\glsxtrUpDelta
 \string<\glsxtrMathItalicEpsilon
 \string;\glsxtrUpEpsilon
 \string<\glsxtrUpDigamma
 \string<\glsxtrMathItalicZeta
 \string;\glsxtrUpZeta
 \string<\glsxtrMathItalicEta
 \string;\glsxtrUpEta
 \string<\glsxtrMathItalicTheta
 \string;\glsxtrUpTheta
 \string<\glsxtrMathItalicIota
 \string;\glsxtrUpIota
 \string<\glsxtrMathItalicKappa
 \string;\glsxtrUpKappa
 \string<\glsxtrMathItalicLambda
 \string;\glsxtrUpLambda
 \string<\glsxtrMathItalicMu
 \string;\glsxtrUpMu
 \string<\glsxtrMathItalicNu
 \string;\glsxtrUpNu
 \string<\glsxtrMathItalicXi
 \string;\glsxtrUpXi
 \string<\glsxtrMathItalicOmicron
 \string;\glsxtrUpOmicron
 \string<\glsxtrMathItalicPi
 \string;\glsxtrUpPi
 \string<\glsxtrMathItalicRho
 \string;\glsxtrUpRho
 \string<\glsxtrMathItalicSigma
 \string;\glsxtrUpSigma
 \string<\glsxtrMathItalicTau
 \string;\glsxtrUpTau
 \string<\glsxtrMathItalicUpsilon
 \string;\glsxtrUpUpsilon
 \string<\glsxtrMathItalicPhi
 \string;\glsxtrUpPhi
 \string<\glsxtrMathItalicChi
 \string;\glsxtrUpChi
 \string<\glsxtrMathItalicPsi
 \string;\glsxtrUpPsi
 \string<\glsxtrMathItalicOmega
 \string;\glsxtrUpOmega
}
\newcommand*{\glsxtrMathGreekIIrules}{%
 \glsxtrMathItalicAlpha
 \string;\glsxtrUpAlpha
 \string<\glsxtrMathItalicBeta
 \string;\glsxtrUpBeta
 \string<\glsxtrMathItalicGamma
 \string;\glsxtrUpGamma
 \string<\glsxtrMathItalicDelta
 \string;\glsxtrUpDelta
 \string<\glsxtrMathItalicEpsilon
 \string;\glsxtrUpEpsilon
 \string<\glsxtrMathItalicZeta
 \string;\glsxtrUpZeta
 \string<\glsxtrMathItalicEta
 \string;\glsxtrUpEta
 \string<\glsxtrMathItalicTheta
 \string;\glsxtrUpTheta
 \string<\glsxtrMathItalicIota
 \string;\glsxtrUpIota
 \string<\glsxtrMathItalicKappa
 \string;\glsxtrUpKappa
 \string<\glsxtrMathItalicLambda
 \string;\glsxtrUpLambda
 \string<\glsxtrMathItalicMu
 \string;\glsxtrUpMu
 \string<\glsxtrMathItalicNu
 \string;\glsxtrUpNu
 \string<\glsxtrMathItalicXi
 \string;\glsxtrUpXi
 \string<\glsxtrMathItalicOmicron
 \string;\glsxtrUpOmicron
 \string<\glsxtrMathItalicPi
 \string;\glsxtrUpPi
 \string<\glsxtrMathItalicRho
 \string;\glsxtrUpRho
 \string<\glsxtrMathItalicSigma
 \string;\glsxtrUpSigma
 \string<\glsxtrMathItalicTau
 \string;\glsxtrUpTau
 \string<\glsxtrMathItalicUpsilon
 \string;\glsxtrUpUpsilon
 \string<\glsxtrMathItalicPhi
 \string;\glsxtrUpPhi
 \string<\glsxtrMathItalicChi
 \string;\glsxtrUpChi
 \string<\glsxtrMathItalicPsi
 \string;\glsxtrUpPsi
 \string<\glsxtrMathItalicOmega
 \string;\glsxtrUpOmega
}
\newcommand*{\glsxtrUpAlpha}{%
 \glshex 03B1,% lower case alpha
 \glshex 0391% upper case alpha
}
\newcommand*{\glsxtrUpBeta}{%
 \glshex 03B2,% lower case beta
 \glshex 0392% upper case beta
}
\newcommand*{\glsxtrUpGamma}{%
 \glshex 03B3,% lower case gamma
 \glshex 0393% upper case gamma
}
\newcommand*{\glsxtrUpDelta}{%
 \glshex 03B4,% lower case delta
 \glshex 0394% upper case delta
}
\newcommand*{\glsxtrUpEpsilon}{%
 \glshex 03B5% lower case epsilon
 \string=\glshex 03F5,% lower case epsilon variant
 \glshex 0395% upper case epsilon
}
\newcommand*{\glsxtrUpDigamma}{%
 \glshex 03DD,% lower case digamma
 \glshex 03DC% upper case digamma
}
\newcommand*{\glsxtrUpZeta}{%
 \glshex 03B6,% lower case zeta
 \glshex 0396% upper case zeta
}
\newcommand*{\glsxtrUpEta}{%
 \glshex 03B7,% lower case eta
 \glshex 0397% upper case eta
}
\newcommand*{\glsxtrUpTheta}{%
 \glshex 03B8% lower case theta
 \string=\glshex 03D1,% lower case theta variant
 \glshex 0398% upper case theta
}
\newcommand*{\glsxtrUpIota}{%
 \glshex 03B9,% lower case iota
 \glshex 0399% upper case iota
}
\newcommand*{\glsxtrUpKappa}{%
 \glshex 03BA% lower case kappa
 \string=\glshex 03F0,% lower case kappa variant
 \glshex 039A% upper case kappa
}
\newcommand*{\glsxtrUpLambda}{%
 \glshex 03BB,% lower lambda
 \glshex 039B% upper case lambda
}
\newcommand*{\glsxtrUpMu}{%
 \glshex 03BC,% lower case mu
 \glshex 039C% upper case mu
}
\newcommand*{\glsxtrUpNu}{%
 \glshex 03BD,% lower case nu
 \glshex 039D% upper case nu
}
\newcommand*{\glsxtrUpXi}{%
 \glshex 03BE,% lower case xi
 \glshex 039E% upper case xi
}
\newcommand*{\glsxtrUpOmicron}{%
 \glshex 03BF,% lower case omicron
 \glshex 039F% upper case omicron
}
\newcommand*{\glsxtrUpPi}{%
 \glshex 03C0% lower case pi
 \string=\glshex 03D6,% lower case pi variant
 \glshex 03A0% upper case pi
}
\newcommand*{\glsxtrUpRho}{%
 \glshex 03C1% lower case rho
 \string=\glshex 03F1,% lower case rho variant
 \glshex 03A1% upper case rho
}
\newcommand*{\glsxtrUpSigma}{%
 \glshex 03C2% lower case sigma
 \string=\glshex 03C3,% lower case sigma
 \glshex 03A3% upper case sigma
}
\newcommand*{\glsxtrUpTau}{%
 \glshex 03C4,% lower case tau
 \glshex 03A4% upper case tau
}
\newcommand*{\glsxtrUpUpsilon}{%
 \glshex 03C5,% lower case upsilon
 \glshex 03A5% upper case upsilon
}
\newcommand*{\glsxtrUpPhi}{%
 \glshex 03C6% lower case phi
 \string=\glshex 03D5,% lower case phi variant
 \glshex 03A6% upper case phi
}
\newcommand*{\glsxtrUpChi}{%
 \glshex 03C7,% lower case chi
 \glshex 03A7% upper case chi
}
\newcommand*{\glsxtrUpPsi}{%
 \glshex 03C8,% lower case psi
 \glshex 03A8% upper case psi
}
\newcommand*{\glsxtrUpOmega}{%
 \glshex 03C9,% lower case omega
 \glshex 03A9% upper case omega
}
\newcommand*{\glsxtrMathItalicAlpha}{%
 \glshex 1D6FC,% lower case alpha (maths italic)
 \glshex 1D6E2% upper case alpha (maths italic)
}
\newcommand*{\glsxtrMathItalicBeta}{%
 \glshex 1D6FD,% lower case beta (maths italic)
 \glshex 1D6E3% upper case beta (maths italic)
}
\newcommand*{\glsxtrMathItalicGamma}{%
 \glshex 1D6FE,% lower case gamma (maths italic)
 \glshex 1D6E4% upper case gamma (maths italic)
}
\newcommand*{\glsxtrMathItalicDelta}{%
 \glshex 1D6FF,% lower case delta (maths italic)
 \glshex 1D6E5% upper case delta (maths italic)
}
\newcommand*{\glsxtrMathItalicEpsilon}{%
 \glshex 1D700% lower case epsilon (maths italic)
 \string=\glshex 1D716,% lower case epsilon variant (maths italic)
 \glshex 1D6E6% upper case epsilon (maths italic)
}
\newcommand*{\glsxtrMathItalicZeta}{%
 \glshex 1D701,% lower case zeta (maths italic)
 \glshex 1D6E7% upper case zeta (maths italic)
}
\newcommand*{\glsxtrMathItalicEta}{%
 \glshex 1D702,% lower case eta (maths italic)
 \glshex 1D6E8% upper case eta (maths italic)
}
\newcommand*{\glsxtrMathItalicTheta}{%
 \glshex 1D703% lower case theta (maths italic)
 \string=\glshex 1D717,% lower case theta variant (maths italic)
 \glshex 1D6E9% upper case theta (maths italic)
 \string=\glshex 1D6F3% upper case theta variant (maths italic)
}
\newcommand*{\glsxtrMathItalicIota}{%
 \glshex 1D704,% lower case iota (maths italic)
 \glshex 1D6EA% upper case iota (maths italic)
}
\newcommand*{\glsxtrMathItalicKappa}{%
 \glshex 1D705% lower case kappa (maths italic)
 \string=\glshex 1D718,% lower case kappa variant (maths italic)
 \glshex 1D6EB% upper case kappa (maths italic)
}
\newcommand*{\glsxtrMathItalicLambda}{%
 \glshex 1D706,% lower case lambda (maths italic)
 \glshex 1D6EC% upper case lambda (maths italic)
}
\newcommand*{\glsxtrMathItalicMu}{%
 \glshex 1D707,% lower case mu (maths italic)
 \glshex 1D6ED% upper case mu (maths italic)
}
\newcommand*{\glsxtrMathItalicNu}{%
 \glshex 1D708,% lower case nu (maths italic)
 \glshex 1D6EE% upper case nu (maths italic)
}
\newcommand*{\glsxtrMathItalicXi}{%
 \glshex 1D709,% lower case xi (maths italic)
 \glshex 1D6EF% upper case xi (maths italic)
}
\newcommand*{\glsxtrMathItalicOmicron}{%
 \glshex 1D70A,% lower case omicron (maths italic)
 \glshex 1D6F0% upper case omicron (maths italic)
}
\newcommand*{\glsxtrMathItalicPi}{%
 \glshex 1D70B% lower case pi (maths italic)
 \string=\glshex 1D71B,% lower case pi variant (maths italic)
 \glshex 1D6F1% upper case pi (maths italic)
}
\newcommand*{\glsxtrMathItalicRho}{%
 \glshex 1D70C% lower case rho (maths italic)
 \string=\glshex 1D71A,% lower case rho variant (maths italic)
 \glshex 1D6F2% upper case rho (maths italic)
}
\newcommand*{\glsxtrMathItalicSigma}{%
 \glshex 1D70D% lower case final sigma (maths italic)
 \string=\glshex 1D70E,% lower case sigma (maths italic)
 \glshex 1D6F4% upper case sigma (maths italic)
}
\newcommand*{\glsxtrMathItalicTau}{%
 \glshex 1D70F,% lower case tau (maths italic)
 \glshex 1D6F5% upper case tau (maths italic)
}
\newcommand*{\glsxtrMathItalicUpsilon}{%
 \glshex 1D710,% lower case upsilon (maths italic)
 \glshex 1D6F6% upper case upsilon (maths italic)
}
\newcommand*{\glsxtrMathItalicPhi}{%
 \glshex 1D711% lower case phi (maths italic)
 \string=\glshex 1D719,% lower case phi variant (maths italic)
 \glshex 1D6F7% upper case phi (maths italic)
}
\newcommand*{\glsxtrMathItalicChi}{%
 \glshex 1D712,% lower case chi (maths italic)
 \glshex 1D6F8% upper case chi (maths italic)
}
\newcommand*{\glsxtrMathItalicPsi}{%
 \glshex 1D713,% lower case psi (maths italic)
 \glshex 1D6F9% upper case psi (maths italic)
}
\newcommand*{\glsxtrMathItalicOmega}{%
 \glshex 1D714,% lower case omega (maths italic)
 \glshex 1D6FA% upper case omega (maths italic)
}
\newcommand*{\glsxtrMathItalicPartial}{%
 \glshex 1D715% partial differential (maths italic)
}
\newcommand*{\glsxtrMathItalicNabla}{%
 \glshex 1D6FB% nabla (maths italic)
}
\newcommand*{\glsxtrdigitrules}{%
 0\string=\glshex 2080\string=\glshex 2070
 \string<1\string=\glshex 2081\string=\glshex 00B9
 \string<2\string=\glshex 2082\string=\glshex 00B2
 \string<3\string=\glshex 2083\string=\glshex 00B3
 \string<4\string=\glshex 2084\string=\glshex 2074
 \string<5\string=\glshex 2085\string=\glshex 2075
 \string<6\string=\glshex 2086\string=\glshex 2076
 \string<7\string=\glshex 2087\string=\glshex 2077
 \string<8\string=\glshex 2088\string=\glshex 2078
 \string<9\string=\glshex 2089\string=\glshex 2079
}
\newcommand*{\glsxtrBasicDigitrules}{%
 0\string<1\string<2\string<3\string<4%
 \string<5\string<6\string<7\string<8\string<9%
}
\newcommand*{\glsxtrSubScriptDigitrules}{%
 \glshex 2080% subscript 0
 \string<\glshex 2081% subscript 1
 \string<\glshex 2082% subscript 2
 \string<\glshex 2083% subscript 3
 \string<\glshex 2084% subscript 4
 \string<\glshex 2085% subscript 5
 \string<\glshex 2086% subscript 6
 \string<\glshex 2087% subscript 7
 \string<\glshex 2088% subscript 8
 \string<\glshex 2089% subscript 9
}
\newcommand*{\glsxtrSuperScriptDigitrules}{%
 \glshex 2070% superscript 0
 \string<\glshex 00B9% superscript 1
 \string<\glshex 00B2% superscript 2
 \string<\glshex 00B3% superscript 3
 \string<\glshex 2074% superscript 4
 \string<\glshex 2075% superscript 5
 \string<\glshex 2076% superscript 6
 \string<\glshex 2077% superscript 7
 \string<\glshex 2078% superscript 8
 \string<\glshex 2079% superscript 9
}
\newcommand*{\glsxtrfractionrules}{%
 \glshex 215F% fraction numerator one (1/)
 \string<\glshex 2189% zero thirds (0/3 = 0)
 \string<\glshex 2152% one tenth (1/10 = 0.1)
 \string<\glshex 2151% one ninth (1/9 ~ 0.111)
 \string<\glshex 215B% one eighth (1/8 = 0.125)
 \string<\glshex 2150% one seventh (1/7 ~ 0.143)
 \string<\glshex 2159% one sixth (1/6 ~ 0.167)
 \string<\glshex 2155% one fifth (1/5 = 0.2)
 \string<\glshex 00BC% one quarter (1/4 = 0.25)
 \string<\glshex 2153% one third (1/3 ~ 0.333)
 \string<\glshex 215C% three eighths (3/8 = 0.375)
 \string<\glshex 2156% two fifths (2/5 = 0.4)
 \string<\glshex 00BD% one half (1/2 = 0.5)
 \string<\glshex 2157% three fifths (3/5 = 0.6)
 \string<\glshex 215D% five eighths (5/8 = 0.625)
 \string<\glshex 2154% two thirds (2/3 ~ 0.667)
 \string<\glshex 00BE% three quarters (3/4 = 0.75)
 \string<\glshex 2158% four fifths (4/5 = 0.8)
 \string<\glshex 215A% five sixths (5/6 ~ 0.833)
 \string<\glshex 215E% seven eighths (7/8 = 0.875)
}
\renewcommand{\@glsxtrdialecthook}{%
  \ifundef\CurrentTrackedScript
  {%
    \TrackLangIfHasDefaultScript{\CurrentTrackedLanguage}%
    {%
     \edef\CurrentTrackedScript{%
       \TrackLangGetDefaultScript\CurrentTrackedLanguage}%
    }%
    {}%
  }%
  {}%
  \ifdef\CurrentTrackedScript
  {%
    \let\gls@orgTrackLangRequireDialectPrefix\TrackLangRequireDialectPrefix
    \def\TrackLangRequireDialectPrefix{glossariesxtr-}%
    \let\CurrentTrackedTag\CurrentTrackedScript
    \IfFileExists{\TrackLangRequireDialectPrefix\CurrentTrackedTag.ldf}
    {\RequireGlossariesExtraLang{\CurrentTrackedTag}}%
    {}%
    \let\TrackLangRequireDialectPrefix\gls@orgTrackLangRequireDialectPrefix
  }%
  {}%
}
\ifdef\glsxtr@loaddialect
{%
  \@ifpackageloaded{tracklang}
  {%
    \AnyTrackedLanguages
    {%
      \ForEachTrackedDialect{\this@dialect}{\glsxtr@loaddialect}%
    }%
    {}%
  }
  {}
}
{}
\endinput
%%
%% End of file `glossaries-extra-bib2gls.sty'.
