"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7448],{9533:function(e,t,r){r.d(t,{Ue:function(){return w}});var s=r(5751),n=r(2249),a=r(6200),l=r(6508),i=r(198),o=r(1066),u=r(666),c=r(5644),h=r(3770),f=r(3057);function d(e,t,r,s){Object.defineProperty(e,t,{get:r,set:s,enumerable:!0,configurable:!0})}function m(e){return e&&e.__esModule?e.default:e}var p={};d(p,"logErrors",()=>g),d(p,"registerFormat",()=>y),d(p,"create",()=>w),d(p,"defaultLanguage",()=>v),d(p,"setDefaultLanguage",()=>_);let g=!1,b=[];function y(e){b.push(e)}function w(e,t){for(let r=0;r0?t[0]:"value";if(r.has(n))return r.get(n);let a=e.apply(this,t);return r.set(n,a),a}return Object.defineProperty(this,t,{value:s}),s}}}}let C=new s.AU({firstCode:s.mL,entryCount:s.mL,idDelta:s.Af,idRangeOffset:s.mL}),x=new s.AU({startCharCode:s.U7,endCharCode:s.U7,glyphID:s.U7}),A=new s.AU({startUnicodeValue:s.Un,additionalCount:s.w_}),S=new s.AU({unicodeValue:s.Un,glyphID:s.mL}),k=new s.mJ(A,s.U7),I=new s.mJ(S,s.U7),P=new s.AU({varSelector:s.Un,defaultUVS:new s.$J(s.U7,k,{type:"parent"}),nonDefaultUVS:new s.$J(s.U7,I,{type:"parent"})}),U=new s.bS(s.mL,{0:{length:s.mL,language:s.mL,codeMap:new s.pW(s.w_,256)},2:{length:s.mL,language:s.mL,subHeaderKeys:new s.mJ(s.mL,256),subHeaderCount:e=>Math.max.apply(Math,e.subHeaderKeys),subHeaders:new s.pW(C,"subHeaderCount"),glyphIndexArray:new s.pW(s.mL,"subHeaderCount")},4:{length:s.mL,language:s.mL,segCountX2:s.mL,segCount:e=>e.segCountX2>>1,searchRange:s.mL,entrySelector:s.mL,rangeShift:s.mL,endCode:new s.pW(s.mL,"segCount"),reservedPad:new s.kV(s.mL),startCode:new s.pW(s.mL,"segCount"),idDelta:new s.pW(s.Af,"segCount"),idRangeOffset:new s.pW(s.mL,"segCount"),glyphIndexArray:new s.pW(s.mL,e=>(e.length-e._currentOffset)/2)},6:{length:s.mL,language:s.mL,firstCode:s.mL,entryCount:s.mL,glyphIndices:new s.pW(s.mL,"entryCount")},8:{reserved:new s.kV(s.mL),length:s.U7,language:s.mL,is32:new s.pW(s.w_,8192),nGroups:s.U7,groups:new s.pW(x,"nGroups")},10:{reserved:new s.kV(s.mL),length:s.U7,language:s.U7,firstCode:s.U7,entryCount:s.U7,glyphIndices:new s.pW(s.mL,"numChars")},12:{reserved:new s.kV(s.mL),length:s.U7,language:s.U7,nGroups:s.U7,groups:new s.pW(x,"nGroups")},13:{reserved:new s.kV(s.mL),length:s.U7,language:s.U7,nGroups:s.U7,groups:new s.pW(x,"nGroups")},14:{length:s.U7,numRecords:s.U7,varSelectors:new s.pW(P,"numRecords")}}),J=new s.AU({platformID:s.mL,encodingID:s.mL,table:new s.$J(s.U7,U,{type:"parent",lazy:!0})});var T=new s.AU({version:s.mL,numSubtables:s.mL,tables:new s.mJ(J,"numSubtables")}),O=new s.AU({version:s.LB,revision:s.LB,checkSumAdjustment:s.U7,magicNumber:s.U7,flags:s.mL,unitsPerEm:s.mL,created:new s.mJ(s.LB,2),modified:new s.mJ(s.LB,2),xMin:s.Af,yMin:s.Af,xMax:s.Af,yMax:s.Af,macStyle:new s.DL(s.mL,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:s.mL,fontDirectionHint:s.Af,indexToLocFormat:s.Af,glyphDataFormat:s.Af}),F=new s.AU({version:s.LB,ascent:s.Af,descent:s.Af,lineGap:s.Af,advanceWidthMax:s.mL,minLeftSideBearing:s.Af,minRightSideBearing:s.Af,xMaxExtent:s.Af,caretSlopeRise:s.Af,caretSlopeRun:s.Af,caretOffset:s.Af,reserved:new s.kV(s.Af,4),metricDataFormat:s.Af,numberOfMetrics:s.mL});let D=new s.AU({advance:s.mL,bearing:s.Af});var M=new s.AU({metrics:new s.pW(D,e=>e.parent.hhea.numberOfMetrics),bearings:new s.pW(s.Af,e=>e.parent.maxp.numGlyphs-e.parent.hhea.numberOfMetrics)}),G=new s.AU({version:s.LB,numGlyphs:s.mL,maxPoints:s.mL,maxContours:s.mL,maxComponentPoints:s.mL,maxComponentContours:s.mL,maxZones:s.mL,maxTwilightPoints:s.mL,maxStorage:s.mL,maxFunctionDefs:s.mL,maxInstructionDefs:s.mL,maxStackElements:s.mL,maxSizeOfInstructions:s.mL,maxComponentElements:s.mL,maxComponentDepth:s.mL});function B(e,t,r=0){return 1===e&&N[r]?N[r]:V[e][t]}let E=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),z={"x-mac-croatian":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc†\xb0\xa2\xa3\xa7•\xb6\xdf\xaeŠ™\xb4\xa8≠Ž\xd8∞\xb1≤≥∆\xb5∂∑∏š∫\xaa\xbaΩž\xf8\xbf\xa1\xac√ƒ≈Ć\xabČ… \xc0\xc3\xd5ŒœĐ—“”‘’\xf7◊\xa9⁄€‹›\xc6\xbb–\xb7‚„‰\xc2ć\xc1č\xc8\xcd\xce\xcf\xcc\xd3\xd4đ\xd2\xda\xdb\xd9ıˆ˜\xafπ\xcb˚\xb8\xca\xe6ˇ","x-mac-gaelic":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc†\xb0\xa2\xa3\xa7•\xb6\xdf\xae\xa9™\xb4\xa8≠\xc6\xd8Ḃ\xb1≤≥ḃĊċḊḋḞḟĠġṀ\xe6\xf8ṁṖṗɼƒſṠ\xab\xbb… \xc0\xc3\xd5Œœ–—“”‘’ṡẛ\xffŸṪ€‹›Ŷŷṫ\xb7Ỳỳ⁊\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4♣\xd2\xda\xdb\xd9ı\xdd\xfdŴŵẄẅẀẁẂẃ","x-mac-greek":"\xc4\xb9\xb2\xc9\xb3\xd6\xdc΅\xe0\xe2\xe4΄\xa8\xe7\xe9\xe8\xea\xeb\xa3™\xee\xef•\xbd‰\xf4\xf6\xa6€\xf9\xfb\xfc†ΓΔΘΛΞΠ\xdf\xae\xa9ΣΪ\xa7≠\xb0\xb7Α\xb1≤≥\xa5ΒΕΖΗΙΚΜΦΫΨΩάΝ\xacΟΡ≈Τ\xab\xbb… ΥΧΆΈœ–―“”‘’\xf7ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ\xad","x-mac-icelandic":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc\xdd\xb0\xa2\xa3\xa7•\xb6\xdf\xae\xa9™\xb4\xa8≠\xc6\xd8∞\xb1≤≥\xa5\xb5∂∑∏π∫\xaa\xbaΩ\xe6\xf8\xbf\xa1\xac√ƒ≈∆\xab\xbb… \xc0\xc3\xd5Œœ–—“”‘’\xf7◊\xffŸ⁄€\xd0\xf0\xde\xfe\xfd\xb7‚„‰\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ıˆ˜\xaf˘˙˚\xb8˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ\xb0ᒡᒥᒦ•\xb6ᒧ\xae\xa9™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"\xc4Āā\xc9Ą\xd6\xdc\xe1ąČ\xe4čĆć\xe9ŹźĎ\xedďĒēĖ\xf3ė\xf4\xf6\xf5\xfaĚě\xfc†\xb0Ę\xa3\xa7•\xb6\xdf\xae\xa9™ę\xa8≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņŃ\xac√ńŇ∆\xab\xbb… ňŐ\xd5őŌ–—“”‘’\xf7◊ōŔŕŘ‹›řŖŗŠ‚„šŚś\xc1Ťť\xcdŽžŪ\xd3\xd4ūŮ\xdaůŰűŲų\xdd\xfdķŻŁżĢˇ","x-mac-romanian":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc†\xb0\xa2\xa3\xa7•\xb6\xdf\xae\xa9™\xb4\xa8≠ĂȘ∞\xb1≤≥\xa5\xb5∂∑∏π∫\xaa\xbaΩăș\xbf\xa1\xac√ƒ≈∆\xab\xbb… \xc0\xc3\xd5Œœ–—“”‘’\xf7◊\xffŸ⁄€‹›Țț‡\xb7‚„‰\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ıˆ˜\xaf˘˙˚\xb8˝˛ˇ","x-mac-turkish":"\xc4\xc5\xc7\xc9\xd1\xd6\xdc\xe1\xe0\xe2\xe4\xe3\xe5\xe7\xe9\xe8\xea\xeb\xed\xec\xee\xef\xf1\xf3\xf2\xf4\xf6\xf5\xfa\xf9\xfb\xfc†\xb0\xa2\xa3\xa7•\xb6\xdf\xae\xa9™\xb4\xa8≠\xc6\xd8∞\xb1≤≥\xa5\xb5∂∑∏π∫\xaa\xbaΩ\xe6\xf8\xbf\xa1\xac√ƒ≈∆\xab\xbb… \xc0\xc3\xd5Œœ–—“”‘’\xf7◊\xffŸĞğİıŞş‡\xb7‚„‰\xc2\xca\xc1\xcb\xc8\xcd\xce\xcf\xcc\xd3\xd4\xd2\xda\xdb\xd9ˆ˜\xaf˘˙˚\xb8˝˛ˇ"},R=new Map,V=[["utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be"],["x-mac-roman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","x-mac-greek","x-mac-cyrillic","x-mac-symbol","x-mac-devanagari","x-mac-gurmukhi","x-mac-gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","iso-8859-11","Laotian","Georgian","Armenian","gbk","Tibetan","Mongolian","Geez","x-mac-ce","Vietnamese","Sindhi"],["ascii",null,"iso-8859-1"],["symbol","utf-16be","shift-jis","gb18030","big5","euc-kr","johab",null,null,null,"utf-16be"]],N={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"},q=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}],W=new s.AU({platformID:s.mL,encodingID:s.mL,languageID:s.mL,nameID:s.mL,length:s.mL,string:new s.$J(s.mL,new s.Ld("length",e=>B(e.platformID,e.encodingID,e.languageID)),{type:"parent",relativeTo:e=>e.parent.stringOffset,allowNull:!1})}),j=new s.AU({length:s.mL,tag:new s.$J(s.mL,new s.Ld("length","utf16be"),{type:"parent",relativeTo:e=>e.stringOffset})});var X=new s.bS(s.mL,{0:{count:s.mL,stringOffset:s.mL,records:new s.mJ(W,"count")},1:{count:s.mL,stringOffset:s.mL,records:new s.mJ(W,"count"),langTagCount:s.mL,langTags:new s.mJ(j,"langTagCount")}});let H=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];X.process=function(e){var t={};for(let e of this.records){let r=q[e.platformID][e.languageID];null==r&&null!=this.langTags&&e.languageID>=32768&&(r=this.langTags[e.languageID-32768].tag),null==r&&(r=e.platformID+"-"+e.languageID);let s=e.nameID>=256?"fontFeatures":H[e.nameID]||e.nameID;null==t[s]&&(t[s]={});let n=t[s];e.nameID>=256&&(n=n[e.nameID]||(n[e.nameID]={})),("string"==typeof e.string||"string"!=typeof n[r])&&(n[r]=e.string)}this.records=t},X.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let e=[];for(let t in this.records){let r=this.records[t];"fontFeatures"!==t&&(e.push({platformID:3,encodingID:1,languageID:1033,nameID:H.indexOf(t),length:2*r.en.length,string:r.en}),"postscriptName"===t&&e.push({platformID:1,encodingID:0,languageID:0,nameID:H.indexOf(t),length:r.en.length,string:r.en}))}this.records=e,this.count=e.length,this.stringOffset=X.size(this,null,!1)};var Y=new s.bS(s.mL,{header:{xAvgCharWidth:s.Af,usWeightClass:s.mL,usWidthClass:s.mL,fsType:new s.DL(s.mL,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:s.Af,ySubscriptYSize:s.Af,ySubscriptXOffset:s.Af,ySubscriptYOffset:s.Af,ySuperscriptXSize:s.Af,ySuperscriptYSize:s.Af,ySuperscriptXOffset:s.Af,ySuperscriptYOffset:s.Af,yStrikeoutSize:s.Af,yStrikeoutPosition:s.Af,sFamilyClass:s.Af,panose:new s.mJ(s.w_,10),ulCharRange:new s.mJ(s.U7,4),vendorID:new s.Ld(4),fsSelection:new s.DL(s.mL,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:s.mL,usLastCharIndex:s.mL},0:{},1:{typoAscender:s.Af,typoDescender:s.Af,typoLineGap:s.Af,winAscent:s.mL,winDescent:s.mL,codePageRange:new s.mJ(s.U7,2)},2:{typoAscender:s.Af,typoDescender:s.Af,typoLineGap:s.Af,winAscent:s.mL,winDescent:s.mL,codePageRange:new s.mJ(s.U7,2),xHeight:s.Af,capHeight:s.Af,defaultChar:s.mL,breakChar:s.mL,maxContent:s.mL},5:{typoAscender:s.Af,typoDescender:s.Af,typoLineGap:s.Af,winAscent:s.mL,winDescent:s.mL,codePageRange:new s.mJ(s.U7,2),xHeight:s.Af,capHeight:s.Af,defaultChar:s.mL,breakChar:s.mL,maxContent:s.mL,usLowerOpticalPointSize:s.mL,usUpperOpticalPointSize:s.mL}});let Z=Y.versions;Z[3]=Z[4]=Z[2];var $=new s.bS(s.E2,{header:{italicAngle:s.E2,underlinePosition:s.Af,underlineThickness:s.Af,isFixedPitch:s.U7,minMemType42:s.U7,maxMemType42:s.U7,minMemType1:s.U7,maxMemType1:s.U7},1:{},2:{numberOfGlyphs:s.mL,glyphNameIndex:new s.mJ(s.mL,"numberOfGlyphs"),names:new s.mJ(new s.Ld(s.w_))},2.5:{numberOfGlyphs:s.mL,offsets:new s.mJ(s.w_,"numberOfGlyphs")},3:{},4:{map:new s.mJ(s.U7,e=>e.parent.maxp.numGlyphs)}}),K=new s.AU({controlValues:new s.mJ(s.Af)}),Q=new s.AU({instructions:new s.mJ(s.w_)});let ee=new s.bS("head.indexToLocFormat",{0:{offsets:new s.mJ(s.mL)},1:{offsets:new s.mJ(s.U7)}});ee.process=function(){if(0===this.version&&!this._processed){for(let e=0;e>>=1;this._processed=!1}};var et=new s.AU({controlValueProgram:new s.mJ(s.w_)}),er=new s.mJ(new s.lW);class es{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,t){let r;let n=this.getCFFVersion(t)>=2?e.readUInt32BE():e.readUInt16BE();if(0===n)return[];let a=e.readUInt8();if(1===a)r=s.w_;else if(2===a)r=s.mL;else if(3===a)r=s.Un;else if(4===a)r=s.U7;else throw Error(`Bad offset size in CFFIndex: ${a} ${e.pos}`);let l=[],i=e.pos+(n+1)*a-1,o=r.decode(e);for(let s=0;s>4;if(15===s)break;t+=en[s];let n=15&r;if(15===n)break;t+=en[n]}return parseFloat(t)}return null}static size(e){return(e.forceLarge&&(e=32768),(0|e)!==e)?1+Math.ceil(((""+e).length+1)/2):-107<=e&&e<=107?1:108<=e&&e<=1131||-1131<=e&&e<=-108?2:-32768<=e&&e<=32767?3:5}static encode(e,t){let r=Number(t);if(t.forceLarge)return e.writeUInt8(29),e.writeInt32BE(r);if((0|r)!==r){e.writeUInt8(30);let t=""+r;for(let r=0;r>8)+247),e.writeUInt8(255&r);else if(-1131<=r&&r<=-108)return r=-r-108,e.writeUInt8((r>>8)+251),e.writeUInt8(255&r);else if(-32768<=r&&r<=32767)return e.writeUInt8(28),e.writeInt16BE(r);else return e.writeUInt8(29),e.writeInt32BE(r)}}class ei{decodeOperands(e,t,r,s){if(Array.isArray(e))return s.map((s,n)=>this.decodeOperands(e[n],t,r,[s]));if(null!=e.decode)return e.decode(t,r,s);switch(e){case"number":case"offset":case"sid":return s[0];case"boolean":return!!s[0];default:return s}}encodeOperands(e,t,r,s){return Array.isArray(e)?s.map((s,n)=>this.encodeOperands(e[n],t,r,s)[0]):null!=e.encode?e.encode(t,s,r):"number"==typeof s?[s]:"boolean"==typeof s?[+s]:Array.isArray(s)?s:[s]}decode(e,t){let r=e.pos+t.length,n={},a=[];for(let r in Object.defineProperties(n,{parent:{value:t},_startOffset:{value:e.pos}}),this.fields){let e=this.fields[r];n[e[1]]=e[3]}for(;e.posr[0]},super.decode(e,t,r)}encode(e,t,r){if(!e)return this.offsetType={size:()=>0},this.size(t,r),[new eu(0)];let s=null;return this.offsetType={encode:(e,t)=>s=t},super.encode(e,t,r),[new eu(s)]}constructor(e,t={}){null==t.type&&(t.type="global"),super(null,e,t)}}class eu{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}}class ec{static decode(e,t,r){let s=r.pop();for(;r.length>s;)r.pop()}}var eh=new ei([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",ec,null],[19,"Subrs",new eo(new es,{type:"local"}),null]]),ef=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];let ed=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],em=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","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","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],ep=new s.AU({reserved:new s.kV(s.mL),reqFeatureIndex:s.mL,featureCount:s.mL,featureIndexes:new s.mJ(s.mL,"featureCount")}),eg=new s.AU({tag:new s.Ld(4),langSys:new s.$J(s.mL,ep,{type:"parent"})}),eb=new s.AU({defaultLangSys:new s.$J(s.mL,ep),count:s.mL,langSysRecords:new s.mJ(eg,"count")}),ey=new s.AU({tag:new s.Ld(4),script:new s.$J(s.mL,eb,{type:"parent"})}),ew=new s.mJ(ey,s.mL),ev=new s.AU({version:s.mL,nameID:s.mL}),e_=new s.AU({featureParams:new s.$J(s.mL,ev),lookupCount:s.mL,lookupListIndexes:new s.mJ(s.mL,"lookupCount")}),eL=new s.AU({tag:new s.Ld(4),feature:new s.$J(s.mL,e_,{type:"parent"})}),eC=new s.mJ(eL,s.mL),ex=new s.AU({markAttachmentType:s.w_,flags:new s.DL(s.w_,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function eA(e){let t=new s.AU({lookupType:s.mL,flags:ex,subTableCount:s.mL,subTables:new s.mJ(new s.$J(s.mL,e),"subTableCount"),markFilteringSet:new s.Fi(s.mL,e=>e.flags.flags.useMarkFilteringSet)});return new s.pW(new s.$J(s.mL,t),s.mL)}let eS=new s.AU({start:s.mL,end:s.mL,startCoverageIndex:s.mL}),ek=new s.bS(s.mL,{1:{glyphCount:s.mL,glyphs:new s.mJ(s.mL,"glyphCount")},2:{rangeCount:s.mL,rangeRecords:new s.mJ(eS,"rangeCount")}}),eI=new s.AU({start:s.mL,end:s.mL,class:s.mL}),eP=new s.bS(s.mL,{1:{startGlyph:s.mL,glyphCount:s.mL,classValueArray:new s.mJ(s.mL,"glyphCount")},2:{classRangeCount:s.mL,classRangeRecord:new s.mJ(eI,"classRangeCount")}}),eU=new s.AU({a:s.mL,b:s.mL,deltaFormat:s.mL}),eJ=new s.AU({sequenceIndex:s.mL,lookupListIndex:s.mL}),eT=new s.AU({glyphCount:s.mL,lookupCount:s.mL,input:new s.mJ(s.mL,e=>e.glyphCount-1),lookupRecords:new s.mJ(eJ,"lookupCount")}),eO=new s.mJ(new s.$J(s.mL,eT),s.mL),eF=new s.AU({glyphCount:s.mL,lookupCount:s.mL,classes:new s.mJ(s.mL,e=>e.glyphCount-1),lookupRecords:new s.mJ(eJ,"lookupCount")}),eD=new s.mJ(new s.$J(s.mL,eF),s.mL),eM=new s.bS(s.mL,{1:{coverage:new s.$J(s.mL,ek),ruleSetCount:s.mL,ruleSets:new s.mJ(new s.$J(s.mL,eO),"ruleSetCount")},2:{coverage:new s.$J(s.mL,ek),classDef:new s.$J(s.mL,eP),classSetCnt:s.mL,classSet:new s.mJ(new s.$J(s.mL,eD),"classSetCnt")},3:{glyphCount:s.mL,lookupCount:s.mL,coverages:new s.mJ(new s.$J(s.mL,ek),"glyphCount"),lookupRecords:new s.mJ(eJ,"lookupCount")}}),eG=new s.AU({backtrackGlyphCount:s.mL,backtrack:new s.mJ(s.mL,"backtrackGlyphCount"),inputGlyphCount:s.mL,input:new s.mJ(s.mL,e=>e.inputGlyphCount-1),lookaheadGlyphCount:s.mL,lookahead:new s.mJ(s.mL,"lookaheadGlyphCount"),lookupCount:s.mL,lookupRecords:new s.mJ(eJ,"lookupCount")}),eB=new s.mJ(new s.$J(s.mL,eG),s.mL),eE=new s.bS(s.mL,{1:{coverage:new s.$J(s.mL,ek),chainCount:s.mL,chainRuleSets:new s.mJ(new s.$J(s.mL,eB),"chainCount")},2:{coverage:new s.$J(s.mL,ek),backtrackClassDef:new s.$J(s.mL,eP),inputClassDef:new s.$J(s.mL,eP),lookaheadClassDef:new s.$J(s.mL,eP),chainCount:s.mL,chainClassSet:new s.mJ(new s.$J(s.mL,eB),"chainCount")},3:{backtrackGlyphCount:s.mL,backtrackCoverage:new s.mJ(new s.$J(s.mL,ek),"backtrackGlyphCount"),inputGlyphCount:s.mL,inputCoverage:new s.mJ(new s.$J(s.mL,ek),"inputGlyphCount"),lookaheadGlyphCount:s.mL,lookaheadCoverage:new s.mJ(new s.$J(s.mL,ek),"lookaheadGlyphCount"),lookupCount:s.mL,lookupRecords:new s.mJ(eJ,"lookupCount")}}),ez=new s.gb(16,"BE",14),eR=new s.AU({startCoord:ez,peakCoord:ez,endCoord:ez}),eV=new s.AU({axisCount:s.mL,regionCount:s.mL,variationRegions:new s.mJ(new s.mJ(eR,"axisCount"),"regionCount")}),eN=new s.AU({shortDeltas:new s.mJ(s.Af,e=>e.parent.shortDeltaCount),regionDeltas:new s.mJ(s.cS,e=>e.parent.regionIndexCount-e.parent.shortDeltaCount),deltas:e=>e.shortDeltas.concat(e.regionDeltas)}),eq=new s.AU({itemCount:s.mL,shortDeltaCount:s.mL,regionIndexCount:s.mL,regionIndexes:new s.mJ(s.mL,"regionIndexCount"),deltaSets:new s.mJ(eN,"itemCount")}),eW=new s.AU({format:s.mL,variationRegionList:new s.$J(s.U7,eV),variationDataCount:s.mL,itemVariationData:new s.mJ(new s.$J(s.U7,eq),"variationDataCount")}),ej=new s.bS(s.mL,{1:{axisIndex:s.mL,axisIndex:s.mL,filterRangeMinValue:ez,filterRangeMaxValue:ez}}),eX=new s.AU({conditionCount:s.mL,conditionTable:new s.mJ(new s.$J(s.U7,ej),"conditionCount")}),eH=new s.AU({featureIndex:s.mL,alternateFeatureTable:new s.$J(s.U7,e_,{type:"parent"})}),eY=new s.AU({version:s.E2,substitutionCount:s.mL,substitutions:new s.mJ(eH,"substitutionCount")}),eZ=new s.AU({conditionSet:new s.$J(s.U7,eX,{type:"parent"}),featureTableSubstitution:new s.$J(s.U7,eY,{type:"parent"})}),e$=new s.AU({majorVersion:s.mL,minorVersion:s.mL,featureVariationRecordCount:s.U7,featureVariationRecords:new s.mJ(eZ,"featureVariationRecordCount")});class eK{decode(e,t,r){return this.predefinedOps[r[0]]?this.predefinedOps[r[0]]:this.type.decode(e,t,r)}size(e,t){return this.type.size(e,t)}encode(e,t,r){let s=this.predefinedOps.indexOf(t);return -1!==s?s:this.type.encode(e,t,r)}constructor(e,t){this.predefinedOps=e,this.type=t}}class eQ extends s.Mr{decode(e){return 127&s.w_.decode(e)}constructor(){super("UInt8")}}let e0=new s.AU({first:s.mL,nLeft:s.w_}),e1=new s.AU({first:s.mL,nLeft:s.mL}),e2=new eK([ed,["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"]],new eo(new s.bS(new eQ,{0:{nCodes:s.w_,codes:new s.mJ(s.w_,"nCodes")},1:{nRanges:s.w_,ranges:new s.mJ(e0,"nRanges")}}),{lazy:!0}));class e3 extends s.mJ{decode(e,t){let r=(0,s.dB)(this.length,e,t),n=0,a=[];for(;ne.parent.CharStrings.length-1)},1:{ranges:new e3(e0,e=>e.parent.CharStrings.length-1)},2:{ranges:new e3(e1,e=>e.parent.CharStrings.length-1)}}),{lazy:!0})),e5=new s.AU({first:s.mL,fd:s.w_}),e7=new s.AU({first:s.U7,fd:s.mL}),e6=new s.bS(s.w_,{0:{fds:new s.mJ(s.w_,e=>e.parent.CharStrings.length)},3:{nRanges:s.mL,ranges:new s.mJ(e5,"nRanges"),sentinel:s.mL},4:{nRanges:s.U7,ranges:new s.mJ(e7,"nRanges"),sentinel:s.U7}}),e8=new eo(eh);class e9{decode(e,t,r){return t.length=r[0],e8.decode(e,t,[r[1]])}size(e,t){return[eh.size(e,t,!1),e8.size(e,t)[0]]}encode(e,t,r){return[eh.size(t,r,!1),e8.encode(e,t,r)[0]]}}let te=new ei([[18,"Private",new e9,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),tt=new ei([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",e4,em],[16,"Encoding",e2,ed],[17,"CharStrings",new eo(new es),null],[18,"Private",new e9,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new eo(e6),null],[[12,36],"FDArray",new eo(new es(te)),null],[[12,38],"FontName","sid",null]]),tr=new s.AU({length:s.mL,itemVariationStore:eW}),ts=new ei([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new eo(new es),null],[[12,37],"FDSelect",new eo(e6),null],[[12,36],"FDArray",new eo(new es(te)),null],[24,"vstore",new eo(tr),null],[25,"maxstack","number",193]]),tn=new s.bS(s.gl,{1:{hdrSize:s.w_,offSize:s.w_,nameIndex:new es(new s.Ld("length")),topDictIndex:new es(tt),stringIndex:new es(new s.Ld("length")),globalSubrIndex:new es},2:{hdrSize:s.w_,length:s.mL,topDict:ts,globalSubrIndex:new es}});class ta{static decode(e){return new ta(e)}decode(){this.stream.pos;let e=tn.decode(this.stream);for(let t in e){let r=e[t];this[t]=r}if(this.version<2){if(1!==this.topDictIndex.length)throw Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=null!=this.topDict.ROS,this}string(e){return this.version>=2?null:e=2||this.isCIDFont)return null;let{charset:t}=this.topDict;if(Array.isArray(t))return t[e];if(0===e)return".notdef";switch(e-=1,t.version){case 0:return this.string(t.glyphs[e]);case 1:case 2:for(let r=0;r>1;if(e=t[n+1].first))return t[n].fd;r=n+1}}default:throw Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(e){if(this.topDict.FDSelect){let t=this.fdForGlyph(e);return this.topDict.FDArray[t]?this.topDict.FDArray[t].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(e){this.stream=e,this.decode()}}let tl=new s.AU({glyphIndex:s.mL,vertOriginY:s.Af});var ti=new s.AU({majorVersion:s.mL,minorVersion:s.mL,defaultVertOriginY:s.Af,numVertOriginYMetrics:s.mL,metrics:new s.mJ(tl,"numVertOriginYMetrics")});let to=new s.AU({height:s.w_,width:s.w_,horiBearingX:s.cS,horiBearingY:s.cS,horiAdvance:s.w_,vertBearingX:s.cS,vertBearingY:s.cS,vertAdvance:s.w_}),tu=new s.AU({height:s.w_,width:s.w_,bearingX:s.cS,bearingY:s.cS,advance:s.w_}),tc=new s.AU({glyph:s.mL,xOffset:s.cS,yOffset:s.cS});class th{}class tf{}new s.bS("version",{1:{metrics:tu,data:th},2:{metrics:tu,data:tf},5:{data:tf},6:{metrics:to,data:th},7:{metrics:to,data:tf},8:{metrics:tu,pad:new s.kV(s.w_),numComponents:s.mL,components:new s.mJ(tc,"numComponents")},9:{metrics:to,pad:new s.kV(s.w_),numComponents:s.mL,components:new s.mJ(tc,"numComponents")},17:{metrics:tu,dataLen:s.U7,data:new s.lW("dataLen")},18:{metrics:to,dataLen:s.U7,data:new s.lW("dataLen")},19:{dataLen:s.U7,data:new s.lW("dataLen")}});let td=new s.AU({ascender:s.cS,descender:s.cS,widthMax:s.w_,caretSlopeNumerator:s.cS,caretSlopeDenominator:s.cS,caretOffset:s.cS,minOriginSB:s.cS,minAdvanceSB:s.cS,maxBeforeBL:s.cS,minAfterBL:s.cS,pad:new s.kV(s.cS,2)}),tm=new s.AU({glyphCode:s.mL,offset:s.mL}),tp=new s.bS(s.mL,{header:{imageFormat:s.mL,imageDataOffset:s.U7},1:{offsetArray:new s.mJ(s.U7,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},2:{imageSize:s.U7,bigMetrics:to},3:{offsetArray:new s.mJ(s.mL,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},4:{numGlyphs:s.U7,glyphArray:new s.mJ(tm,e=>e.numGlyphs+1)},5:{imageSize:s.U7,bigMetrics:to,numGlyphs:s.U7,glyphCodeArray:new s.mJ(s.mL,"numGlyphs")}}),tg=new s.AU({firstGlyphIndex:s.mL,lastGlyphIndex:s.mL,subtable:new s.$J(s.U7,tp)}),tb=new s.AU({indexSubTableArray:new s.$J(s.U7,new s.mJ(tg,1),{type:"parent"}),indexTablesSize:s.U7,numberOfIndexSubTables:s.U7,colorRef:s.U7,hori:td,vert:td,startGlyphIndex:s.mL,endGlyphIndex:s.mL,ppemX:s.w_,ppemY:s.w_,bitDepth:s.w_,flags:new s.DL(s.w_,["horizontal","vertical"])});var ty=new s.AU({version:s.U7,numSizes:s.U7,sizes:new s.mJ(tb,"numSizes")});let tw=new s.AU({ppem:s.mL,resolution:s.mL,imageOffsets:new s.mJ(new s.$J(s.U7,"void"),e=>e.parent.parent.maxp.numGlyphs+1)});var tv=new s.AU({version:s.mL,flags:new s.DL(s.mL,["renderOutlines"]),numImgTables:s.U7,imageTables:new s.mJ(new s.$J(s.U7,tw),"numImgTables")});let t_=new s.AU({gid:s.mL,paletteIndex:s.mL}),tL=new s.AU({gid:s.mL,firstLayerIndex:s.mL,numLayers:s.mL});var tC=new s.AU({version:s.mL,numBaseGlyphRecords:s.mL,baseGlyphRecord:new s.$J(s.U7,new s.mJ(tL,"numBaseGlyphRecords")),layerRecords:new s.$J(s.U7,new s.mJ(t_,"numLayerRecords"),{lazy:!0}),numLayerRecords:s.mL});let tx=new s.AU({blue:s.w_,green:s.w_,red:s.w_,alpha:s.w_});var tA=new s.bS(s.mL,{header:{numPaletteEntries:s.mL,numPalettes:s.mL,numColorRecords:s.mL,colorRecords:new s.$J(s.U7,new s.mJ(tx,"numColorRecords")),colorRecordIndices:new s.mJ(s.mL,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new s.$J(s.U7,new s.mJ(s.U7,"numPalettes")),offsetPaletteLabelArray:new s.$J(s.U7,new s.mJ(s.mL,"numPalettes")),offsetPaletteEntryLabelArray:new s.$J(s.U7,new s.mJ(s.mL,"numPaletteEntries"))}});let tS=new s.bS(s.mL,{1:{coordinate:s.Af},2:{coordinate:s.Af,referenceGlyph:s.mL,baseCoordPoint:s.mL},3:{coordinate:s.Af,deviceTable:new s.$J(s.mL,eU)}}),tk=new s.AU({defaultIndex:s.mL,baseCoordCount:s.mL,baseCoords:new s.mJ(new s.$J(s.mL,tS),"baseCoordCount")}),tI=new s.AU({tag:new s.Ld(4),minCoord:new s.$J(s.mL,tS,{type:"parent"}),maxCoord:new s.$J(s.mL,tS,{type:"parent"})}),tP=new s.AU({minCoord:new s.$J(s.mL,tS),maxCoord:new s.$J(s.mL,tS),featMinMaxCount:s.mL,featMinMaxRecords:new s.mJ(tI,"featMinMaxCount")}),tU=new s.AU({tag:new s.Ld(4),minMax:new s.$J(s.mL,tP,{type:"parent"})}),tJ=new s.AU({baseValues:new s.$J(s.mL,tk),defaultMinMax:new s.$J(s.mL,tP),baseLangSysCount:s.mL,baseLangSysRecords:new s.mJ(tU,"baseLangSysCount")}),tT=new s.AU({tag:new s.Ld(4),script:new s.$J(s.mL,tJ,{type:"parent"})}),tO=new s.mJ(tT,s.mL),tF=new s.mJ(new s.Ld(4),s.mL),tD=new s.AU({baseTagList:new s.$J(s.mL,tF),baseScriptList:new s.$J(s.mL,tO)});var tM=new s.bS(s.U7,{header:{horizAxis:new s.$J(s.mL,tD),vertAxis:new s.$J(s.mL,tD)},65536:{},65537:{itemVariationStore:new s.$J(s.U7,eW)}});let tG=new s.mJ(s.mL,s.mL),tB=new s.AU({coverage:new s.$J(s.mL,ek),glyphCount:s.mL,attachPoints:new s.mJ(new s.$J(s.mL,tG),"glyphCount")}),tE=new s.bS(s.mL,{1:{coordinate:s.Af},2:{caretValuePoint:s.mL},3:{coordinate:s.Af,deviceTable:new s.$J(s.mL,eU)}}),tz=new s.mJ(new s.$J(s.mL,tE),s.mL),tR=new s.AU({coverage:new s.$J(s.mL,ek),ligGlyphCount:s.mL,ligGlyphs:new s.mJ(new s.$J(s.mL,tz),"ligGlyphCount")}),tV=new s.AU({markSetTableFormat:s.mL,markSetCount:s.mL,coverage:new s.mJ(new s.$J(s.U7,ek),"markSetCount")});var tN=new s.bS(s.U7,{header:{glyphClassDef:new s.$J(s.mL,eP),attachList:new s.$J(s.mL,tB),ligCaretList:new s.$J(s.mL,tR),markAttachClassDef:new s.$J(s.mL,eP)},65536:{},65538:{markGlyphSetsDef:new s.$J(s.mL,tV)},65539:{markGlyphSetsDef:new s.$J(s.mL,tV),itemVariationStore:new s.$J(s.U7,eW)}});let tq=new s.DL(s.mL,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),tW={xPlacement:s.Af,yPlacement:s.Af,xAdvance:s.Af,yAdvance:s.Af,xPlaDevice:new s.$J(s.mL,eU,{type:"global",relativeTo:e=>e.rel}),yPlaDevice:new s.$J(s.mL,eU,{type:"global",relativeTo:e=>e.rel}),xAdvDevice:new s.$J(s.mL,eU,{type:"global",relativeTo:e=>e.rel}),yAdvDevice:new s.$J(s.mL,eU,{type:"global",relativeTo:e=>e.rel})};class tj{buildStruct(e){let t=e;for(;!t[this.key]&&t.parent;)t=t.parent;if(!t[this.key])return;let r={};r.rel=()=>t._startOffset;let n=t[this.key];for(let e in n)n[e]&&(r[e]=tW[e]);return new s.AU(r)}size(e,t){return this.buildStruct(t).size(e,t)}decode(e,t){let r=this.buildStruct(t).decode(e,t);return delete r.rel,r}constructor(e="valueFormat"){this.key=e}}let tX=new s.AU({secondGlyph:s.mL,value1:new tj("valueFormat1"),value2:new tj("valueFormat2")}),tH=new s.mJ(tX,s.mL),tY=new s.AU({value1:new tj("valueFormat1"),value2:new tj("valueFormat2")}),tZ=new s.bS(s.mL,{1:{xCoordinate:s.Af,yCoordinate:s.Af},2:{xCoordinate:s.Af,yCoordinate:s.Af,anchorPoint:s.mL},3:{xCoordinate:s.Af,yCoordinate:s.Af,xDeviceTable:new s.$J(s.mL,eU),yDeviceTable:new s.$J(s.mL,eU)}}),t$=new s.AU({entryAnchor:new s.$J(s.mL,tZ,{type:"parent"}),exitAnchor:new s.$J(s.mL,tZ,{type:"parent"})}),tK=new s.AU({class:s.mL,markAnchor:new s.$J(s.mL,tZ,{type:"parent"})}),tQ=new s.mJ(tK,s.mL),t0=new s.mJ(new s.$J(s.mL,tZ),e=>e.parent.classCount),t1=new s.mJ(t0,s.mL),t2=new s.mJ(new s.$J(s.mL,tZ),e=>e.parent.parent.classCount),t3=new s.mJ(t2,s.mL),t4=new s.mJ(new s.$J(s.mL,t3),s.mL),t5=new s.bS("lookupType",{1:new s.bS(s.mL,{1:{coverage:new s.$J(s.mL,ek),valueFormat:tq,value:new tj},2:{coverage:new s.$J(s.mL,ek),valueFormat:tq,valueCount:s.mL,values:new s.pW(new tj,"valueCount")}}),2:new s.bS(s.mL,{1:{coverage:new s.$J(s.mL,ek),valueFormat1:tq,valueFormat2:tq,pairSetCount:s.mL,pairSets:new s.pW(new s.$J(s.mL,tH),"pairSetCount")},2:{coverage:new s.$J(s.mL,ek),valueFormat1:tq,valueFormat2:tq,classDef1:new s.$J(s.mL,eP),classDef2:new s.$J(s.mL,eP),class1Count:s.mL,class2Count:s.mL,classRecords:new s.pW(new s.pW(tY,"class2Count"),"class1Count")}}),3:{format:s.mL,coverage:new s.$J(s.mL,ek),entryExitCount:s.mL,entryExitRecords:new s.mJ(t$,"entryExitCount")},4:{format:s.mL,markCoverage:new s.$J(s.mL,ek),baseCoverage:new s.$J(s.mL,ek),classCount:s.mL,markArray:new s.$J(s.mL,tQ),baseArray:new s.$J(s.mL,t1)},5:{format:s.mL,markCoverage:new s.$J(s.mL,ek),ligatureCoverage:new s.$J(s.mL,ek),classCount:s.mL,markArray:new s.$J(s.mL,tQ),ligatureArray:new s.$J(s.mL,t4)},6:{format:s.mL,mark1Coverage:new s.$J(s.mL,ek),mark2Coverage:new s.$J(s.mL,ek),classCount:s.mL,mark1Array:new s.$J(s.mL,tQ),mark2Array:new s.$J(s.mL,t1)},7:eM,8:eE,9:{posFormat:s.mL,lookupType:s.mL,extension:new s.$J(s.U7,null)}});t5.versions[9].extension.type=t5;var t7=new s.bS(s.U7,{header:{scriptList:new s.$J(s.mL,ew),featureList:new s.$J(s.mL,eC),lookupList:new s.$J(s.mL,new eA(t5))},65536:{},65537:{featureVariations:new s.$J(s.U7,e$)}});let t6=new s.mJ(s.mL,s.mL),t8=new s.AU({glyph:s.mL,compCount:s.mL,components:new s.mJ(s.mL,e=>e.compCount-1)}),t9=new s.mJ(new s.$J(s.mL,t8),s.mL),re=new s.bS("lookupType",{1:new s.bS(s.mL,{1:{coverage:new s.$J(s.mL,ek),deltaGlyphID:s.Af},2:{coverage:new s.$J(s.mL,ek),glyphCount:s.mL,substitute:new s.pW(s.mL,"glyphCount")}}),2:{substFormat:s.mL,coverage:new s.$J(s.mL,ek),count:s.mL,sequences:new s.pW(new s.$J(s.mL,t6),"count")},3:{substFormat:s.mL,coverage:new s.$J(s.mL,ek),count:s.mL,alternateSet:new s.pW(new s.$J(s.mL,t6),"count")},4:{substFormat:s.mL,coverage:new s.$J(s.mL,ek),count:s.mL,ligatureSets:new s.pW(new s.$J(s.mL,t9),"count")},5:eM,6:eE,7:{substFormat:s.mL,lookupType:s.mL,extension:new s.$J(s.U7,null)},8:{substFormat:s.mL,coverage:new s.$J(s.mL,ek),backtrackCoverage:new s.mJ(new s.$J(s.mL,ek),"backtrackGlyphCount"),lookaheadGlyphCount:s.mL,lookaheadCoverage:new s.mJ(new s.$J(s.mL,ek),"lookaheadGlyphCount"),glyphCount:s.mL,substitutes:new s.mJ(s.mL,"glyphCount")}});re.versions[7].extension.type=re;var rt=new s.bS(s.U7,{header:{scriptList:new s.$J(s.mL,ew),featureList:new s.$J(s.mL,eC),lookupList:new s.$J(s.mL,new eA(re))},65536:{},65537:{featureVariations:new s.$J(s.U7,e$)}});let rr=new s.mJ(s.mL,s.mL),rs=new s.AU({shrinkageEnableGSUB:new s.$J(s.mL,rr),shrinkageDisableGSUB:new s.$J(s.mL,rr),shrinkageEnableGPOS:new s.$J(s.mL,rr),shrinkageDisableGPOS:new s.$J(s.mL,rr),shrinkageJstfMax:new s.$J(s.mL,new eA(t5)),extensionEnableGSUB:new s.$J(s.mL,rr),extensionDisableGSUB:new s.$J(s.mL,rr),extensionEnableGPOS:new s.$J(s.mL,rr),extensionDisableGPOS:new s.$J(s.mL,rr),extensionJstfMax:new s.$J(s.mL,new eA(t5))}),rn=new s.mJ(new s.$J(s.mL,rs),s.mL),ra=new s.AU({tag:new s.Ld(4),jstfLangSys:new s.$J(s.mL,rn)}),rl=new s.AU({extenderGlyphs:new s.$J(s.mL,new s.mJ(s.mL,s.mL)),defaultLangSys:new s.$J(s.mL,rn),langSysCount:s.mL,langSysRecords:new s.mJ(ra,"langSysCount")}),ri=new s.AU({tag:new s.Ld(4),script:new s.$J(s.mL,rl,{type:"parent"})});var ro=new s.AU({version:s.U7,scriptCount:s.mL,scriptList:new s.mJ(ri,"scriptCount")});class ru{decode(e,t){switch(this.size(0,t)){case 1:return e.readUInt8();case 2:return e.readUInt16BE();case 3:return e.readUInt24BE();case 4:return e.readUInt32BE()}}size(e,t){return(0,s.dB)(this._size,null,t)}constructor(e){this._size=e}}let rc=new s.AU({entry:new ru(e=>((48&e.parent.entryFormat)>>4)+1),outerIndex:e=>e.entry>>(15&e.parent.entryFormat)+1,innerIndex:e=>e.entry&(1<<(15&e.parent.entryFormat)+1)-1}),rh=new s.AU({entryFormat:s.mL,mapCount:s.mL,mapData:new s.mJ(rc,"mapCount")});var rf=new s.AU({majorVersion:s.mL,minorVersion:s.mL,itemVariationStore:new s.$J(s.U7,eW),advanceWidthMapping:new s.$J(s.U7,rh),LSBMapping:new s.$J(s.U7,rh),RSBMapping:new s.$J(s.U7,rh)});let rd=new s.AU({format:s.U7,length:s.U7,offset:s.U7}),rm=new s.AU({reserved:new s.kV(s.mL,2),cbSignature:s.U7,signature:new s.lW("cbSignature")});var rp=new s.AU({ulVersion:s.U7,usNumSigs:s.mL,usFlag:s.mL,signatures:new s.mJ(rd,"usNumSigs"),signatureBlocks:new s.mJ(rm,"usNumSigs")});let rg=new s.AU({rangeMaxPPEM:s.mL,rangeGaspBehavior:new s.DL(s.mL,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])});var rb=new s.AU({version:s.mL,numRanges:s.mL,gaspRanges:new s.mJ(rg,"numRanges")});let ry=new s.AU({pixelSize:s.w_,maximumWidth:s.w_,widths:new s.mJ(s.w_,e=>e.parent.parent.maxp.numGlyphs)});var rw=new s.AU({version:s.mL,numRecords:s.Af,sizeDeviceRecord:s.LB,records:new s.mJ(ry,"numRecords")});let rv=new s.AU({left:s.mL,right:s.mL,value:s.Af}),r_=new s.AU({firstGlyph:s.mL,nGlyphs:s.mL,offsets:new s.mJ(s.mL,"nGlyphs"),max:e=>e.offsets.length&&Math.max.apply(Math,e.offsets)}),rL=new s.AU({off:e=>e._startOffset-e.parent.parent._startOffset,len:e=>((e.parent.leftTable.max-e.off)/e.parent.rowWidth+1)*(e.parent.rowWidth/2),values:new s.pW(s.Af,"len")}),rC=new s.bS("format",{0:{nPairs:s.mL,searchRange:s.mL,entrySelector:s.mL,rangeShift:s.mL,pairs:new s.mJ(rv,"nPairs")},2:{rowWidth:s.mL,leftTable:new s.$J(s.mL,r_,{type:"parent"}),rightTable:new s.$J(s.mL,r_,{type:"parent"}),array:new s.$J(s.mL,rL,{type:"parent"})},3:{glyphCount:s.mL,kernValueCount:s.w_,leftClassCount:s.w_,rightClassCount:s.w_,flags:s.w_,kernValue:new s.mJ(s.Af,"kernValueCount"),leftClass:new s.mJ(s.w_,"glyphCount"),rightClass:new s.mJ(s.w_,"glyphCount"),kernIndex:new s.mJ(s.w_,e=>e.leftClassCount*e.rightClassCount)}}),rx=new s.bS("version",{0:{subVersion:s.mL,length:s.mL,format:s.w_,coverage:new s.DL(s.w_,["horizontal","minimum","crossStream","override"]),subtable:rC,padding:new s.kV(s.w_,e=>e.length-e._currentOffset)},1:{length:s.U7,coverage:new s.DL(s.w_,[null,null,null,null,null,"variation","crossStream","vertical"]),format:s.w_,tupleIndex:s.mL,subtable:rC,padding:new s.kV(s.w_,e=>e.length-e._currentOffset)}});var rA=new s.bS(s.mL,{0:{nTables:s.mL,tables:new s.mJ(rx,"nTables")},1:{reserved:new s.kV(s.mL),nTables:s.U7,tables:new s.mJ(rx,"nTables")}}),rS=new s.AU({version:s.mL,numGlyphs:s.mL,yPels:new s.mJ(s.w_,"numGlyphs")}),rk=new s.AU({version:s.mL,fontNumber:s.U7,pitch:s.mL,xHeight:s.mL,style:s.mL,typeFamily:s.mL,capHeight:s.mL,symbolSet:s.mL,typeface:new s.Ld(16),characterComplement:new s.Ld(8),fileName:new s.Ld(6),strokeWeight:new s.Ld(1),widthType:new s.Ld(1),serifStyle:s.w_,reserved:new s.kV(s.w_)});let rI=new s.AU({bCharSet:s.w_,xRatio:s.w_,yStartRatio:s.w_,yEndRatio:s.w_}),rP=new s.AU({yPelHeight:s.mL,yMax:s.Af,yMin:s.Af}),rU=new s.AU({recs:s.mL,startsz:s.w_,endsz:s.w_,entries:new s.mJ(rP,"recs")});var rJ=new s.AU({version:s.mL,numRecs:s.mL,numRatios:s.mL,ratioRanges:new s.mJ(rI,"numRatios"),offsets:new s.mJ(s.mL,"numRatios"),groups:new s.mJ(rU,"numRecs")}),rT=new s.AU({version:s.mL,ascent:s.Af,descent:s.Af,lineGap:s.Af,advanceHeightMax:s.Af,minTopSideBearing:s.Af,minBottomSideBearing:s.Af,yMaxExtent:s.Af,caretSlopeRise:s.Af,caretSlopeRun:s.Af,caretOffset:s.Af,reserved:new s.kV(s.Af,4),metricDataFormat:s.Af,numberOfMetrics:s.mL});let rO=new s.AU({advance:s.mL,bearing:s.Af});var rF=new s.AU({metrics:new s.pW(rO,e=>e.parent.vhea.numberOfMetrics),bearings:new s.pW(s.Af,e=>e.parent.maxp.numGlyphs-e.parent.vhea.numberOfMetrics)});let rD=new s.gb(16,"BE",14),rM=new s.AU({fromCoord:rD,toCoord:rD}),rG=new s.AU({pairCount:s.mL,correspondence:new s.mJ(rM,"pairCount")});var rB=new s.AU({version:s.E2,axisCount:s.U7,segment:new s.mJ(rG,"axisCount")});class rE{getItem(e){if(null==this._items[e]){let t=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*e,this._items[e]=this.type.decode(this.stream,this.parent),this.stream.pos=t}return this._items[e]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(e,t,r){this.type=e,this.stream=t,this.parent=r,this.base=this.stream.pos,this._items=[]}}class rz extends s.mJ{decode(e,t){return new rE(this.type,e,t)}constructor(e){super(e,0)}}let rR=function(e=s.mL){class t{decode(e,t){return t=t.parent.parent,this.type.decode(e,t)}size(e,t){return t=t.parent.parent,this.type.size(e,t)}encode(e,t,r){return r=r.parent.parent,this.type.encode(e,t,r)}constructor(e){this.type=e}}e=new t(e);let r=new s.AU({unitSize:s.mL,nUnits:s.mL,searchRange:s.mL,entrySelector:s.mL,rangeShift:s.mL}),n=new s.AU({lastGlyph:s.mL,firstGlyph:s.mL,value:e}),a=new s.AU({lastGlyph:s.mL,firstGlyph:s.mL,values:new s.$J(s.mL,new s.mJ(e,e=>e.lastGlyph-e.firstGlyph+1),{type:"parent"})}),l=new s.AU({glyph:s.mL,value:e});return new s.bS(s.mL,{0:{values:new rz(e)},2:{binarySearchHeader:r,segments:new s.mJ(n,e=>e.binarySearchHeader.nUnits)},4:{binarySearchHeader:r,segments:new s.mJ(a,e=>e.binarySearchHeader.nUnits)},6:{binarySearchHeader:r,segments:new s.mJ(l,e=>e.binarySearchHeader.nUnits)},8:{firstGlyph:s.mL,count:s.mL,values:new s.mJ(e,"count")}})};function rV(e={},t=s.mL){let r=Object.assign({newState:s.mL,flags:s.mL},e),n=new s.AU(r),a=new rz(new s.mJ(s.mL,e=>e.nClasses));return new s.AU({nClasses:s.U7,classTable:new s.$J(s.U7,new rR(t)),stateArray:new s.$J(s.U7,a),entryTable:new s.$J(s.U7,new rz(n))})}let rN=new s.bS("format",{0:{deltas:new s.mJ(s.Af,32)},1:{deltas:new s.mJ(s.Af,32),mappingData:new rR(s.mL)},2:{standardGlyph:s.mL,controlPoints:new s.mJ(s.mL,32)},3:{standardGlyph:s.mL,controlPoints:new s.mJ(s.mL,32),mappingData:new rR(s.mL)}});var rq=new s.AU({version:s.E2,format:s.mL,defaultBaseline:s.mL,subtable:rN});let rW=new s.AU({setting:s.mL,nameIndex:s.Af,name:e=>e.parent.parent.parent.name.records.fontFeatures[e.nameIndex]}),rj=new s.AU({feature:s.mL,nSettings:s.mL,settingTable:new s.$J(s.U7,new s.mJ(rW,"nSettings"),{type:"parent"}),featureFlags:new s.DL(s.w_,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:s.w_,nameIndex:s.Af,name:e=>e.parent.parent.name.records.fontFeatures[e.nameIndex]});var rX=new s.AU({version:s.E2,featureNameCount:s.mL,reserved1:new s.kV(s.mL),reserved2:new s.kV(s.U7),featureNames:new s.mJ(rj,"featureNameCount")});let rH=new s.AU({axisTag:new s.Ld(4),minValue:s.E2,defaultValue:s.E2,maxValue:s.E2,flags:s.mL,nameID:s.mL,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID]}),rY=new s.AU({nameID:s.mL,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID],flags:s.mL,coord:new s.mJ(s.E2,e=>e.parent.axisCount),postscriptNameID:new s.Fi(s.mL,e=>e.parent.instanceSize-e._currentOffset>0)});var rZ=new s.AU({version:s.E2,offsetToData:s.mL,countSizePairs:s.mL,axisCount:s.mL,axisSize:s.mL,instanceCount:s.mL,instanceSize:s.mL,axis:new s.mJ(rH,"axisCount"),instance:new s.mJ(rY,"instanceCount")});let r$=new s.gb(16,"BE",14);class rK{static decode(e,t){return t.flags?e.readUInt32BE():2*e.readUInt16BE()}}let rQ=new s.AU({version:s.mL,reserved:new s.kV(s.mL),axisCount:s.mL,globalCoordCount:s.mL,globalCoords:new s.$J(s.U7,new s.mJ(new s.mJ(r$,"axisCount"),"globalCoordCount")),glyphCount:s.mL,flags:s.mL,offsetToData:s.U7,offsets:new s.mJ(new s.$J(rK,"void",{relativeTo:e=>e.offsetToData,allowNull:!1}),e=>e.glyphCount+1)}),r0=new s.AU({length:s.mL,coverage:s.mL,subFeatureFlags:s.U7,stateTable:new function(e={},t=s.mL){let r=new s.AU({version:()=>8,firstGlyph:s.mL,values:new s.mJ(s.w_,s.mL)}),n=Object.assign({newStateOffset:s.mL,newState:e=>(e.newStateOffset-(e.parent.stateArray.base-e.parent._startOffset))/e.parent.nClasses,flags:s.mL},e),a=new s.AU(n),l=new rz(new s.mJ(s.w_,e=>e.nClasses));return new s.AU({nClasses:s.mL,classTable:new s.$J(s.mL,r),stateArray:new s.$J(s.mL,l),entryTable:new s.$J(s.mL,new rz(a))})}}),r1=new s.AU({justClass:s.U7,beforeGrowLimit:s.E2,beforeShrinkLimit:s.E2,afterGrowLimit:s.E2,afterShrinkLimit:s.E2,growFlags:s.mL,shrinkFlags:s.mL}),r2=new s.mJ(r1,s.U7),r3=new s.bS("actionType",{0:{lowerLimit:s.E2,upperLimit:s.E2,order:s.mL,glyphs:new s.mJ(s.mL,s.mL)},1:{addGlyph:s.mL},2:{substThreshold:s.E2,addGlyph:s.mL,substGlyph:s.mL},3:{},4:{variationAxis:s.U7,minimumLimit:s.E2,noStretchValue:s.E2,maximumLimit:s.E2},5:{flags:s.mL,glyph:s.mL}}),r4=new s.AU({actionClass:s.mL,actionType:s.mL,actionLength:s.U7,actionData:r3,padding:new s.kV(s.w_,e=>e.actionLength-e._currentOffset)}),r5=new s.mJ(r4,s.U7),r7=new s.AU({lookupTable:new rR(new s.$J(s.mL,r5))}),r6=new s.AU({classTable:new s.$J(s.mL,r0,{type:"parent"}),wdcOffset:s.mL,postCompensationTable:new s.$J(s.mL,r7,{type:"parent"}),widthDeltaClusters:new rR(new s.$J(s.mL,r2,{type:"parent",relativeTo:e=>e.wdcOffset}))});var r8=new s.AU({version:s.U7,format:s.mL,horizontal:new s.$J(s.mL,r6),vertical:new s.$J(s.mL,r6)});let r9={action:s.mL},se={markIndex:s.mL,currentIndex:s.mL},st={currentInsertIndex:s.mL,markedInsertIndex:s.mL},sr=new s.AU({items:new rz(new s.$J(s.U7,new rR))}),ss=new s.bS("type",{0:{stateTable:new rV},1:{stateTable:new rV(se),substitutionTable:new s.$J(s.U7,sr)},2:{stateTable:new rV(r9),ligatureActions:new s.$J(s.U7,new rz(s.U7)),components:new s.$J(s.U7,new rz(s.mL)),ligatureList:new s.$J(s.U7,new rz(s.mL))},4:{lookupTable:new rR},5:{stateTable:new rV(st),insertionActions:new s.$J(s.U7,new rz(s.mL))}}),sn=new s.AU({length:s.U7,coverage:s.Un,type:s.w_,subFeatureFlags:s.U7,table:ss,padding:new s.kV(s.w_,e=>e.length-e._currentOffset)}),sa=new s.AU({featureType:s.mL,featureSetting:s.mL,enableFlags:s.U7,disableFlags:s.U7}),sl=new s.AU({defaultFlags:s.U7,chainLength:s.U7,nFeatureEntries:s.U7,nSubtables:s.U7,features:new s.mJ(sa,"nFeatureEntries"),subtables:new s.mJ(sn,"nSubtables")});var si=new s.AU({version:s.mL,unused:new s.kV(s.mL),nChains:s.U7,chains:new s.mJ(sl,"nChains")});let so=new s.AU({left:s.Af,top:s.Af,right:s.Af,bottom:s.Af});var su=new s.AU({version:s.E2,format:s.mL,lookupTable:new rR(so)});let sc={};sc.cmap=T,sc.head=O,sc.hhea=F,sc.hmtx=M,sc.maxp=G,sc.name=X,sc["OS/2"]=Y,sc.post=$,sc.fpgm=Q,sc.loca=ee,sc.prep=et,sc["cvt "]=K,sc.glyf=er,sc["CFF "]=ta,sc.CFF2=ta,sc.VORG=ti,sc.EBLC=ty,sc.CBLC=sc.EBLC,sc.sbix=tv,sc.COLR=tC,sc.CPAL=tA,sc.BASE=tM,sc.GDEF=tN,sc.GPOS=t7,sc.GSUB=rt,sc.JSTF=ro,sc.HVAR=rf,sc.DSIG=rp,sc.gasp=rb,sc.hdmx=rw,sc.kern=rA,sc.LTSH=rS,sc.PCLT=rk,sc.VDMX=rJ,sc.vhea=rT,sc.vmtx=rF,sc.avar=rB,sc.bsln=rq,sc.feat=rX,sc.fvar=rZ,sc.gvar=rQ,sc.just=r8,sc.morx=si,sc.opbd=su;let sh=new s.AU({tag:new s.Ld(4),checkSum:s.U7,offset:new s.$J(s.U7,"void",{type:"global"}),length:s.U7}),sf=new s.AU({tag:new s.Ld(4),numTables:s.mL,searchRange:s.mL,entrySelector:s.mL,rangeShift:s.mL,tables:new s.mJ(sh,"numTables")});function sd(e,t){let r=0,s=e.length-1;for(;r<=s;){let n=r+s>>1,a=t(e[n]);if(a<0)s=n-1;else{if(!(a>0))return n;r=n+1}}return -1}function sm(e,t){let r=[];for(;e>4,r[s++]=(15&a)<<4|l>>2,r[s++]=(3&l)<<6|63&i}return r}class sw{findSubtable(e,t){for(let[r,s]of t)for(let t of e.tables)if(t.platformID===r&&t.encodingID===s)return t.table;return null}lookup(e,t){if(this.encoding)e=this.encoding.get(e)||e;else if(t){let r=this.getVariationSelector(e,t);if(r)return r}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(e)||0;case 4:{let t=0,s=r.segCount-1;for(;t<=s;){let n=t+s>>1;if(er.endCode.get(n))t=n+1;else{let t,s=r.idRangeOffset.get(n);if(0===s)t=e+r.idDelta.get(n);else{let a=s/2+(e-r.startCode.get(n))-(r.segCount-n);0!==(t=r.glyphIndexArray.get(a)||0)&&(t+=r.idDelta.get(n))}return 65535&t}}return 0}case 8:throw Error("TODO: cmap format 8");case 6:case 10:return r.glyphIndices.get(e-r.firstCode)||0;case 12:case 13:{let t=0,s=r.nGroups-1;for(;t<=s;){let n=t+s>>1,a=r.groups.get(n);if(ea.endCharCode)t=n+1;else{if(12===r.version)return a.glyphID+(e-a.startCharCode);return a.glyphID}}return 0}case 14:throw Error("TODO: cmap format 14");default:throw Error(`Unknown cmap format ${r.version}`)}}getVariationSelector(e,t){if(!this.uvs)return 0;let r=this.uvs.varSelectors.toArray(),s=sd(r,e=>t-e.varSelector),n=r[s];return(-1!==s&&n.defaultUVS&&(s=sd(n.defaultUVS,t=>et.startUnicodeValue+t.additionalCount?1:0)),-1!==s&&n.nonDefaultUVS&&-1!==(s=sd(n.nonDefaultUVS,t=>e-t.unicodeValue)))?n.nonDefaultUVS[s].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return sm(0,e.codeMap.length);case 4:{let t=[],r=e.endCode.toArray();for(let s=0;s=s.glyphID&&e<=s.glyphID+(s.endCharCode-s.startCharCode)&&r.push(s.startCharCode+(e-s.glyphID));return r}case 13:{let r=[];for(let s of t.groups.toArray())e===s.glyphID&&r.push(...sm(s.startCharCode,s.endCharCode+1));return r}default:throw Error(`Unknown cmap format ${t.version}`)}}constructor(e){if(this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap)for(let t of e.tables){let e=function(e){let t=R.get(e);if(t)return t;let r=z[e];if(r){let t=new Map;for(let e=0;e=0&&(n=a.pairs[l].value);break;case 2:let i=0,o=0;i=e>=a.leftTable.firstGlyph&&e=a.rightTable.firstGlyph&&t=a.glyphCount||t>=a.glyphCount)return 0;n=a.kernValue[a.kernIndex[a.leftClass[e]*a.rightClassCount+a.rightClass[t]]];break;default:throw Error(`Unsupported kerning sub-table format ${s.format}`)}s.coverage.override?r=n:r+=n}return r}constructor(e){this.kern=e.kern}}class s_{positionGlyphs(e,t){let r=0,s=0;for(let n=0;n1&&(a.minX+=(n.codePoints.length-1)*a.width/n.codePoints.length);let l=-t[r].xAdvance,i=0,o=this.font.unitsPerEm/16;for(let n=r+1;n<=s;n++){let r=e[n],s=r.cbox,u=t[n],c=this.getCombiningClass(r.codePoints[0]);if("Not_Reordered"!==c){switch(u.xOffset=u.yOffset=0,c){case"Double_Above":case"Double_Below":u.xOffset+=a.minX-s.width/2-s.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":u.xOffset+=a.minX-s.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":u.xOffset+=a.maxX-s.width-s.minX;break;default:u.xOffset+=a.minX+(a.width-s.width)/2-s.minX}switch(c){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":("Attached_Below_Left"===c||"Attached_Below"===c)&&(a.minY+=o),u.yOffset=-a.minY-s.maxY,a.minY+=s.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":("Attached_Above"===c||"Attached_Above_Right"===c)&&(a.maxY+=o),u.yOffset=a.maxY-s.minY,a.maxY+=s.height}u.xAdvance=u.yAdvance=0,u.xOffset+=l,u.yOffset+=i}else l-=u.xAdvance,i-=u.yAdvance}}getCombiningClass(e){let t=(0,i.gy)(e);if((-256&e)==3584){if("Not_Reordered"===t)switch(e){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(3642===e)return"Below_Right"}switch(t){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":case"CCC29":case"CCC32":case"CCC118":case"CCC129":case"CCC132":return"Below";case"CCC23":return"Attached_Above";case"CCC24":case"CCC107":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":case"CCC122":case"CCC130":return"Above";case"CCC21":break;case"CCC103":return"Below_Right"}return t}constructor(e){this.font=e}}class sL{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(e,t){Math.abs(e)!==1/0&&(ethis.maxX&&(this.maxX=e)),Math.abs(t)!==1/0&&(tthis.maxY&&(this.maxY=t))}copy(){return new sL(this.minX,this.minY,this.maxX,this.maxY)}constructor(e=1/0,t=1/0,r=-1/0,s=-1/0){this.minX=e,this.minY=t,this.maxX=r,this.maxY=s}}let sC={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},sx={};for(let e in sC){let t=sC[e];if(Array.isArray(t))for(let r of t)sx[r]=e;else sx[t]=e}let sA={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};function sS(e){return sA[e]?"rtl":"ltr"}class sk{get advanceWidth(){let e=0;for(let t of this.positions)e+=t.xAdvance;return e}get advanceHeight(){let e=0;for(let t of this.positions)e+=t.yAdvance;return e}get bbox(){let e=new sL,t=0,r=0;for(let s=0;s[sP[e].code,sP[e][t]],sJ={rlig:sU("ligatures","requiredLigatures"),clig:sU("ligatures","contextualLigatures"),dlig:sU("ligatures","rareLigatures"),hlig:sU("ligatures","historicalLigatures"),liga:sU("ligatures","commonLigatures"),hist:sU("ligatures","historicalLigatures"),smcp:sU("lowerCase","lowerCaseSmallCaps"),pcap:sU("lowerCase","lowerCasePetiteCaps"),frac:sU("fractions","diagonalFractions"),dnom:sU("fractions","diagonalFractions"),numr:sU("fractions","diagonalFractions"),afrc:sU("fractions","verticalFractions"),case:sU("caseSensitiveLayout","caseSensitiveLayout"),ccmp:sU("unicodeDecomposition","canonicalComposition"),cpct:sU("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:sU("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:sU("contextualAlternates","swashAlternates"),cswh:sU("contextualAlternates","contextualSwashAlternates"),curs:sU("cursiveConnection","cursive"),c2pc:sU("upperCase","upperCasePetiteCaps"),c2sc:sU("upperCase","upperCaseSmallCaps"),init:sU("smartSwash","wordInitialSwashes"),fin2:sU("smartSwash","wordFinalSwashes"),medi:sU("smartSwash","nonFinalSwashes"),med2:sU("smartSwash","nonFinalSwashes"),fin3:sU("smartSwash","wordFinalSwashes"),fina:sU("smartSwash","wordFinalSwashes"),pkna:sU("kanaSpacing","proportionalKana"),half:sU("textSpacing","halfWidthText"),halt:sU("textSpacing","altHalfWidthText"),hkna:sU("alternateKana","alternateHorizKana"),vkna:sU("alternateKana","alternateVertKana"),ital:sU("italicCJKRoman","CJKItalicRoman"),lnum:sU("numberCase","upperCaseNumbers"),onum:sU("numberCase","lowerCaseNumbers"),mgrk:sU("mathematicalExtras","mathematicalGreek"),calt:sU("contextualAlternates","contextualAlternates"),vrt2:sU("verticalSubstitution","substituteVerticalForms"),vert:sU("verticalSubstitution","substituteVerticalForms"),tnum:sU("numberSpacing","monospacedNumbers"),pnum:sU("numberSpacing","proportionalNumbers"),sups:sU("verticalPosition","superiors"),subs:sU("verticalPosition","inferiors"),ordn:sU("verticalPosition","ordinals"),pwid:sU("textSpacing","proportionalText"),hwid:sU("textSpacing","halfWidthText"),qwid:sU("textSpacing","quarterWidthText"),twid:sU("textSpacing","thirdWidthText"),fwid:sU("textSpacing","proportionalText"),palt:sU("textSpacing","altProportionalText"),trad:sU("characterShape","traditionalCharacters"),smpl:sU("characterShape","simplifiedCharacters"),jp78:sU("characterShape","JIS1978Characters"),jp83:sU("characterShape","JIS1983Characters"),jp90:sU("characterShape","JIS1990Characters"),jp04:sU("characterShape","JIS2004Characters"),expt:sU("characterShape","expertCharacters"),hojo:sU("characterShape","hojoCharacters"),nlck:sU("characterShape","NLCCharacters"),tnam:sU("characterShape","traditionalNamesCharacters"),ruby:sU("rubyKana","rubyKana"),titl:sU("styleOptions","titlingCaps"),zero:sU("typographicExtras","slashedZero"),ss01:sU("stylisticAlternatives","stylisticAltOne"),ss02:sU("stylisticAlternatives","stylisticAltTwo"),ss03:sU("stylisticAlternatives","stylisticAltThree"),ss04:sU("stylisticAlternatives","stylisticAltFour"),ss05:sU("stylisticAlternatives","stylisticAltFive"),ss06:sU("stylisticAlternatives","stylisticAltSix"),ss07:sU("stylisticAlternatives","stylisticAltSeven"),ss08:sU("stylisticAlternatives","stylisticAltEight"),ss09:sU("stylisticAlternatives","stylisticAltNine"),ss10:sU("stylisticAlternatives","stylisticAltTen"),ss11:sU("stylisticAlternatives","stylisticAltEleven"),ss12:sU("stylisticAlternatives","stylisticAltTwelve"),ss13:sU("stylisticAlternatives","stylisticAltThirteen"),ss14:sU("stylisticAlternatives","stylisticAltFourteen"),ss15:sU("stylisticAlternatives","stylisticAltFifteen"),ss16:sU("stylisticAlternatives","stylisticAltSixteen"),ss17:sU("stylisticAlternatives","stylisticAltSeventeen"),ss18:sU("stylisticAlternatives","stylisticAltEighteen"),ss19:sU("stylisticAlternatives","stylisticAltNineteen"),ss20:sU("stylisticAlternatives","stylisticAltTwenty")};for(let e=1;e<=99;e++)sJ[`cv${`00${e}`.slice(-2)}`]=[sP.characterAlternatives.code,e];let sT={};for(let e in sJ){let t=sJ[e];null==sT[t[0]]&&(sT[t[0]]={}),sT[t[0]][t[1]]=e}function sO(e){let[t,r]=e;if(isNaN(t))var s=sP[t]&&sP[t].code;else var s=t;if(isNaN(r))var n=sP[t]&&sP[t][r];else var n=r;return[s,n]}class sF{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let s=0,n=this.table.binarySearchHeader.nUnits-1;for(;s<=n;){var t=s+n>>1,r=this.table.segments[t];if(65535===r.firstGlyph)break;if(er.lastGlyph)s=t+1;else{if(2===this.table.version)return r.value;return r.values[e-r.firstGlyph]}}return null}case 6:{let s=0,n=this.table.binarySearchHeader.nUnits-1;for(;s<=n;){var t=s+n>>1,r=this.table.segments[t];if(65535===r.glyph)break;if(er.glyph))return r.value;s=t+1}}return null}case 8:return this.table.values[e-this.table.firstGlyph];default:throw Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(e){let t=[];switch(this.table.version){case 2:case 4:for(let r of this.table.segments)if(2===this.table.version&&r.value===e)t.push(...sm(r.firstGlyph,r.lastGlyph+1));else for(let s=0;s=-1;){let t=null,l=1,i=!0;n===e.length||-1===n?l=0:65535===(t=e[n]).id?l=2:null==(l=this.lookupTable.lookup(t.id))&&(l=1);let o=this.stateTable.stateArray.getItem(s)[l],u=this.stateTable.entryTable.getItem(o);0!==l&&2!==l&&(r(t,u,n),i=!(16384&u.flags)),s=u.newState,i&&(n+=a)}return e}traverse(e,t=0,r=new Set){if(r.has(t))return;r.add(t);let{nClasses:s,stateArray:n,entryTable:a}=this.stateTable,l=n.getItem(t);for(let t=4;t=0;)65535===e[r].id&&e.splice(r,1),r--;return e}processSubtable(e,t){if(this.subtable=e,this.glyphs=t,4===this.subtable.type){this.processNoncontextualSubstitutions(this.subtable,this.glyphs);return}this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(e),s=this.getProcessor(),n=!!(4194304&this.subtable.coverage);return r.process(this.glyphs,n,s)}getStateMachine(e){return new sD(e.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(e,t,r){32768&t.flags&&(this.firstGlyph=r),8192&t.flags&&(this.lastGlyph=r),function(e,t,r,s){switch(t){case 0:return;case 1:return sG(e,[r,1],[s,0]);case 2:return sG(e,[r,0],[s,1]);case 3:return sG(e,[r,1],[s,1]);case 4:return sG(e,[r,2],[s,0]);case 5:return sG(e,[r,2],[s,0],!0,!1);case 6:return sG(e,[r,0],[s,2]);case 7:return sG(e,[r,0],[s,2],!1,!0);case 8:return sG(e,[r,1],[s,2]);case 9:return sG(e,[r,1],[s,2],!1,!0);case 10:return sG(e,[r,2],[s,1]);case 11:return sG(e,[r,2],[s,1],!0,!1);case 12:return sG(e,[r,2],[s,2]);case 13:return sG(e,[r,2],[s,2],!0,!1);case 14:return sG(e,[r,2],[s,2],!1,!0);case 15:return sG(e,[r,2],[s,2],!0,!0);default:throw Error(`Unknown verb: ${t}`)}}(this.glyphs,15&t.flags,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,t,r){let s=this.subtable.table.substitutionTable.items;if(65535!==t.markIndex){let r=new sF(s.getItem(t.markIndex));e=this.glyphs[this.markedGlyph];var n=r.lookup(e.id);n&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(n,e.codePoints))}if(65535!==t.currentIndex){let a=new sF(s.getItem(t.currentIndex));e=this.glyphs[r];var n=a.lookup(e.id);n&&(this.glyphs[r]=this.font.getGlyph(n,e.codePoints))}32768&t.flags&&(this.markedGlyph=r)}processLigature(e,t,r){if(32768&t.flags&&this.ligatureStack.push(r),8192&t.flags){let e=this.subtable.table.ligatureActions,r=this.subtable.table.components,s=this.subtable.table.ligatureList,n=t.action,a=!1,l=0,i=[],o=[];for(;!a;){let t=this.ligatureStack.pop();i.unshift(...this.glyphs[t].codePoints);let u=e.getItem(n++);a=!!(2147483648&u);let c=!!(1073741824&u),h=(1073741823&u)<<2>>2;if(h+=this.glyphs[t].id,l+=r.getItem(h),a||c){let e=s.getItem(l);this.glyphs[t]=this.font.getGlyph(e,i),o.push(t),l=0,i=[]}else this.glyphs[t]=this.font.getGlyph(65535)}this.ligatureStack.push(...o)}}processNoncontextualSubstitutions(e,t,r){let s=new sF(e.table.lookupTable);for(r=0;r>>5,r=!!(1024&t.flags);this._insertGlyphs(this.markedIndex,t.markedInsertIndex,e,r)}if(65535!==t.currentInsertIndex){let e=(992&t.flags)>>>5,s=!!(2048&t.flags);this._insertGlyphs(r,t.currentInsertIndex,e,s)}}getSupportedFeatures(){let e=[];for(let t of this.morx.chains)for(let r of t.features)e.push([r.featureType,r.featureSetting]);return e}generateInputs(e){return this.inputCache||this.generateInputCache(),this.inputCache[e]||[]}generateInputCache(){for(let e of(this.inputCache={},this.morx.chains)){let t=e.defaultFlags;for(let r of e.subtables)r.subFeatureFlags&t&&this.generateInputsForSubtable(r)}}generateInputsForSubtable(e){if(2!==e.type)return;if(4194304&e.coverage)throw Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let t=this.getStateMachine(e),r=this.getProcessor(),s=[],n=[];this.glyphs=[],t.traverse({enter:(e,t)=>{let a=this.glyphs;n.push({glyphs:a.slice(),ligatureStack:this.ligatureStack.slice()});let l=this.font.getGlyph(e);s.push(l),a.push(s[s.length-1]),r(a[a.length-1],t,a.length-1);let i=0,o=0;for(let e=0;ee.id),t=this.inputCache[o];t?t.push(e):this.inputCache[o]=[e]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=n.pop()),s.pop()}})}constructor(e){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}}function sG(e,t,r,s=!1,n=!1){let a=e.splice(r[0]-(r[1]-1),r[1]);n&&a.reverse();let l=e.splice(t[0],t[1],...a);return s&&l.reverse(),e.splice(r[0]-(t[1]-1),0,...l),e}(0,a.__decorate)([L],sM.prototype,"getStateMachine",null);class sB{substitute(e){"rtl"===e.direction&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,function(e){let t={};for(let r in e){let s;(s=sJ[r])&&(null==t[s[0]]&&(t[s[0]]={}),t[s[0]][s[1]]=e[r])}return t}(e.features))}getAvailableFeatures(e,t){return function(e){let t={};if(Array.isArray(e))for(let r=0;r0&&e.applyFeatures(s,t,r)}constructor(e,t,r){this.font=e,this.script=t,this.direction=r,this.stages=[],this.globalFeatures={},this.allFeatures={}}}let sz=["rvrn"],sR=["ccmp","locl","rlig","mark","mkmk"],sV=["frac","numr","dnom"],sN=["calt","clig","liga","rclt","curs","kern"],sq={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]};class sW{static plan(e,t,r){this.planPreprocessing(e),this.planFeatures(e),this.planPostprocessing(e,r),e.assignGlobalFeatures(t),this.assignFeatures(e,t)}static planPreprocessing(e){e.add({global:[...sz,...sq[e.direction]],local:sV})}static planFeatures(e){}static planPostprocessing(e,t){e.add([...sR,...sN]),e.setFeatureOverrides(t)}static assignFeatures(e,t){for(let e=0;e0&&(0,i.X1)(t[s-1].codePoints[0]);)t[s-1].features.numr=!0,t[s-1].features.frac=!0,s--;for(;nthis.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(e=1){let t=this.index,r=this.increment(e);return this.index=t,r}peekIndex(e=1){let t=this.index;this.increment(e);let r=this.index;return this.index=t,r}increment(e=1){let t=e<0?-1:1;for(e=Math.abs(e);e--;)this.move(t);return this.glyphs[this.index]}constructor(e,t){this.glyphs=e,this.reset(t)}}let s4=["DFLT","dflt","latn"];class s5{findScript(e){if(null==this.table.scriptList)return null;for(let t of(Array.isArray(e)||(e=[e]),e))for(let e of this.table.scriptList)if(e.tag===t)return e;return null}selectScript(e,t,r){let s,n=!1;if(!this.script||e!==this.scriptTag){if((s=this.findScript(e))||(s=this.findScript(s4)),!s)return this.scriptTag;this.scriptTag=s.tag,this.script=s.script,this.language=null,this.languageTag=null,n=!0}if(r&&r===this.direction||(this.direction=r||sS(e)),t&&t.length<4&&(t+=" ".repeat(4-t.length)),!t||t!==this.languageTag){for(let e of(this.language=null,this.script.langSysRecords))if(e.tag===t){this.language=e.langSys,this.languageTag=e.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),n=!0}if(n&&(this.features={},this.language))for(let e of this.language.featureIndexes){let t=this.table.featureList[e],r=this.substituteFeatureForVariations(e);this.features[t.tag]=r||t.feature}return this.scriptTag}lookupsForFeatures(e=[],t){let r=[];for(let s of e){let e=this.features[s];if(e)for(let n of e.lookupListIndexes)t&&-1!==t.indexOf(n)||r.push({feature:s,index:n,lookup:this.table.lookupList.get(n)})}return r.sort((e,t)=>e.index-t.index),r}substituteFeatureForVariations(e){if(-1===this.variationsIndex)return null;for(let t of this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions)if(t.featureIndex===e)return t.alternateFeatureTable;return null}findVariationsIndex(e){let t=this.table.featureVariations;if(!t)return -1;let r=t.featureVariationRecords;for(let t=0;t{let r=e.axisIndexe===t.id)}sequenceMatchIndices(e,t){return this.match(e,t,(e,t)=>this.currentFeature in t.features&&e===t.id,[])}coverageSequenceMatches(e,t){return this.match(e,t,(e,t)=>this.coverageIndex(e,t.id)>=0)}getClassID(e,t){switch(t.version){case 1:let r=e-t.startGlyph;if(r>=0&&re===this.getClassID(t.id,r))}applyContext(e){let t;switch(e.version){case 1:if(-1===(t=this.coverageIndex(e.coverage)))break;for(let r of e.ruleSets[t])if(this.sequenceMatches(1,r.input))return this.applyLookupList(r.lookupRecords);break;case 2:if(-1===this.coverageIndex(e.coverage)||-1===(t=this.getClassID(this.glyphIterator.cur.id,e.classDef)))break;for(let r of e.classSet[t])if(this.classSequenceMatches(1,r.classes,e.classDef))return this.applyLookupList(r.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords)}return!1}applyChainingContext(e){let t;switch(e.version){case 1:if(-1===(t=this.coverageIndex(e.coverage)))break;for(let r of e.chainRuleSets[t])if(this.sequenceMatches(-r.backtrack.length,r.backtrack)&&this.sequenceMatches(1,r.input)&&this.sequenceMatches(1+r.input.length,r.lookahead))return this.applyLookupList(r.lookupRecords);break;case 2:if(-1===this.coverageIndex(e.coverage))break;t=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let r=e.chainClassSet[t];if(!r)break;for(let t of r)if(this.classSequenceMatches(-t.backtrack.length,t.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,t.input,e.inputClassDef)&&this.classSequenceMatches(1+t.input.length,t.lookahead,e.lookaheadClassDef))return this.applyLookupList(t.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-e.backtrackGlyphCount,e.backtrackCoverage)&&this.coverageSequenceMatches(0,e.inputCoverage)&&this.coverageSequenceMatches(e.inputGlyphCount,e.lookaheadCoverage))return this.applyLookupList(e.lookupRecords)}return!1}constructor(e,t){this.font=e,this.table=t,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}}class s7{get id(){return this._id}set id(e){this._id=e,this.substituted=!0;let t=this._font.GDEF;if(t&&t.glyphClassDef){let r=s5.prototype.getClassID(e,t.glyphClassDef);this.isBase=1===r,this.isLigature=2===r,this.isMark=3===r,this.markAttachmentType=t.markAttachClassDef?s5.prototype.getClassID(e,t.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(i.YB),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new s7(this._font,this.id,this.codePoints,this.features)}constructor(e,t,r=[],s){if(this._font=e,this.codePoints=r,this.id=t,this.features={},Array.isArray(s))for(let e=0;e4352<=e&&e<=4447||43360<=e&&e<=43388,s9=e=>4448<=e&&e<=4519||55216<=e&&e<=55238,ne=e=>4520<=e&&e<=4607||55243<=e&&e<=55291,nt=e=>12334<=e&&e<=12335,nr=e=>44032<=e&&e<=55204,ns=e=>e-44032<11173&&(e-44032)%28==0,nn=e=>4352<=e&&e<=4370,na=e=>4449<=e&&e<=4469,nl=e=>1<=e&&e<=4546;function ni(e){return s8(e)?1:s9(e)?2:ne(e)?3:ns(e)?4:nr(e)?5:nt(e)?6:0}let no=1,nu=2,nc=4,nh=5,nf=[[[0,0],[0,1],[0,0],[0,0],[1,2],[1,3],[5,0]],[[0,0],[0,1],[2,2],[0,0],[1,2],[1,3],[5,0]],[[0,0],[0,1],[0,0],[2,3],[1,2],[1,3],[4,0]],[[0,0],[0,1],[0,0],[0,0],[1,2],[1,3],[4,0]]];function nd(e,t,r){return new s7(e,e.glyphForCodePoint(t).id,[t],r)}function nm(e,t,r){let s=e[t],n=s.codePoints[0]-44032,a=4519+n%28,l=4352+(n=n/28|0)/21|0,i=4449+n%21;if(!r.hasGlyphForCodePoint(l)||!r.hasGlyphForCodePoint(i)||4519!==a&&!r.hasGlyphForCodePoint(a))return t;let o=nd(r,l,s.features);o.features.ljmo=!0;let u=nd(r,i,s.features);u.features.vjmo=!0;let c=[o,u];if(a>4519){let e=nd(r,a,s.features);e.features.tjmo=!0,c.push(e)}return e.splice(t,1,...c),t+c.length-1}var np={};np=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');var ng={};ng=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');let nb={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072},ny={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},nw=nb.C|nb.Ra|nb.CM|nb.V|nb.Placeholder|nb.Dotted_Circle,nv=nb.ZWJ|nb.ZWNJ,n_=nb.H|nb.Coeng,nL={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:ny.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:ny.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:ny.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:ny.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:ny.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:ny.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:ny.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:ny.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:ny.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:ny.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:ny.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},nC={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:nx}=m(ng),nA=new o(sy("AAARAAAAAABg2AAAAWYPmfDtnXuMXFUdx+/uzs7M7szudAtECGJRIMRQbUAithQWkGAKiVhNpFVRRAmIQVCDkDYICGotIA9BTCz8IeUviv7BQ2PBtBIRLBBQIWAUsKg1BKxRAqIgfs/cc+aeOXPej3tnZX7JJ/dxzj3nd36/8753Z5fUsuxgsAwcAU4Gp4BPgM+Cd4P3RjieDs4GXwLrHJ5bDy4DG8A14LvgZrAZbAF3gns0z18ALgY/B78C94NHwBPgabAE/AX8DbwM5sF/QX0yD5vFcU/wVnAgWAoOAyvAceBE8CGwBpwGzgJfAF8BXwXfAFeC68EmsBlsAXeCreA+8CB4DDwF/gh2gd3gFfAGmKxn2QzYC+wHDgRLweFgJTgWrKrnuq/GcQ04jV6fheN54EJwEbgcXAG+Q8O/j+Mt4DZwB9haz8t9Hz3a8iCN/xiOvwRP0evH6fE68AzOH+Ke2eWYhw3PcGnuxvkr4A3QaGRZB7wFLAEHg2XgiEZ/fHKcp/ceBh/A+cngFPCpRm6vM3E8l8a5gN67GMdvgqsbeX2ap9yI601gM7gN3AG20mfuo8cdOP6GpvdUg9oKxz839GV90RDO2/glxN1B790NXsN1rZll7WYRdw+c70uvTwIHNAfTO0RyL5TDmnnbc3lmRQI9UnM0dD5eovfz4FpJ/BNpXNYWV+N6Lfg0hY97JK1vn+Pur9DoQur2F7m436bHDUK8C5t5/8vruo4+97WmXG+GLmzEiBF+PDwEOowYMWLEiBEjRoxYeBw5BDqIPEfXut9yWN+vVNxfrnnmWqR/PdgENoMt4E5wD9gOHgCPgifBs2BXM99b2o3jP8F/wMRUlrXAHNgHvH0q3895J46HguXgWHAGLctmLv9VuL96qnp7jxgxYsSbCbJvuRZ97/tqxT59VVRtixEjRsThBG7OSt5zzoPT0M+cBc4T5noXOs79TqLHeZrHUeCSqeJ96gacXy2kecNU8V6Hh7yXuQlhtw7B/PO1RTkr52Aj8JNFZjYg3gOKuC/g/v6Ls2wNuAY8urg//PcIb+6RZXuDNeCS6SzbBrJWlh0DLiFHco8ed9IjzzvaWfa9sZzTcf6D9mCcnbg3PlNcH4fzS8F2MDaLdQG4dLZIJxbbaZqv4ri8k58f3+mPs66T6/TTzqDeI0aMGDGiHP5dcR8ce/xxYcWi6vOfr725uRzcjnngXVOD61Hync+9uL+Nmyfej/NHpvL56A5Jeuz7uyfo+pqcPz2Vf1NH0ttJ03pekt8SmuY/EPYy9zzbN319ym/9TL6ZIt9MHCXRdxJtoAkWTRdz472n87D9cTwYLJvuz++I6WIePo/zE8AHp4v8WLyP0nufnM6/+zoDx8+DL08P6r9+urheRtO+jD6/cdrsx3mqu8w+xH4PScKIXa5D2jeCm8Et4DbwI/BjcC/4BXgI/Bb8DuwEu8Bu8Ap4A9RaRZptnO8J9gUHgEPAoWA5OLY1qMO90GEV7q+mYWtxPBWcIYnL4p+DsPNbxfVFOP86uAr8DNc34HgTDb8Vx9sVaRFI/LtagzYjnCqpb908EX87eBA8Bh4Hf2jle/9/wvGFVv787rrZZy8h7qtgDOuFOmiBuXYRvg/O9wMHgXeB97SLspk4sq0OI/q9v13+ek+sh3zYSRp9jrYorw9ll1/GRzR+KotYZSHf8laVP2lvpA/8OGdPMk59hqtXZ+L8nHbxvWwqO65ryu+fT3VZz+l4dET7L0R072ljsMyzTpaJqQxsbL8M9WajY789DO85XMp/Dcp3Qztdn+9qf/a97ZWK8PXc3G+TpC/nv8Mncy7ZvICF302P5O+aNiOtLdTXd+D4Q7DVwfcvWvx9zTEJ/o5iG3R8YAjGNFseha5PGuZKz7b7xxXbOrXMcu5eJSo//rXdH/73Enz6L1q/X+fyIu8wZGtNBmkjkzNZNgP2AvuBg2bysKUzduXn/66JtNeN4PCZvO0/x7Ujdn4VnYOvRJzjZ/I+9sQZeftX2Tc1RPcPz/Tf4/si0g+t5Mq+kfZjZL34Mc5ul3PPnE7TOxvHK2qDaZ+L++db2HyYqMo/qVnb/P8uH8/rmnFxR0k6DCu/rjj/RxT7KGUSWgbd+LMQuEgYB1zsk2qtvJD8v5AhdfdttbEunSxbcJD9Zf7chqp1Hlbe7FK1/aPVTfp7FgtC1yGGiSncFK/DhZvi+epZta0WWjlsfDZMyPRdSPrryqSSKnXx1bkq/Ye9TlRpk7Lrjq1UrfdC9X+MtKqwP6+3a/4pJFUZF0pZZpv91MYjMBaRRXbxpho5zQmUY3F+Pt4o7rvQrBXPdm00TaE24uMadaM2meLSI7iu071t3er3b6ZLi8JEde3qw+6zGv+ycF5kaRBh/m1T/7Yl/mMyTuMwadP4xL9ifjJpNwbvDZRJ8G8vnqV/Wf12aa/kyOdl69+BspTsXzGueE6E+JfZnvmXIfNPW+FfXkjb1YmqPNpnLP3b61fHCj/X5tzGANf2y3yqvC7Jv7btV4TVbdammI9l/g0dS5lNxLrk2j9r8xjjxhBQnygg0lgg/bOrfyct+udJi/Yrk0lFnxC7f+5kRbsNmcexfrubt0X/rGvLqrGSnYv3ZPHEe8r7lvMvUfi2LOu/2dg8LrRtQt2yfcv8r5IU70VkIs6nbebUXf0M/o7Znl39Sdoz+X1oEb5N8ffF67qhPfPP6eoUbxf+GRf/6sRnvaSdmw+Bf1VxmbD+2sa//DU7t/Gv2PfKpKdrBP92Ojk+IvqX16ks/2qxbL8EZnc2HqsgYuqPuzZV+I3RbujbDm+T0PmWCVO/5jqftp1zy+wSA6s0JWtp2z5e1oZV+yMsjB3ZXolsv0Ulrv01v3/iKrF94Qtbt9siCnmeb6fjjf59KnLk1xaEbvtvFnFirGvEOqmycQrbm/IMsXd3P28uh4nM3swXRER717OiX8kc7K2qqyn2p3maFGU/aruP5VCv+PraoTYU8yUmmbDwcYo6pusnM486xdoga4dkPCb1pK7Sfc6ebvkd4qeAtQcd/N63bB3lU3dlUnUf38VyvqCqK7JxlNSd7lydrDlm+/uqHiRvl30Nrp/n9zpkZRjoJ3V1diyP05rIYXHYs+w+D5+WMS8b5gZtKcuX0KT5d/WwtB97VnyvY6rjMukI56HI0rFJPwt8PjT/1OXzSbcMeEmdh294qvKK4rNu7j4n3LNZg8TKXwafv025U+XvKjHsT8Q7/7LGaJt9lAh7Asz3uv0XEX6t0duDoWN/93wmh92XpUHmCKb9GALbG+rZP3AfNbQPKKv/jpF/bP0JXfuW1QYk7dhljcyvk5mw+933Hpo1g26PQ2ZP6zVmTJt47P25jncD9vPwGS+q9QS/V6RaY8j8K8LmvUr9HfYCpH5OWL9lZY+Sv6pesHCJHbtrf9k6etZvf0G1L0ja4cAe1UT/s3zdCe3/Q5/n372wMc97/E1Qh0Tbmfwh3m/V9On72tNnrCF1sJkVe1EyXMdBa7+lHMsk44zMF6St9e2djNnbm8ybpHkq+gbbemMaH0UZmD8obKGrk7r+nt+3bE7o83YZp/vqOKdv6PzJNN6mTJsI/51XR7i2ZrGA5B6zFwnjzxmqPjaGfW3tZNrz1eljq29mOOqeCfF/irRt87PNw0uXSVAvrmOMNT569MptsYaV0sic/wbY13e8hPrb9K2ySUJ0j6G/Lu0U4qpTrR23jMp6m5hU+YTaWCeh9aIsm/rqUHV4bFv42kgnZdfH1PUj1D7DVH9d8khRN1zFRl/+/TW//qxL1uH83+mk3H+SvRtS2TDU90nX2TpM6/1xzZpZtoYdK763dqlz0f6uNeFehcs+H/nbGP77MpX06n/ofpzP+tVmTUvRtVuX/cjS67OE5kRBrxyJ+w/dPo7r+9cO1160e3gqu0S2uW7PjN/L6ns/UfMf10Lai87frJ+3KndAfc8yTf1M3T4s6qm4/yh7/2GSkG8UMw//DvRLgbYZSEOxr0LCWvRdjfh9XGzfqN4NivfZd7rsmFp08zmbssrKJEuTfVMZopdpbuwSrhNv3/N2s+0PDG3KNB6RMrFvJHv6B85HXObAoWsd3zm3i+6uZYytv+5+pohbpo6+tpZJFfmGlrcMf4c8b1Pe2OUIsaXJrinCTfaxtZOt+NYnU3hIfQlN20Z/1+dt7JaqLsbIzycNWZmrlNg2Dc2/LJ1T+T6WrrYSml4Ku7ik7yIx2opJD51vU9UfVRmrqL8u/olZj0PyCLV5irxcdKoi/6rKb8qTrHsnhW9jyZH/nSpeWDzxd9769uQ016lgUuf2pAfKPhu2FpfZL2Yb9snLNl/fNIepXaUsj4vNXCXUZ75px8ojNP8UPvAta2g6fb+F1ckZuneshv1vGXXDeyRRrN/bBPS1Jul+l+7zW86R7Wv63WXyDpt/RxraRjvC+TC3O61/Sqj/prag8x372yQivn+XwudrI2X2E2KdtJEov52e0L+uv4FO3p/rvssgsL8F4d/z9PzlWS94m8fqS3361Fi+6qaVYHwi9Yz4iH2fobIj+45cpz/TUaarr/4+z+vaWtVtyAX2d1LG8W9C3f+F1mnf36/k4w3YPrLv+XBVXCJs3cr+n4MKJuLv/fN9GhNdXVP5pJMN9vFi3rpv3/r8Ywg3SYp66zNOsO8QGcxPpnmRS/1mvmJjju3v7absI2xspQrvs1dNbjOj/wP7h1RlZyKGy8occ408UL8En4v6xfC/K3z52XzJd62T8vuZGGsxo/6O46ntmNqqFb/jps2/hHV4rPKH0svT4pstU7t2tZ9u/ZdqbJL1MwP6O86Fyt4jYaIrGz9mjEt8lFL4PtVE6votG2P6fpdf/GZRse7s3bf4BtSl/DIbKMctx++Z+8o6K6z9FPOwKsRmXiaNl7C+6NYRpjlbqG1j72f49qsuY4brd/amb4ZVc8TQ+sSH985LrEe8iPWJnfPrJRbWbb+dwn4x6o+r/aS2S7w3qWt//LnYz2ntE0vH1uDcyKatx1rH+EiMPEN1SZG/iz6+9o01Rob6O7Q+xLZ1jHobK61U+pWVvo2EpuWqzzD6Poa+pvhli0wn8Zq/72Mzm2d90o5VN1x9ZKuzbTgvqWwUIin8FSpl1CXXvFRxU0iozVPYJDRtF3uFphn6XAyJUUdD7SjTJ8v6n9fVbVObkKWp001lc9VRlqdOf5v0ZM+bymdbfp1NfG0bq27Y5JMyfxeJkU6o/inKH8O2Zfgidb6h/g3VJ7QcVbWL0Pxt6rlrPqa4KfQ25a2zl4/E8GdM/4fK/wA=")),nS=new u(m(np));class nk extends sW{static planFeatures(e){e.addStage(nJ),e.addStage(["locl","ccmp"]),e.addStage(nM),e.addStage("nukt"),e.addStage("akhn"),e.addStage("rphf",!1),e.addStage("rkrf"),e.addStage("pref",!1),e.addStage("blwf",!1),e.addStage("abvf",!1),e.addStage("half",!1),e.addStage("pstf",!1),e.addStage("vatu"),e.addStage("cjct"),e.addStage("cfar",!1),e.addStage(nG),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=sx[e.script],e.indicConfig=nL[e.unicodeScript]||nL.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&"2"!==e.script[e.script.length-1]}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let s=t[r].codePoints[0],n=nC[s]||nx[s];if(n){let s=n.map(s=>{let n=e.font.glyphForCodePoint(s);return new s7(e.font,n.id,[s],t[r].features)});t.splice(r,1,...s)}}}}function nI(e){return nA.get(e.codePoints[0])>>8}function nP(e){return 1<<(255&nA.get(e.codePoints[0]))}(0,n._)(nk,"zeroMarkWidths","NONE");class nU{constructor(e,t,r,s){this.category=e,this.position=t,this.syllableType=r,this.syllable=s}}function nJ(e,t){let r=0,s=0;for(let[e,n,a]of nS.match(t.map(nI))){if(e>s){++r;for(let n=s;nh);break}case"First":c=l;for(let e=c+1;er&&!nT(t[s])&&(!e||t[s].shaperInfo.category!==nb.H);s--);if(t[s].shaperInfo.category!==nb.H&&s>r){let e=t[r];t.splice(r,0,...t.splice(r+1,s-r)),t[s]=e}break}}let d=ny.Start;for(let e=l;el;s--)if(t[s-1].shaperInfo.position!==ny.Pre_M){r.position=t[s-1].shaperInfo.position;break}}}else r.position!==ny.SMVD&&(d=r.position)}let m=c;for(let e=c+1;ee.shaperInfo.position-t.shaperInfo.position),t.splice(l,p.length,...p);for(let e=l;el&&!nT(t[s]))}}}function nG(e,t,r){let s=r.indicConfig,n=e._layoutEngine.engine.GSUBProcessor.features;for(let e=0,a=nB(t,0);e=ny.Base_C){if(l&&o+1ny.Base_C&&o--;break}if(o===a&&ee&&!(t[s].shaperInfo.category&(nb.M|n_));)s--;nF(t[s])&&t[s].shaperInfo.position!==ny.Pre_M?s+1e;r--)if(t[r-1].shaperInfo.position===ny.Pre_M){let e=r-1;ee&&t[r].shaperInfo.position===ny.SMVD;)r--;if(nF(t[r]))for(let e=o+1;ee&&!(t[n-1].shaperInfo.category&(nb.M|n_));)n--;if(n>e&&t[n-1].shaperInfo.category===nb.M){let e=s;for(let r=o+1;re&&nF(t[n-1])&&n=e.length)return t;let r=e[t].shaperInfo.syllable;for(;++t=0;r--){let s=t[r].codePoints[0];if(nz[s]){let n=nz[s].map(s=>{let n=e.font.glyphForCodePoint(s);return new s7(e.font,n.id,[s],t[r].features)});t.splice(r,1,...n)}}}}function nq(e){return nR.get(e.codePoints[0])}(0,n._)(nN,"zeroMarkWidths","BEFORE_GPOS");class nW{constructor(e,t,r){this.category=e,this.syllableType=t,this.syllable=r}}function nj(e,t){let r=0;for(let[e,s,n]of nV.match(t.map(nq))){++r;for(let a=e;a<=s;a++)t[a].shaperInfo=new nW(nE[nq(t[a])],n[0],r);let a="R"===t[e].shaperInfo.category?1:Math.min(3,s-e);for(let r=e;r1){for(a=s+1;a=e.length)return t;let r=e[t].shaperInfo.syllable;for(;++t{let r=new s7(this.font,e,void 0,s);return r.shaperInfo=n.shaperInfo,r.isLigated=n.isLigated,r.ligatureComponent=t+1,r.substituted=!0,r.isMultiplied=!0,r});return this.glyphs.splice(this.glyphIterator.index+1,0,...a),!0}return!1}case 3:{let e=this.coverageIndex(t.coverage);if(-1!==e)return this.glyphIterator.cur.id=t.alternateSet.get(e)[0],!0;return!1}case 4:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;for(let s of t.ligatureSets.get(e)){let e=this.sequenceMatchIndices(1,s.components);if(!e)continue;let t=this.glyphIterator.cur,n=t.codePoints.slice();for(let t of e)n.push(...this.glyphs[t].codePoints);let a=new s7(this.font,s.glyph,n,t.features);a.shaperInfo=t.shaperInfo,a.isLigated=!0,a.substituted=!0;let l=t.isMark;for(let t=0;t=0;t--)this.glyphs.splice(e[t],1);return this.glyphs[this.glyphIterator.index]=a,!0}return!1}case 5:return this.applyContext(t);case 6:return this.applyChainingContext(t);case 7:return this.applyLookup(t.lookupType,t.extension);default:throw Error(`GSUB lookupType ${e} is not supported`)}}}class n2 extends s5{applyPositionValue(e,t){let r=this.positions[this.glyphIterator.peekIndex(e)];null!=t.xAdvance&&(r.xAdvance+=t.xAdvance),null!=t.yAdvance&&(r.yAdvance+=t.yAdvance),null!=t.xPlacement&&(r.xOffset+=t.xPlacement),null!=t.yPlacement&&(r.yOffset+=t.yPlacement);let s=this.font._variationProcessor,n=this.font.GDEF&&this.font.GDEF.itemVariationStore;s&&n&&(t.xPlaDevice&&(r.xOffset+=s.getDelta(n,t.xPlaDevice.a,t.xPlaDevice.b)),t.yPlaDevice&&(r.yOffset+=s.getDelta(n,t.yPlaDevice.a,t.yPlaDevice.b)),t.xAdvDevice&&(r.xAdvance+=s.getDelta(n,t.xAdvDevice.a,t.xAdvDevice.b)),t.yAdvDevice&&(r.yAdvance+=s.getDelta(n,t.yAdvDevice.a,t.yAdvDevice.b)))}applyLookup(e,t){switch(e){case 1:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;switch(t.version){case 1:this.applyPositionValue(0,t.value);break;case 2:this.applyPositionValue(0,t.values.get(e))}return!0}case 2:{let e=this.glyphIterator.peek();if(!e)return!1;let s=this.coverageIndex(t.coverage);if(-1===s)return!1;switch(t.version){case 1:for(let r of t.pairSets.get(s))if(r.secondGlyph===e.id)return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0;return!1;case 2:let n=this.getClassID(this.glyphIterator.cur.id,t.classDef1),a=this.getClassID(e.id,t.classDef2);if(-1===n||-1===a)return!1;var r=t.classRecords.get(n).get(a);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let e,r=this.glyphIterator.peekIndex(),s=this.glyphs[r];if(!s)return!1;let n=t.entryExitRecords[this.coverageIndex(t.coverage)];if(!n||!n.exitAnchor)return!1;let a=t.entryExitRecords[this.coverageIndex(t.coverage,s.id)];if(!a||!a.entryAnchor)return!1;let l=this.getAnchor(a.entryAnchor),i=this.getAnchor(n.exitAnchor),o=this.positions[this.glyphIterator.index],u=this.positions[r];switch(this.direction){case"ltr":o.xAdvance=i.x+o.xOffset,e=l.x+u.xOffset,u.xAdvance-=e,u.xOffset-=e;break;case"rtl":e=i.x+o.xOffset,o.xAdvance-=e,o.xOffset-=e,u.xAdvance=l.x+u.xOffset}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=r,o.yOffset=l.y-i.y):(s.cursiveAttachment=this.glyphIterator.index,o.yOffset=i.y-l.y),!0}case 4:{let e=this.coverageIndex(t.markCoverage);if(-1===e)return!1;let r=this.glyphIterator.index;for(;--r>=0&&(this.glyphs[r].isMark||this.glyphs[r].ligatureComponent>0););if(r<0)return!1;let s=this.coverageIndex(t.baseCoverage,this.glyphs[r].id);if(-1===s)return!1;let n=t.markArray[e],a=t.baseArray[s][n.class];return this.applyAnchor(n,a,r),!0}case 5:{let e=this.coverageIndex(t.markCoverage);if(-1===e)return!1;let r=this.glyphIterator.index;for(;--r>=0&&this.glyphs[r].isMark;);if(r<0)return!1;let s=this.coverageIndex(t.ligatureCoverage,this.glyphs[r].id);if(-1===s)return!1;let n=t.ligatureArray[s],a=this.glyphIterator.cur,l=this.glyphs[r],i=l.ligatureID&&l.ligatureID===a.ligatureID&&a.ligatureComponent>0?Math.min(a.ligatureComponent,l.codePoints.length)-1:l.codePoints.length-1,o=t.markArray[e],u=n[i][o.class];return this.applyAnchor(o,u,r),!0}case 6:{let e=this.coverageIndex(t.mark1Coverage);if(-1===e)return!1;let r=this.glyphIterator.peekIndex(-1),s=this.glyphs[r];if(!s||!s.isMark)return!1;let n=this.glyphIterator.cur,a=!1;if(n.ligatureID===s.ligatureID?n.ligatureID?n.ligatureComponent===s.ligatureComponent&&(a=!0):a=!0:(n.ligatureID&&!n.ligatureComponent||s.ligatureID&&!s.ligatureComponent)&&(a=!0),!a)return!1;let l=this.coverageIndex(t.mark2Coverage,s.id);if(-1===l)return!1;let i=t.mark1Array[e],o=t.mark2Array[l][i.class];return this.applyAnchor(i,o,r),!0}case 7:return this.applyContext(t);case 8:return this.applyChainingContext(t);case 9:return this.applyLookup(t.lookupType,t.extension);default:throw Error(`Unsupported GPOS table: ${e}`)}}applyAnchor(e,t,r){let s=this.getAnchor(t),n=this.getAnchor(e.markAnchor);this.positions[r];let a=this.positions[this.glyphIterator.index];a.xOffset=s.x-n.x,a.yOffset=s.y-n.y,this.glyphIterator.cur.markAttachment=r}getAnchor(e){let t=e.xCoordinate,r=e.yCoordinate,s=this.font._variationProcessor,n=this.font.GDEF&&this.font.GDEF.itemVariationStore;return s&&n&&(e.xDeviceTable&&(t+=s.getDelta(n,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(r+=s.getDelta(n,e.yDeviceTable.a,e.yDeviceTable.b))),{x:t,y:r}}applyFeatures(e,t,r){super.applyFeatures(e,t,r);for(var s=0;snew s7(this.font,e.id,[...e.codePoints]));let t=null;for(let r in this.GPOSProcessor&&(t=this.GPOSProcessor.selectScript(e.script,e.language,e.direction)),this.GSUBProcessor&&(t=this.GSUBProcessor.selectScript(e.script,e.language,e.direction)),this.shaper=function(e){for(let t of(Array.isArray(e)||(e=[e]),e)){let e=n0[t];if(e)return e}return sW}(t),this.plan=new sE(this.font,t,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features),this.plan.allFeatures)e.features[r]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(e=>this.font.getGlyph(e.id,e.codePoints)))}position(e){return"BEFORE_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),"AFTER_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(e.positions),"rtl"===e.direction&&(e.glyphs.reverse(),e.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(e){for(let t=0;tnew sI(e.advanceWidth));let t=null;this.engine&&this.engine.position&&(t=this.engine.position(e)),t||this.engine&&!this.engine.fallbackPosition||(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new s_(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),t&&t.kern||!1===e.features.kern||!this.font.kern||(this.kernProcessor||(this.kernProcessor=new sv(this.font)),this.kernProcessor.process(e.glyphs,e.positions),e.features.kern=!0)}hideDefaultIgnorables(e,t){let r=this.font.glyphForCodePoint(32);for(let s=0;s>16;if(0===t)switch(e>>8){case 0:return 173===e;case 3:return 847===e;case 6:return 1564===e;case 23:return 6068<=e&&e<=6069;case 24:return 6155<=e&&e<=6158;case 32:return 8203<=e&&e<=8207||8234<=e&&e<=8238||8288<=e&&e<=8303;case 254:return 65024<=e&&e<=65039||65279===e;case 255:return 65520<=e&&e<=65528;default:return!1}else switch(t){case 1:return 113824<=e&&e<=113827||119155<=e&&e<=119162;case 14:return 917504<=e&&e<=921599;default:return!1}}getAvailableFeatures(e,t){let r=[];return this.engine&&r.push(...this.engine.getAvailableFeatures(e,t)),this.font.kern&&-1===r.indexOf("kern")&&r.push("kern"),r}stringsForGlyph(e){let t=new Set;for(let r of this.font._cmapProcessor.codePointsForGlyph(e))t.add(String.fromCodePoint(r));if(this.engine&&this.engine.stringsForGlyph)for(let r of this.engine.stringsForGlyph(e))t.add(r);return Array.from(t)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new sB(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new n3(this.font))}}let n5={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"};class n7{toFunction(){return e=>{this.commands.forEach(t=>e[t.command].apply(e,t.args))}}toSVG(){return this.commands.map(e=>{let t=e.args.map(e=>Math.round(100*e)/100);return`${n5[e.command]}${t.join(" ")}`}).join("")}get cbox(){if(!this._cbox){let e=new sL;for(let t of this.commands)for(let r=0;rMath.pow(1-e,3)*f[g]+3*Math.pow(1-e,2)*e*d[g]+3*(1-e)*Math.pow(e,2)*m[g]+Math.pow(e,3)*p[g];for(let b of this.commands)switch(b.command){case"moveTo":case"lineTo":let[y,w]=b.args;e.addPoint(y,w),t=y,r=w;break;case"quadraticCurveTo":case"bezierCurveTo":if("quadraticCurveTo"===b.command)var[n,a,l,i]=b.args,o=t+2/3*(n-t),u=r+2/3*(a-r),c=l+2/3*(n-l),h=i+2/3*(a-i);else var[o,u,c,h,l,i]=b.args;e.addPoint(l,i);for(var f=[t,r],d=[o,u],m=[c,h],p=[l,i],g=0;g<=1;g++){let t=6*f[g]-12*d[g]+6*m[g],r=-3*f[g]+9*d[g]-9*m[g]+3*p[g];if(b=3*d[g]-3*f[g],0===r){if(0===t)continue;let r=-b/t;0[e*l+r*i+n,t*l+s*i+a])}translate(e,t){return this.transform(1,0,0,1,e,t)}rotate(e){let t=Math.cos(e),r=Math.sin(e);return this.transform(t,r,-r,t,0,0)}scale(e,t=e){return this.transform(e,0,0,t,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}}for(let e of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])n7.prototype[e]=function(...t){return this._bbox=this._cbox=null,this.commands.push({command:e,args:t}),this};var n6=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","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","bracketleft","backslash","bracketright","asciicircum","underscore","grave","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","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];class n8{_getPath(){return new n7}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(e){if(this.id0)var s=Math.abs(t.typoAscender-t.typoDescender),n=t.typoAscender-e.maxY;else{let{hhea:t}=this._font;var s=Math.abs(t.ascent-t.descent),n=t.ascent-e.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(t+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:t,advanceHeight:s,leftBearing:r,topBearing:n}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(e){let t=1/this._font.unitsPerEm*e;return this.path.scale(t)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:e}=this._font;if(!e)return null;switch(e.version){case 1:return n6[this.id];case 2:let t=e.glyphNameIndex[this.id];if(t0&&this.codePoints.every(i.YB),this.isLigature=this.codePoints.length>1}}(0,a.__decorate)([L],n8.prototype,"cbox",null),(0,a.__decorate)([L],n8.prototype,"bbox",null),(0,a.__decorate)([L],n8.prototype,"path",null),(0,a.__decorate)([L],n8.prototype,"advanceWidth",null),(0,a.__decorate)([L],n8.prototype,"advanceHeight",null),(0,a.__decorate)([L],n8.prototype,"name",null);let n9=new s.AU({numberOfContours:s.Af,xMin:s.Af,yMin:s.Af,xMax:s.Af,yMax:s.Af});class ae{copy(){return new ae(this.onCurve,this.endContour,this.x,this.y)}constructor(e,t,r=0,s=0){this.onCurve=e,this.endContour=t,this.x=r,this.y=s}}class at{constructor(e,t,r){this.glyphID=e,this.dx=t,this.dy=r,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}}class ar extends n8{_getCBox(e){if(this._font._variationProcessor&&!e)return this.path.cbox;let t=this._font._getTableStream("glyf");t.pos+=this._font.loca.offsets[this.id];let r=n9.decode(t);return Object.freeze(new sL(r.xMin,r.yMin,r.xMax,r.yMax))}_parseGlyphCoord(e,t,r,s){if(r){var n=e.readUInt8();s||(n=-n),n+=t}else if(s)var n=t;else var n=t+e.readInt16BE();return n}_decode(){let e=this._font.loca.offsets[this.id];if(e===this._font.loca.offsets[this.id+1])return null;let t=this._font._getTableStream("glyf");t.pos+=e;let r=t.pos,s=n9.decode(t);return s.numberOfContours>0?this._decodeSimple(s,t):s.numberOfContours<0&&this._decodeComposite(s,t,r),s}_decodeSimple(e,t){e.points=[];let r=new s.mJ(s.mL,e.numberOfContours).decode(t);e.instructions=new s.mJ(s.w_,s.mL).decode(t);let n=[],a=r[r.length-1]+1;for(;n.length=0,0,0);e.points.push(t)}let o=0;for(var i=0;i>1,i.length=0}function x(e,t){d&&l.closePath(),l.moveTo(e,t),d=!0}let A=function(){for(;s.pos1&&L(),f+=i.shift(),x(h,f);break;case 5:for(;i.length>=2;)h+=i.shift(),f+=i.shift(),l.lineTo(h,f);break;case 6:case 7:for(k=6===g;i.length>=1;)k?h+=i.shift():f+=i.shift(),l.lineTo(h,f),k=!k;break;case 8:for(;i.length>0;)I=h+i.shift(),P=f+i.shift(),U=I+i.shift(),J=P+i.shift(),h=U+i.shift(),f=J+i.shift(),l.bezierCurveTo(I,P,U,J,h,f);break;case 10:if(S=b[u=i.pop()+y]){t[u]=!0;let e=s.pos,r=a;s.pos=S.offset,a=S.offset+S.length,A(),s.pos=e,a=r}break;case 11:if(r.version>=2)break;return;case 14:if(r.version>=2)break;i.length>0&&L(),d&&(l.closePath(),d=!1);break;case 15:if(r.version<2)throw Error("vsindex operator not supported in CFF v1");v=i.pop();break;case 16:{if(r.version<2)throw Error("blend operator not supported in CFF v1");if(!_)throw Error("blend operator in non-variation font");let e=_.getBlendVector(w,v),t=i.pop(),s=t*e.length,n=i.length-s,a=n-t;for(let r=0;r>3;break;case 21:i.length>2&&L(),h+=i.shift(),f+=i.shift(),x(h,f);break;case 22:i.length>1&&L(),x(h+=i.shift(),f);break;case 24:for(;i.length>=8;)I=h+i.shift(),P=f+i.shift(),U=I+i.shift(),J=P+i.shift(),h=U+i.shift(),f=J+i.shift(),l.bezierCurveTo(I,P,U,J,h,f);h+=i.shift(),f+=i.shift(),l.lineTo(h,f);break;case 25:for(;i.length>=8;)h+=i.shift(),f+=i.shift(),l.lineTo(h,f);I=h+i.shift(),P=f+i.shift(),U=I+i.shift(),J=P+i.shift(),h=U+i.shift(),f=J+i.shift(),l.bezierCurveTo(I,P,U,J,h,f);break;case 26:for(i.length%2&&(h+=i.shift());i.length>=4;)I=h,P=f+i.shift(),U=I+i.shift(),J=P+i.shift(),h=U,f=J+i.shift(),l.bezierCurveTo(I,P,U,J,h,f);break;case 27:for(i.length%2&&(f+=i.shift());i.length>=4;)I=h+i.shift(),P=f,U=I+i.shift(),J=P+i.shift(),h=U+i.shift(),f=J,l.bezierCurveTo(I,P,U,J,h,f);break;case 28:i.push(s.readInt16BE());break;case 29:if(S=m[u=i.pop()+p]){e[u]=!0;let t=s.pos,r=a;s.pos=S.offset,a=S.offset+S.length,A(),s.pos=t,a=r}break;case 30:case 31:for(k=31===g;i.length>=4;)k?(I=h+i.shift(),P=f,U=I+i.shift(),f=(J=P+i.shift())+i.shift(),h=U+(1===i.length?i.shift():0)):(I=h,P=f+i.shift(),U=I+i.shift(),J=P+i.shift(),h=U+i.shift(),f=J+(1===i.length?i.shift():0)),l.bezierCurveTo(I,P,U,J,h,f),k=!k;break;case 12:switch(g=s.readUInt8()){case 3:let R=i.pop(),V=i.pop();i.push(R&&V?1:0);break;case 4:R=i.pop(),V=i.pop(),i.push(R||V?1:0);break;case 5:R=i.pop(),i.push(R?0:1);break;case 9:R=i.pop(),i.push(Math.abs(R));break;case 10:R=i.pop(),V=i.pop(),i.push(R+V);break;case 11:R=i.pop(),V=i.pop(),i.push(R-V);break;case 12:R=i.pop(),V=i.pop(),i.push(R/V);break;case 14:R=i.pop(),i.push(-R);break;case 15:R=i.pop(),V=i.pop(),i.push(R===V?1:0);break;case 18:i.pop();break;case 20:let N=i.pop(),q=i.pop();o[q]=N;break;case 21:q=i.pop(),i.push(o[q]||0);break;case 22:let W=i.pop(),j=i.pop(),X=i.pop(),H=i.pop();i.push(X<=H?W:j);break;case 23:i.push(Math.random());break;case 24:R=i.pop(),V=i.pop(),i.push(R*V);break;case 26:R=i.pop(),i.push(Math.sqrt(R));break;case 27:R=i.pop(),i.push(R,R);break;case 28:R=i.pop(),V=i.pop(),i.push(V,R);break;case 29:(q=i.pop())<0?q=0:q>i.length-1&&(q=i.length-1),i.push(i[q]);break;case 30:let Y=i.pop(),Z=i.pop();if(Z>=0)for(;Z>0;){var n=i[Y-1];for(let e=Y-2;e>=0;e--)i[e+1]=i[e];i[0]=n,Z--}else for(;Z<0;){var n=i[0];for(let e=0;e<=Y;e++)i[e]=i[e+1];i[Y-1]=n,Z++}break;case 34:I=h+i.shift(),P=f,U=I+i.shift(),J=P+i.shift(),T=U+i.shift(),O=J,F=T+i.shift(),D=O,M=F+i.shift(),G=D,B=M+i.shift(),E=G,h=B,f=E,l.bezierCurveTo(I,P,U,J,T,O),l.bezierCurveTo(F,D,M,G,B,E);break;case 35:z=[];for(let e=0;e<=5;e++)h+=i.shift(),f+=i.shift(),z.push(h,f);l.bezierCurveTo(...z.slice(0,6)),l.bezierCurveTo(...z.slice(6)),i.shift();break;case 36:I=h+i.shift(),P=f+i.shift(),U=I+i.shift(),J=P+i.shift(),T=U+i.shift(),O=J,F=T+i.shift(),D=O,M=F+i.shift(),G=D+i.shift(),B=M+i.shift(),E=G,h=B,f=E,l.bezierCurveTo(I,P,U,J,T,O),l.bezierCurveTo(F,D,M,G,B,E);break;case 37:let $=h,K=f;z=[];for(let e=0;e<=4;e++)h+=i.shift(),f+=i.shift(),z.push(h,f);Math.abs(h-$)>Math.abs(f-K)?(h+=i.shift(),f=K):(h=$,f+=i.shift()),z.push(h,f),l.bezierCurveTo(...z.slice(0,6)),l.bezierCurveTo(...z.slice(6));break;default:throw Error(`Unknown op: 12 ${g}`)}break;default:throw Error(`Unknown op: ${g}`)}}else if(g<247)i.push(g-139);else if(g<251){var u=s.readUInt8();i.push((g-247)*256+u+108)}else if(g<255){var u=s.readUInt8();i.push(-(256*(g-251))-u-108)}else i.push(s.readInt32BE()/65536)}};return A(),d&&l.closePath(),l}constructor(...e){super(...e),(0,n._)(this,"type","CFF")}}let an=new s.AU({originX:s.mL,originY:s.mL,type:new s.Ld(4),data:new s.lW(e=>e.parent.buflen-e._currentOffset)});class aa extends ar{getImageForSize(e){for(let r=0;r=e)break}let r=t.imageOffsets,s=r[this.id],n=r[this.id+1];return s===n?null:(this._font.stream.pos=s,an.decode(this._font.stream,{buflen:n-s}))}render(e,t){let r=this.getImageForSize(t);if(null!=r){let s=t/this._font.unitsPerEm;e.image(r.data,{height:t,x:r.originX,y:(this.bbox.minY-r.originY)*s})}this._font.sbix.flags.renderOutlines&&super.render(e,t)}constructor(...e){super(...e),(0,n._)(this,"type","SBIX")}}class al{constructor(e,t){this.glyph=e,this.color=t}}class ai extends n8{_getBBox(){let e=new sL;for(let t=0;t>1;var n=t.baseGlyphRecord[e];if(this.idn.gid)r=e+1;else{var a=n;break}}if(null==a){var l=this._font._getBaseGlyph(this.id),i={red:0,green:0,blue:0,alpha:255};return[new al(l,i)]}let o=[];for(let r=a.firstLayerIndex;r=1&&t[r]=r.glyphCount)return;let s=r.offsets[e];if(s===r.offsets[e+1])return;let{stream:n}=this.font;if(n.pos=s,n.pos>=n.length)return;let a=n.readUInt16BE(),l=s+n.readUInt16BE();if(32768&a){var i=n.pos;n.pos=l;var o=this.decodePoints();l=n.pos,n.pos=i}let u=t.map(e=>e.copy());a&=4095;for(let e=0;e=r.globalCoordCount)throw Error("Invalid gvar table");var c=r.globalCoords[4095&s]}if(16384&s){var h=[];for(let e=0;ee.copy()),r=t.map(()=>!1);for(let s=0;sMath.max(0,t[i]))return 0;l=(l*n[i]+Number.EPSILON)/(t[i]+Number.EPSILON)}else{if(n[i]s[i])return 0;l=n[i]a)continue;let i=s,o=s;for(s++;s<=a;)r[s]&&(this.deltaInterpolate(o+1,s-1,o,s,t,e),o=s),s++;o===i?this.deltaShift(n,a,o,t,e):(this.deltaInterpolate(o+1,a,o,i,t,e),i>0&&this.deltaInterpolate(n,i-1,o,i,t,e)),s=a+1}}deltaInterpolate(e,t,r,s,n,a){if(e>t)return;let l=["x","y"];for(let o=0;on[s][u]){var i=r;r=s,s=i}let c=n[r][u],h=n[s][u],f=a[r][u],d=a[s][u];if(c!==h||f===d){let r=c===h?0:(d-f)/(h-c);for(let s=e;s<=t;s++){let e=n[s][u];e<=c?e+=f-c:e>=h?e+=d-h:e=f+(e-c)*r,a[s][u]=e}}}}deltaShift(e,t,r,s,n){let a=n[r].x-s[r].x,l=n[r].y-s[r].y;if(0!==a||0!==l)for(let s=e;s<=t;s++)s!==r&&(n[s].x+=a,n[s].y+=l)}getAdvanceAdjustment(e,t){let r,s;if(t.advanceWidthMapping){let n=e;n>=t.advanceWidthMapping.mapCount&&(n=t.advanceWidthMapping.mapCount-1),t.advanceWidthMapping.entryFormat,{outerIndex:r,innerIndex:s}=t.advanceWidthMapping.mapData[n]}else r=0,s=e;return this.getDelta(t.itemVariationStore,r,s)}getDelta(e,t,r){if(t>=e.itemVariationData.length)return 0;let s=e.itemVariationData[t];if(r>=s.deltaSets.length)return 0;let n=s.deltaSets[r],a=this.getBlendVector(e,t),l=0;for(let e=0;et.peakCoord||t.peakCoord>t.endCoord?1:t.startCoord<0&&t.endCoord>0&&0!==t.peakCoord?1:0===t.peakCoord?1:s[e]t.endCoord?0:s[e]===t.peakCoord?1:s[e]=0&&e<=255?1:2}static encode(e,t){t>=0&&t<=255?e.writeUInt8(t):e.writeInt16BE(t)}}let ah=new s.AU({numberOfContours:s.Af,xMin:s.Af,yMin:s.Af,xMax:s.Af,yMax:s.Af,endPtsOfContours:new s.mJ(s.mL,"numberOfContours"),instructions:new s.mJ(s.w_,s.mL),flags:new s.mJ(s.w_,0),xPoints:new s.mJ(ac,0),yPoints:new s.mJ(ac,0)});class af{encodeSimple(e,t=[]){let r=[],n=[],a=[],l=[],i=0,o=0,u=0,c=0,h=0;for(let t=0;t0&&(l.push(i),i=0),l.push(m),c=m),o=f,u=d,h++}"closePath"===s.command&&r.push(h-1)}e.commands.length>1&&"closePath"!==e.commands[e.commands.length-1].command&&r.push(h-1);let f=e.bbox,d={numberOfContours:r.length,xMin:f.minX,yMin:f.minY,xMax:f.maxX,yMax:f.maxY,endPtsOfContours:r,instructions:t,flags:l,xPoints:n,yPoints:a},m=ah.size(d),p=4-m%4,g=new s.yy(m+p);return ah.encode(g,d),0!==p&&g.fill(0,p),g.buffer}_encodePoint(e,t,r,s,n,a){let l=e-t;return e===t?s|=a:(-255<=l&&l<=255&&(s|=n,l<0?l=-l:s|=a),r.push(l)),s}}class ad extends au{_addGlyph(e){let t=this.font.getGlyph(e),r=t._decode(),s=this.font.loca.offsets[e],n=this.font.loca.offsets[e+1],a=this.font._getTableStream("glyf");a.pos+=s;let l=a.readBuffer(n-s);if(r&&r.numberOfContours<0){let t=new DataView((l=new Uint8Array(l)).buffer);for(let s of r.components)e=this.includeGlyph(s.glyphID),t.setUint16(s.pos,e)}else r&&this.font._variationProcessor&&(l=this.glyphEncoder.encodeSimple(t.path,r.instructions));return this.glyf.push(l),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:t.advanceWidth,bearing:t._getMetrics().leftBearing}),this.offset+=l.length,this.glyf.length-1}encode(){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let e=0;for(;e255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},t=Object.assign({},this.cff.topDict);for(let r of(t.Private=null,t.charset=e,t.Encoding=null,t.CharStrings=this.charstrings,["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"]))t[r]=this.addString(this.cff.string(t[r]));t.ROS=[this.addString("Adobe"),this.addString("Identity"),0],t.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(t):this.createCIDFontdict(t);let r={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[t],stringIndex:this.strings,globalSubrIndex:this.gsubrs};return tn.toBuffer(r)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw Error("Not a CFF Font")}}class ap{static probe(e){let t=sp.decode(e.slice(0,4));return"true"===t||"OTTO"===t||t===String.fromCharCode(0,1,0,0)}setDefaultLanguage(e=null){this.defaultLanguage=e}_getTable(e){if(!(e.tag in this._tables))try{this._tables[e.tag]=this._decodeTable(e)}catch(t){g&&(console.error(`Error decoding table ${e.tag}`),console.error(t.stack))}return this._tables[e.tag]}_getTableStream(e){let t=this.directory.tables[e];return t?(this.stream.pos=t.offset,this.stream):null}_decodeDirectory(){return this.directory=sf.decode(this.stream,{_startOffset:0})}_decodeTable(e){let t=this.stream.pos,r=this._getTableStream(e.tag),s=sc[e.tag].decode(r,this,e.length);return this.stream.pos=t,s}getName(e,t=this.defaultLanguage||v){let r=this.name&&this.name.records[e];return r&&(r[t]||r[this.defaultLanguage]||r[v]||r.en||r[Object.keys(r)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let e=this["OS/2"];return e?e.capHeight:this.ascent}get xHeight(){let e=this["OS/2"];return e?e.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new sL(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new sw(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(e){return!!this._cmapProcessor.lookup(e)}glyphForCodePoint(e){return this.getGlyph(this._cmapProcessor.lookup(e),[e])}glyphsForString(e){let t=[],r=e.length,s=0,n=-1,a=-1;for(;s<=r;){let l=0,i=0;if(s{let s=t.axisTag.trim();return s in e?Math.max(t.minValue,Math.min(t.maxValue,e[s])):t.defaultValue}),r=new s.fT(this.stream.buffer);r.pos=this._directoryPos;let n=new ap(r,t);return n._tables=this._tables,n}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return e||this.CFF2?(e||(e=this.fvar.axis.map(e=>e.defaultValue)),new ao(this,e)):null}getFont(e){return this.getVariation(e)}constructor(e,t=null){for(let r in(0,n._)(this,"type","TTF"),this.defaultLanguage=null,this.stream=e,this.variationCoords=t,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory(),this.directory.tables){let e=this.directory.tables[r];sc[r]&&e.length>0&&Object.defineProperty(this,r,{get:this._getTable.bind(this,e)})}}}(0,a.__decorate)([L],ap.prototype,"bbox",null),(0,a.__decorate)([L],ap.prototype,"_cmapProcessor",null),(0,a.__decorate)([L],ap.prototype,"characterSet",null),(0,a.__decorate)([L],ap.prototype,"_layoutEngine",null),(0,a.__decorate)([L],ap.prototype,"variationAxes",null),(0,a.__decorate)([L],ap.prototype,"namedVariations",null),(0,a.__decorate)([L],ap.prototype,"_variationProcessor",null);let ag=new s.AU({tag:new s.Ld(4),offset:new s.$J(s.U7,"void",{type:"global"}),compLength:s.U7,length:s.U7,origChecksum:s.U7}),ab=new s.AU({tag:new s.Ld(4),flavor:s.U7,length:s.U7,numTables:s.mL,reserved:new s.kV(s.mL),totalSfntSize:s.U7,majorVersion:s.mL,minorVersion:s.mL,metaOffset:s.U7,metaLength:s.U7,metaOrigLength:s.U7,privOffset:s.U7,privLength:s.U7,tables:new s.mJ(ag,"numTables")});ab.process=function(){let e={};for(let t of this.tables)e[t.tag]=t;this.tables=e};class ay extends ap{static probe(e){return"wOFF"===sp.decode(e.slice(0,4))}_decodeDirectory(){this.directory=ab.decode(this.stream,{_startOffset:0})}_getTableStream(e){let t=this.directory.tables[e];if(t){if(this.stream.pos=t.offset,!(t.compLength(63&e.flags)==63),tag:e=>e.customTag||a_[63&e.flags],length:av,transformVersion:e=>e.flags>>>6&3,transformed:e=>"glyf"===e.tag||"loca"===e.tag?0===e.transformVersion:0!==e.transformVersion,transformLength:new s.Fi(av,e=>e.transformed)}),aC=new s.AU({tag:new s.Ld(4),flavor:s.U7,length:s.U7,numTables:s.mL,reserved:new s.kV(s.mL),totalSfntSize:s.U7,totalCompressedSize:s.U7,majorVersion:s.mL,minorVersion:s.mL,metaOffset:s.U7,metaLength:s.U7,metaOrigLength:s.U7,privOffset:s.U7,privLength:s.U7,tables:new s.mJ(aL,"numTables")});aC.process=function(){let e={};for(let t=0;t0){let t=[],n=0;for(let r=0;r>7);if((u&=127)<10)r=0,o=aI(u,((14&u)<<7)+t.readUInt8());else if(u<20)r=aI(u,((u-10&14)<<7)+t.readUInt8()),o=0;else if(u<84){var l=u-20,i=t.readUInt8();r=aI(u,1+(48&l)+(i>>4)),o=aI(u>>1,1+((12&l)<<2)+(15&i))}else if(u<120){var l=u-84;r=aI(u,1+(l/12<<8)+t.readUInt8()),o=aI(u>>1,1+(l%12>>2<<8)+t.readUInt8())}else if(u<124){var i=t.readUInt8();let e=t.readUInt8();r=aI(u,(i<<4)+(e>>4)),o=aI(u>>1,((15&e)<<8)+t.readUInt8())}else r=aI(u,t.readUInt16BE()),o=aI(u>>1,t.readUInt16BE());n+=r,s+=o,a.push(new ae(c,!1,n,s))}return a}(e.flags,e.glyphs,n);for(let e=0;ee[r]===t))return n}return null}get fonts(){let e=[];for(let t of this.header.offsets){let r=new s.fT(this.stream.buffer);r.pos=t,e.push(new ap(r))}return e}constructor(e){if((0,n._)(this,"type","TTC"),this.stream=e,"ttcf"!==e.readString(4))throw Error("Not a TrueType collection");this.header=aP.decode(e)}}let aJ=new s.Ld(s.w_);new s.AU({len:s.U7,buf:new s.lW("len")});let aT=new s.AU({id:s.mL,nameOffset:s.Af,attr:s.w_,dataOffset:s.Un,handle:s.U7}),aO=new s.AU({name:new s.Ld(4),maxTypeIndex:s.mL,refList:new s.$J(s.mL,new s.mJ(aT,e=>e.maxTypeIndex+1),{type:"parent"})}),aF=new s.AU({length:s.mL,types:new s.mJ(aO,e=>e.length+1)}),aD=new s.AU({reserved:new s.kV(s.w_,24),typeList:new s.$J(s.mL,aF),nameListOffset:new s.$J(s.mL,"void")}),aM=new s.AU({dataOffset:s.U7,map:new s.$J(s.U7,aD),dataLength:s.U7,mapLength:s.U7});class aG{static probe(e){let t=new s.fT(e);try{var r=aM.decode(t)}catch(e){return!1}for(let e of r.map.typeList.types)if("sfnt"===e.name)return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,n=new ap(new s.fT(this.stream.buffer.slice(r)));if(n.postscriptName===e||n.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&n.postscriptName.every((t,r)=>e[r]===t))return n}return null}get fonts(){let e=[];for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,n=new s.fT(this.stream.buffer.slice(r));e.push(new ap(n))}return e}constructor(e){for(let t of((0,n._)(this,"type","DFont"),this.stream=e,this.header=aM.decode(this.stream),this.header.map.typeList.types)){for(let e of t.refList)e.nameOffset>=0?(this.stream.pos=e.nameOffset+this.header.map.nameListOffset,e.name=aJ.decode(this.stream)):e.name=null;"sfnt"===t.name&&(this.sfnt=t)}}}y(ap),y(ay),y(ax),y(aU),y(aG)}}]);