{"version":3,"file":"c869f9c7-3f92bab3ccc0906e8b60.js","mappings":";oGAAA,IAuDiDA,EAvD7CC,EAAO,EAAQ,OAEfC,EAAqB,EAAQ,KAE7BC,EAAyB,EAAQ,OAEjCC,EAAe,EAAQ,OAEvBC,EAAkB,EAAQ,OAE1BC,EAAY,EAAQ,MAEpBC,EAA6B,EAAQ,OAErCC,EAAkB,EAAQ,OAE1BC,EAAsB,EAAQ,OAE9BC,EAAiB,EAAQ,OAEzBC,EAAoB,EAAQ,OAIhC,SAASC,EAA2BC,EAAGC,GAAkB,IAAIC,EAAuB,oBAAXC,QAA0BH,EAAEG,OAAOC,WAAaJ,EAAE,cAAe,IAAKE,EAAI,CAAE,GAAIG,MAAMC,QAAQN,KAAOE,EAE9K,SAAqCF,EAAGO,GAAU,IAAKP,EAAG,OAAQ,GAAiB,iBAANA,EAAgB,OAAOQ,EAAkBR,EAAGO,GAAS,IAAIE,EAAIC,OAAOC,UAAUC,SAASC,KAAKb,GAAGc,MAAM,GAAI,GAAc,WAANL,GAAkBT,EAAEe,cAAaN,EAAIT,EAAEe,YAAYC,MAAM,GAAU,QAANP,GAAqB,QAANA,EAAa,OAAOJ,MAAMY,KAAKjB,GAAI,GAAU,cAANS,GAAqB,2CAA2CS,KAAKT,GAAI,OAAOD,EAAkBR,EAAGO,GAFnOY,CAA4BnB,KAAOC,GAAkBD,GAAyB,iBAAbA,EAAEoB,OAAqB,CAAMlB,IAAIF,EAAIE,GAAI,IAAImB,EAAI,EAAOC,EAAI,aAAiB,MAAO,CAAEC,EAAGD,EAAGb,EAAG,WAAe,OAAIY,GAAKrB,EAAEoB,OAAe,CAAEI,MAAM,GAAe,CAAEA,MAAM,EAAOC,MAAOzB,EAAEqB,OAAWK,EAAG,SAAWC,GAAM,MAAMA,GAAOC,EAAGN,GAAO,MAAM,IAAIO,UAAU,yIAA4I,IAA6CC,EAAzCC,GAAmB,EAAMC,GAAS,EAAY,MAAO,CAAET,EAAG,WAAerB,EAAKA,EAAGW,KAAKb,IAAOS,EAAG,WAAe,IAAIwB,EAAO/B,EAAGgC,OAAsC,OAA9BH,EAAmBE,EAAKT,KAAaS,GAASP,EAAG,SAAWS,GAAOH,GAAS,EAAMF,EAAMK,GAAQP,EAAG,WAAe,IAAWG,GAAiC,MAAb7B,EAAGkC,QAAgBlC,EAAGkC,SAAY,QAAU,GAAIJ,EAAQ,MAAMF,KAIz9B,SAAStB,EAAkB6B,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIjB,UAAQkB,EAAMD,EAAIjB,QAAQ,IAAK,IAAIC,EAAI,EAAGkB,EAAO,IAAIlC,MAAMiC,GAAMjB,EAAIiB,EAAKjB,IAAOkB,EAAKlB,GAAKgB,EAAIhB,GAAM,OAAOkB,EAEhL,SAASC,EAAaC,GAAW,IAAIC,EAErC,WAAuC,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQpC,UAAUqC,QAAQnC,KAAK8B,QAAQC,UAAUG,QAAS,IAAI,iBAAyB,EAAQ,MAAOrB,GAAK,OAAO,GAF9PuB,GAA6B,OAAO,WAAkC,IAAsCC,EAAlCC,EAAQxD,EAAgB8C,GAAkB,GAAIC,EAA2B,CAAE,IAAIU,EAAYzD,EAAgB0D,MAAMtC,YAAamC,EAASP,QAAQC,UAAUO,EAAOG,UAAWF,QAAqBF,EAASC,EAAMI,MAAMF,KAAMC,WAAc,OAAO5D,EAA2B2D,KAAMH,IAR5Z,EAAQ,OAiCyC/D,EAExC,WACP,OAEE,SAAUqE,GAOR,IAAIC,EAAmB,GAQvB,SAASC,EAAoBC,GAO3B,GAAIF,EAAiBE,GAEnB,OAAOF,EAAiBE,GAAUC,QASpC,IAAIC,EAASJ,EAAiBE,GAAY,CAExCtC,EAAGsC,EAGHG,GAAG,EAGHF,QAAS,IA2BX,OAhBAJ,EAAQG,GAAU9C,KAAKgD,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAQ/DG,EAAOC,GAAI,EAQJD,EAAOD,QAkLhB,OArKAF,EAAoBK,EAAIP,EAQxBE,EAAoBM,EAAIP,EAQxBC,EAAoBO,EAAI,SAAUL,EAAS5C,EAAMkD,GAE1CR,EAAoB1D,EAAE4D,EAAS5C,IAElCN,OAAOyD,eAAeP,EAAS5C,EAAM,CACnCoD,YAAY,EACZC,IAAKH,KAeXR,EAAoBY,EAAI,SAAUV,GAEV,oBAAXzD,QAA0BA,OAAOoE,aAE1C7D,OAAOyD,eAAeP,EAASzD,OAAOoE,YAAa,CACjD9C,MAAO,WAOXf,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,KAwBXiC,EAAoBc,EAAI,SAAU/C,EAAOgD,GAKvC,GAHW,EAAPA,IAAUhD,EAAQiC,EAAoBjC,IAG/B,EAAPgD,EAAU,OAAOhD,EAGrB,GAAW,EAAPgD,GAA6B,iBAAVhD,GAAsBA,GAASA,EAAMiD,WAAY,OAAOjD,EAG/E,IAAIkD,EAAKjE,OAAOkE,OAAO,MAavB,GAVAlB,EAAoBY,EAAEK,GAItBjE,OAAOyD,eAAeQ,EAAI,UAAW,CACnCP,YAAY,EACZ3C,MAAOA,IAIE,EAAPgD,GAA4B,iBAAThD,EAAmB,IAAK,IAAIoD,KAAOpD,EACxDiC,EAAoBO,EAAEU,EAAIE,EAAK,SAAUA,GACvC,OAAOpD,EAAMoD,IACbC,KAAK,KAAMD,IAIf,OAAOF,GAWTjB,EAAoBjD,EAAI,SAAUoD,GAEhC,IAAIK,EAASL,GAAUA,EAAOa,WAE9B,WACE,OAAOb,EAAgB,SAGzB,WACE,OAAOA,GAQT,OAJAH,EAAoBO,EAAEC,EAAQ,IAAKA,GAI5BA,GAWTR,EAAoB1D,EAAI,SAAU+E,EAAQC,GACxC,OAAOtE,OAAOC,UAAUsE,eAAepE,KAAKkE,EAAQC,IAUtDtB,EAAoBwB,EAAI,GAUjBxB,EAAoBA,EAAoBnC,EAAI,GAxPhD,CA0PH,CA8LF,SAAUsC,EAAQD,EAASF,GACzB,aAEA,IAGIyB,EAAkBzB,EAAoB,GAE1CE,EAAQwB,qBAAuBD,EAAgBC,sBAE9C,SAAUvB,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQwB,qBAAuBxB,EAAQyB,gBAAa,EAEpD,IAAIC,EAAQ5B,EAAoB,GAE5B6B,EAAc7B,EAAoB,GAElC8B,EAAe9B,EAAoB,GAEnC+B,EAAW/B,EAAoB,IAE/BgC,EAAmBhC,EAAoB,IAEvCiC,EAAiBjC,EAAoB,IAErCkC,EAAclC,EAAoB,GAElC2B,EAAa,WACf,SAASA,EAAWrE,GAClBqC,KAAKrC,KAAOA,EACZqC,KAAKwC,YAAa,EAClBxC,KAAKyC,aAAc,EAAIR,EAAMS,2BAoB/B,OAjBAV,EAAW1E,UAAY,CACjBqF,eACF,OAAO3C,KAAKyC,YAAYG,SAG1BC,OAAQ,WACN7C,KAAKyC,YAAYK,WAEnBC,UAAW,WACT/C,KAAKwC,YAAa,GAEpBQ,oBAAqB,WACnB,GAAIhD,KAAKwC,WACP,MAAM,IAAIS,MAAM,gCAIfjB,EAxBQ,GA2BjBzB,EAAQyB,WAAaA,EACrB,IAigBuBkB,EAjgBnBnB,EAAuB,CACzBoB,MAAO,SAAeC,EAASC,GAC7B,IAAIC,GAAuB,EAC3BF,EAAQG,GAAG,QAAQ,SAAsBC,GACvC,IAAIF,EAMJ,GAFAA,GAAuB,EAEjBE,aAAgBC,WAAtB,CAKA,IAAIC,EAA+B,MAAZF,EAAK,GAC5BJ,EAAQO,qBAAuBD,EAC/BN,EAAQQ,KAAK,OAAQ,CACnBF,iBAAkBA,SAPlBN,EAAQQ,KAAK,OAAQ,SAUzBR,EAAQG,GAAG,aAAa,SAAsBC,IAC5C,EAAIvB,EAAM4B,mBAAmBL,EAAKM,cAEpCV,EAAQG,GAAG,iBAAiB,SAAqBC,GAC/C,OAAOzB,EAAqBgC,sBAAsBP,EAAMH,OAG5DU,sBAAuB,SAA+BC,EAAWX,GAC/D,IAAIY,EACAzB,GAAa,EACb0B,EAAa,KACbC,EAAc,GACdL,GAAY,EAAI7B,EAAMmC,qBACtBC,EAAaL,EAAUK,WACvBC,EAAgB,UAEpB,GAAID,IAAeC,EACjB,MAAM,IAAIrB,MAAM,oBAAqBsB,OAAOF,EAAY,qBAAwB,uBAAwBE,OAAOD,EAAe,OAGhI,IAAIE,EAAuB,GAE3B,IAAK,IAAI7C,IAAY,GACnB6C,EAAqBC,KAAK9C,GAG5B,GAAI6C,EAAqBzG,OACvB,MAAM,IAAIkF,MAAM,oEAAsEuB,EAAqBE,KAAK,MAAQ,0DAG1H,IAAIC,EAAQX,EAAUW,MAClBC,EAAaZ,EAAUY,WACvBC,EAAoBb,EAAUW,MAAQ,UACtCvB,EAAU,IAAIf,EAAiByC,eAAeD,EAAmBF,EAAOtB,GAG5E,SAASL,IACP,GAAIR,EACF,MAAM,IAAIS,MAAM,yBAIpB,SAAS8B,EAAgBC,GACvBb,EAAYM,KAAKO,GAGnB,SAASC,EAAiBD,GACxBA,EAAKnC,SACL,IAAI7E,EAAImG,EAAYe,QAAQF,GAC5Bb,EAAYgB,OAAOnH,EAAG,GAGxB,SAASoH,EAAaC,GACpB,OAAOC,EAAcpF,MAAMF,KAAMC,WAGnC,SAASqF,IAiDP,OAhDAA,EAAgB7I,EAAgCF,EAAoBgJ,MAAK,SAASC,EAAQC,GACxF,IAAIC,EAAoBC,EAAqBC,EAAUC,EAEvD,OAAOtJ,EAAoBuJ,MAAK,SAAkBC,GAChD,OACE,OAAQA,EAASC,KAAOD,EAASlH,MAC/B,KAAK,EAEH,OADAkH,EAASlH,KAAO,EACToF,EAAWgC,UAAU,eAE9B,KAAK,EAEH,OADAF,EAASlH,KAAO,EACToF,EAAWgC,UAAU,kBAE9B,KAAK,EAEH,OADAF,EAASlH,KAAO,EACToF,EAAWgC,UAAU,QAAS,CAACR,IAExC,KAAK,EACH,GAAIA,EAAc,CAChBM,EAASlH,KAAO,EAChB,MAIF,OADAkH,EAASlH,KAAO,EACToF,EAAWgC,UAAU,kBAE9B,KAAK,EAEH,OADAF,EAASlH,KAAO,GACTqH,QAAQC,IAAI,CAAClC,EAAWgC,UAAU,YAAahC,EAAWgC,UAAU,iBAE7E,KAAK,GAKH,OAJAP,EAAqBK,EAASK,KAC9BT,EAAsBnJ,EAAekJ,EAAoB,GACzDE,EAAWD,EAAoB,GAC/BE,EAAcF,EAAoB,GAC3BI,EAASM,OAAO,SAAU,CAC/BT,SAAUA,EACVC,YAAaA,IAGjB,KAAK,GACL,IAAK,MACH,OAAOE,EAASO,UAGrBd,QAEgBtF,MAAMF,KAAMC,WAGnC,SAASsG,EAAc/C,EAAMgD,GAC3B,IACIvC,EADAwC,GAAuB,EAAIxE,EAAMS,2BAEjCgE,EAASlD,EAAKkD,OAElB,GAAIA,EAAOlD,KAAM,CACf,IACES,EAAa,IAAI9B,EAAawE,gBAAgBhC,EAAO+B,EAAOlD,KAAMkD,EAAOE,SAAUJ,EAAkB5B,GACrG6B,EAAqB3D,QAAQmB,GAC7B,MAAO4C,GACPJ,EAAqBK,OAAOD,GAG9B,OAAOJ,EAAqB7D,QAG9B,IAAImE,EACAC,EAAe,GAEnB,IACED,EAAY,IAAIzE,EAAe2E,gBAAgB7D,GAC/C,MAAOyD,GAEP,OADAJ,EAAqBK,OAAOD,GACrBJ,EAAqB7D,QAG9B,IAAIsE,EAAcH,EAAUI,gBAC5BD,EAAYE,aAAaC,MAAK,WAC5B,GAAKH,EAAYI,iBAAjB,CAIA,IAAIC,EAAmBb,EAAOa,kBAAoBL,EAAYM,qBAC9DvD,EAAa,IAAI9B,EAAasF,kBAAkB9C,EAAOoC,EAAW,CAChEW,WAAYtE,EACZwD,SAAUF,EAAOE,SACjB7I,OAAQmJ,EAAYS,cACpBJ,iBAAkBA,EAClBK,eAAgBlB,EAAOkB,gBACtBpB,EAAkB5B,GAErB,IAAK,IAAI5G,EAAI,EAAGA,EAAIgJ,EAAajJ,OAAQC,IACvCiG,EAAW4D,oBAAoBb,EAAahJ,IAG9CgJ,EAAe,GACfP,EAAqB3D,QAAQmB,GAC7BC,EAAa,SACZ4D,OAAM,SAAUC,GACjBtB,EAAqBK,OAAOiB,GAC5B7D,EAAa,QAEf,IAAI8D,EAAS,EAmBTC,EAAc,IAAI/B,SAAQ,SAAUpD,EAASgE,GAoC/CI,EAAYgB,OAAOb,MAnCH,SAASc,EAAUC,GACjC,IAGE,GAFApF,IAEIoF,EAAMjK,KAMR,OALK8F,GAvBK,WAChB,IAAIoE,GAAU,EAAIpG,EAAMqG,eAAetB,GAEnCN,EAAO3I,QAAUsK,EAAQtK,SAAW2I,EAAO3I,SAC7C,EAAIkE,EAAMsG,MAAM,iDAGlB,IACEtE,EAAa,IAAI9B,EAAawE,gBAAgBhC,EAAO0D,EAAS3B,EAAOE,SAAUJ,EAAkB5B,GACjG6B,EAAqB3D,QAAQmB,GAC7B,MAAO4C,GACPJ,EAAqBK,OAAOD,GAG9BG,EAAe,GAUPwB,QAGFtE,EAAa,MAIf,IAAIV,EAAO4E,EAAMhK,MACjB4J,IAAU,EAAI/F,EAAMwG,iBAAiBjF,GAEhC0D,EAAYM,sBACfpE,EAAQQ,KAAK,cAAe,CAC1BoE,OAAQA,EACRU,MAAOC,KAAKC,IAAIZ,EAAQd,EAAYS,eAAiB,KAIrD1D,EACFA,EAAW4D,oBAAoBrE,GAE/BwD,EAAavC,KAAKjB,GAGpB0D,EAAYgB,OAAOb,KAAKc,EAAWrB,GACnC,MAAOzI,GACPyI,EAAOzI,MAIwByI,MAWrC,OATAmB,EAAYH,OAAM,SAAUzJ,GAC1BoI,EAAqBK,OAAOzI,GAC5B6F,EAAa,QAGfA,EAAa,SAAoB6D,GAC/BhB,EAAU8B,kBAAkBd,IAGvBtB,EAAqB7D,QAgQ9B,OAhcAQ,EAAQO,qBAAuBK,EAAUL,qBA0QzCP,EAAQG,GAAG,WAAW,SAAyBC,GAC7C,OAAOS,EAAW6E,QAAQtF,EAAKuF,WAAW1B,MAAK,SAAU2B,GACvD,OAAO9C,QAAQC,IAAI,CAAClC,EAAWgF,OAAOD,EAAM,UAAW/E,EAAWgF,OAAOD,EAAM,OAAQ/E,EAAWgF,OAAOD,EAAM,YAAa/E,EAAWgF,OAAOD,EAAM,UAAU3B,MAAK,SAAU6B,GAC3K,IAAIC,EAAQ3M,EAAe0M,EAAM,GAMjC,MAAO,CACLE,OANWD,EAAM,GAOjBE,IANQF,EAAM,GAOdG,SANaH,EAAM,GAOnBI,KANSJ,EAAM,aAWvB/F,EAAQG,GAAG,gBAAgB,SAA8BC,GACvD,IAAI6F,EAAMnH,EAAYsH,IAAIxI,IAAIwC,EAAK6F,IAAII,IAAKjG,EAAK6F,IAAIK,KAGrD,OADczF,EAAW0F,YAAYC,QACtBC,aAAaR,MAE9BjG,EAAQG,GAAG,mBAAmB,SAAiCC,GAC7D,OAAOS,EAAW6F,cAAc,mBAElC1G,EAAQG,GAAG,kBAAkB,SAAgCC,GAC3D,OAAOS,EAAW6F,cAAc,iBAAkB,CAACtG,EAAKuG,QAE1D3G,EAAQG,GAAG,iBAAiB,SAA+BC,GACzD,OAAOS,EAAW6F,cAAc,iBAElC1G,EAAQG,GAAG,iBAAiB,SAA+BC,GACzD,OAAOS,EAAW6F,cAAc,iBAElC1G,EAAQG,GAAG,eAAe,SAA6BC,GACrD,OAAOS,EAAW6F,cAAc,eAElC1G,EAAQG,GAAG,wBAAwB,SAAUC,GAC3C,OAAOS,EAAW6F,cAAc,wBAElC1G,EAAQG,GAAG,iBAAiB,SAAUC,GACpC,OAAOS,EAAW6F,cAAc,iBAElC1G,EAAQG,GAAG,kBAAkB,SAAgCC,GAC3D,OAAOS,EAAW6F,cAAc,kBAElC1G,EAAQG,GAAG,iBAAiB,SAA+BC,GACzD,OAAOS,EAAW6F,cAAc,iBAElC1G,EAAQG,GAAG,cAAc,SAA4BC,GACnD,OAAOS,EAAW6F,cAAc,sBAElC1G,EAAQG,GAAG,kBAAkB,SAAUC,GACrC,OAAOS,EAAW6F,cAAc,kBAElC1G,EAAQG,GAAG,eAAe,SAA6BC,GACrD,OAAO0C,QAAQC,IAAI,CAAClC,EAAWgC,UAAU,gBAAiBhC,EAAW6F,cAAc,iBAErF1G,EAAQG,GAAG,WAAW,SAAyBC,GAE7C,OADAS,EAAW+F,sBACJ/F,EAAWgG,iBAAiB5C,MAAK,SAAU6C,GAChD,OAAOA,EAAOC,YAGlB/G,EAAQG,GAAG,YAAY,SAA0BC,GAC/C,OAAOS,EAAW0F,YAAYS,KAAKC,SAErCjH,EAAQG,GAAG,kBAAkB,SAAU+G,GACrC,IAAIvB,EAAYuB,EAAMvB,UAClBwB,EAASD,EAAMC,OACnB,OAAOtG,EAAW6E,QAAQC,GAAW1B,MAAK,SAAU2B,GAClD,OAAOA,EAAKwB,mBAAmBD,SAGnCnH,EAAQG,GAAG,mBAAmB,SAA4BC,EAAMiH,GAC9D,IAAI1B,EAAYvF,EAAKuF,UACrB9E,EAAW6E,QAAQC,GAAW1B,MAAK,SAAU2B,GAC3C,IAAIhE,EAAO,IAAIhD,EAAW,yBAAyBuC,OAAOwE,IAC1DhE,EAAgBC,GAChB,IAAI0F,EAAQ5G,GAAa7B,EAAM0I,eAAeC,MAAQC,KAAKC,MAAQ,EACnE9B,EAAK+B,gBAAgB,CACnB3H,QAASA,EACTqH,KAAMA,EACNzF,KAAMA,EACNuF,OAAQ/G,EAAK+G,OACbS,uBAAwBxH,EAAKwH,yBAC5B3D,MAAK,SAAU4D,GAChBhG,EAAiBD,GAEb0F,IACF,EAAIzI,EAAMiJ,MAAM,QAAQ3G,OAAOwE,EAAY,EAAG,6BAA+B,GAAGxE,OAAOsG,KAAKC,MAAQJ,EAAO,YAAYnG,OAAO0G,EAAiBlN,SAGjJ0M,EAAKU,WACJ,SAAUpD,GACX9C,EAAiBD,GAEbA,EAAKxC,aAITY,EAAQQ,KAAK,qBAAsB,CACjCwH,UAAWnJ,EAAMoJ,qBAAqBC,UAExCb,EAAKc,MAAMxD,YAGd/H,MACHoD,EAAQG,GAAG,kBAAkB,SAAwBC,EAAMiH,GACzD,IAAI1B,EAAYvF,EAAKuF,UAErB0B,EAAKe,OAAS,SAAUC,KAExBhB,EAAKiB,SAAW,SAAU3D,KAE1B9D,EAAW6E,QAAQC,GAAW1B,MAAK,SAAU2B,GAC3C,IAAIhE,EAAO,IAAIhD,EAAW,wBAA0B+G,GACpDhE,EAAgBC,GAChB,IAAI0F,EAAQ5G,GAAa7B,EAAM0I,eAAeC,MAAQC,KAAKC,MAAQ,EACnE9B,EAAK2C,mBAAmB,CACtBvI,QAASA,EACT4B,KAAMA,EACNyF,KAAMA,EACNmB,oBAAqBpI,EAAKoI,oBAC1BC,iBAAkBrI,EAAKqI,mBACtBxE,MAAK,WACNpC,EAAiBD,GAEb0F,IACF,EAAIzI,EAAMiJ,MAAM,QAAQ3G,OAAOwE,EAAY,EAAG,4BAA8B,GAAGxE,OAAOsG,KAAKC,MAAQJ,EAAO,OAG5GD,EAAKU,WACJ,SAAUpD,GACX9C,EAAiBD,GAEbA,EAAKxC,YAITiI,EAAKc,MAAMxD,YAIjB3E,EAAQG,GAAG,gBAAgB,SAAUC,GACnC,OAAOS,EAAW6H,aAAatI,EAAKuG,GAAI3G,MAE1CA,EAAQG,GAAG,WAAW,SAAoBC,GACxC,OAAOS,EAAW8H,aAEpB3I,EAAQG,GAAG,aAAa,SAAsBC,GAC5ChB,GAAa,EACb,IAAIwJ,EAAS,GAEb,GAAI/H,EAAY,CACdA,EAAWlB,UAAU,IAAId,EAAMgK,eAAe,2BAC9C,IAAIC,EAAiBjI,EAAW8H,UAChCC,EAAOvH,KAAKyH,GACZjI,EAAa,UAEb,EAAI/B,EAAYiK,wBAWlB,OARIjI,GACFA,EAAW,IAAIjC,EAAMgK,eAAe,2BAGtC9H,EAAYiI,SAAQ,SAAUpH,GAC5BgH,EAAOvH,KAAKO,EAAKrC,UACjBqC,EAAKjC,eAEAmD,QAAQC,IAAI6F,GAAQ3E,MAAK,WAC9BjE,EAAQiJ,UACRjJ,EAAU,WAGdA,EAAQG,GAAG,SAAS,SAAkBC,IAzPtC,SAAkBA,GAChB,SAAS8I,EAAUC,GACjBvJ,IACAI,EAAQQ,KAAK,SAAU,CACrB4I,QAASD,IAIb,SAASE,EAAU5F,GAGjB,GAFA7D,IAEI6D,aAAc5E,EAAMyK,kBAAmB,CACzC,IAAI1H,EAAO,IAAIhD,EAAW,+BAA+BuC,OAAOsC,EAAG8F,OACnE5H,EAAgBC,GAChB5B,EAAQwJ,gBAAgB,kBAAmB/F,GAAIQ,MAAK,SAAU7D,GAC5DyB,EAAiBD,GACjBf,EAAW4I,eAAerJ,EAAKoD,UAC/BkG,OACChF,OAAM,WACP7C,EAAiBD,GACjB5B,EAAQQ,KAAK,eAAgBiD,WAEtBA,aAAc5E,EAAM8K,qBAAuBlG,aAAc5E,EAAM+K,qBAAuBnG,aAAc5E,EAAMgL,6BAA+BpG,aAAc5E,EAAMiL,sBACtK9J,EAAQQ,KAAK,eAAgBiD,GAE7BzD,EAAQQ,KAAK,eAAgB,IAAI3B,EAAMiL,sBAAsBrG,EAAGsG,QAAStG,EAAGtJ,aAIhF,SAASuP,IACP9J,IACAoC,GAAa,GAAOiC,KAAKiF,GAAW,SAAqBzF,GACvD7D,IAEM6D,aAActE,EAAY6K,oBAKhCnJ,EAAW+F,sBACX/F,EAAWgG,iBAAiB5C,MAAK,WAC/BrE,IACAoC,GAAa,GAAMiC,KAAKiF,EAAWG,OAPnCA,EAAU5F,KASX4F,GAGLzJ,IASAuD,EAAc/C,EARS,CACrB6J,gBAAiB7J,EAAK8J,uBACtBC,aAAc/J,EAAK+J,aACnBC,gBAAiBhK,EAAKgK,gBACtBC,0BAA2BjK,EAAKiK,0BAChCC,aAAclK,EAAKkK,aACnBC,gBAAiBnK,EAAKmK,kBAEctG,MAAK,SAAUuG,GACnD,GAAIpL,EAEF,MADAoL,EAAc7K,UAAU,IAAId,EAAMgK,eAAe,2BAC3C,IAAIhJ,MAAM,0BAGlBgB,EAAa2J,GACF3D,iBAAiB5C,MAAK,SAAU6C,GACzC9G,EAAQQ,KAAK,aAAc,CACzB7F,OAAQmM,EAAOC,MAAM0D,mBAGxBxG,KAAKyF,EAAiBL,GAsLzBqB,CAAS9J,GACTA,EAAY,QAEPa,GAETkJ,mBAAoB,SAA4B1K,GAC9C,IAAID,EAAU,IAAIf,EAAiByC,eAAe,SAAU,OAAQzB,GACpEtB,EAAqBoB,MAAMC,EAASC,GACpCD,EAAQQ,KAAK,QAAS,QAG1BrD,EAAQwB,qBAAuBA,EAMT,oBAAXiM,SAA2B5L,EAAS6L,UAA4B,oBAATC,MAHxB,mBADnBhL,EAIiFgL,MAH9EC,aAA8B,cAAejL,GAIrEnB,EAAqBgM,mBAAmBG,OAIzC,SAAU1N,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQkI,gBAAkBA,EAC1BlI,EAAQ+H,cAqlBR,SAAuBtJ,GACrB,IAAIjB,EAASiB,EAAIjB,OAEjB,GAAe,IAAXA,GAAgBiB,EAAI,aAAcyE,WACpC,OAAOzE,EAAI,GAKb,IAFA,IAAIoP,EAAe,EAEVpQ,EAAI,EAAGA,EAAID,EAAQC,IAC1BoQ,GAAgB3F,EAAgBzJ,EAAIhB,IAMtC,IAHA,IAAIqQ,EAAM,EACN7K,EAAO,IAAIC,WAAW2K,GAEjBE,EAAK,EAAGA,EAAKvQ,EAAQuQ,IAAM,CAClC,IAAIC,EAAOvP,EAAIsP,GAETC,aAAgB9K,aAElB8K,EADkB,iBAATA,EACFC,EAAcD,GAEd,IAAI9K,WAAW8K,IAI1B,IAAIE,EAAaF,EAAKV,WACtBrK,EAAKkL,IAAIH,EAAMF,GACfA,GAAOI,EAGT,OAAOjL,GApnBTjD,EAAQoO,OAASA,EACjBpO,EAAQqO,cA0iBR,SAAuBzE,GACrBwE,EAAiB,OAAVxE,GAAmC,iBAAVA,QAAuC0E,IAAjB1E,EAAMpM,OAAsB,sCAClF,IAAIA,EAASoM,EAAMpM,OACf+Q,EAAqB,KAEzB,GAAI/Q,EAAS+Q,EACX,OAAOC,OAAOC,aAAa9O,MAAM,KAAMiK,GAKzC,IAFA,IAAI8E,EAAS,GAEJjR,EAAI,EAAGA,EAAID,EAAQC,GAAK8Q,EAAoB,CACnD,IAAII,EAAWvG,KAAKwG,IAAInR,EAAI8Q,EAAoB/Q,GAC5CqK,EAAQ+B,EAAMiF,SAASpR,EAAGkR,GAC9BD,EAAOxK,KAAKsK,OAAOC,aAAa9O,MAAM,KAAMkI,IAG9C,OAAO6G,EAAOvK,KAAK,KA1jBrBnE,EAAQmC,wBAm1BR,WACE,IAAI2M,EAAahS,OAAOkE,OAAO,MAC3B+N,GAAY,EAiBhB,OAhBAjS,OAAOyD,eAAeuO,EAAY,UAAW,CAC3CrO,IAAK,WACH,OAAOsO,KAGXD,EAAWzM,QAAU,IAAIsD,SAAQ,SAAUpD,EAASgE,GAClDuI,EAAWvM,QAAU,SAAUU,GAC7B8L,GAAY,EACZxM,EAAQU,IAGV6L,EAAWvI,OAAS,SAAUiB,GAC5BuH,GAAY,EACZxI,EAAOiB,OAGJsH,GAr2BT9O,EAAQ6D,kBA0TR,WACE,OAAON,GA1TTvD,EAAQ2K,KA6TR,SAAcqE,GACRzL,GAAa6G,EAAeC,OAC9B4E,QAAQC,IAAI,SAASlL,OAAOgL,KA9ThChP,EAAQmP,cAk0BR,SAAuBC,GACrB,MAAoB,iBAANA,GAAwB,OAANA,QAA+Bd,IAAjBc,EAAE9B,YAl0BlDtN,EAAQqP,aAq0BR,SAAsBC,EAAM3Q,GAC1B,OAAI2Q,EAAK9R,SAAWmB,EAAKnB,QAIlB8R,EAAKC,OAAM,SAAUC,EAASC,GACnC,OAAOD,IAAY7Q,EAAK8Q,OA10B5BzP,EAAQ0P,OAozBR,SAAgBN,GACd,MAAoB,kBAANA,GApzBhBpP,EAAQ2P,WA2yBR,SAAoBC,GAClB,IAAK,IAAI3O,KAAO2O,EACd,OAAO,EAGT,OAAO,GA/yBT5P,EAAQ6P,MAszBR,SAAeT,GACb,MAAoB,iBAANA,GAtzBhBpP,EAAQ8P,SAyzBR,SAAkBV,GAChB,MAAoB,iBAANA,GAzzBhBpP,EAAQ+P,aA4UR,SAAsBC,EAASC,GAC7B,IAAIC,EAEJ,IAGE,KAFAA,EAAO,IAAIC,IAAIH,IAELI,QAA0B,SAAhBF,EAAKE,OACvB,OAAO,EAET,MAAOtS,GACP,OAAO,EAGT,IAAIuS,EAAQ,IAAIF,IAAIF,EAAUC,GAC9B,OAAOA,EAAKE,SAAWC,EAAMD,QAzV/BpQ,EAAQsQ,uBA8WR,SAAgCC,EAAKP,GACnC,IAAKO,EACH,OAAO,KAGT,IACE,IAAIC,EAAcR,EAAU,IAAIG,IAAII,EAAKP,GAAW,IAAIG,IAAII,GAE5D,GA1BJ,SAA0BA,GACxB,IAAKA,EACH,OAAO,EAGT,OAAQA,EAAIE,UACV,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,OACH,OAAO,EAET,QACE,OAAO,GAYLC,CAAiBF,GACnB,OAAOA,EAET,MAAOlK,IAET,OAAO,MA1XTtG,EAAQ2Q,qBAqhBR,SAA8BC,GAC5B,MAAmB,iBAARA,GACT5I,EAAK,2DACE4I,GAGFA,EAAIC,QAAQC,EAAsB,KA1hB3C9Q,EAAQsD,kBAySR,SAA2ByN,GACrBC,OAAOC,UAAUF,KACnBxN,EAAYwN,IA1ShB/Q,EAAQkR,OAASA,EACjBlR,EAAQmR,SAumBR,SAAkBtT,GAChB,OAAO2Q,OAAOC,aAAa5Q,GAAS,GAAK,IAAMA,GAAS,GAAK,IAAMA,GAAS,EAAI,IAAc,IAARA,IAvmBxFmC,EAAQiO,cAAgBA,EACxBjO,EAAQoR,kBAmwBR,SAA2BR,GACzB,IAAIpT,EAASoT,EAAIpT,OACbkR,EAAS,GAEb,GAAe,MAAXkC,EAAI,IAA4B,MAAXA,EAAI,GAC3B,IAAK,IAAInT,EAAI,EAAGA,EAAID,EAAQC,GAAK,EAC/BiR,EAAOxK,KAAKsK,OAAOC,aAAamC,EAAIS,WAAW5T,IAAM,EAAImT,EAAIS,WAAW5T,EAAI,UAEzE,GAAe,MAAXmT,EAAI,IAA4B,MAAXA,EAAI,GAClC,IAAK,IAAIU,EAAM,EAAGA,EAAM9T,EAAQ8T,GAAO,EACrC5C,EAAOxK,KAAKsK,OAAOC,aAAamC,EAAIS,WAAWC,EAAM,IAAM,EAAIV,EAAIS,WAAWC,UAGhF,IAAK,IAAIC,EAAM,EAAGA,EAAM/T,IAAU+T,EAAK,CACrC,IAAInF,EAAOoF,EAAwBZ,EAAIS,WAAWE,IAClD7C,EAAOxK,KAAKkI,EAAOoC,OAAOC,aAAarC,GAAQwE,EAAIa,OAAOF,IAI9D,OAAO7C,EAAOvK,KAAK,KArxBrBnE,EAAQ0R,mBAwxBR,SAA4Bd,GAC1B,OAAOe,mBAAmBC,OAAOhB,KAxxBnC5Q,EAAQ6R,mBA2xBR,SAA4BjB,GAC1B,OAAOkB,SAASC,mBAAmBnB,KA3xBrC5Q,EAAQgI,KAAOA,EACfhI,EAAQgS,YAAcA,EACtBhS,EAAQiS,sBAAwBjS,EAAQkS,qBAAuBlS,EAAQmS,gBAAkBnS,EAAQoS,YAAcpS,EAAQqS,KAAOrS,EAAQ2M,sBAAwB3M,EAAQ0M,4BAA8B1M,EAAQsS,kBAAoBtS,EAAQuS,WAAavS,EAAQwS,eAAiBxS,EAAQyS,kBAAoBzS,EAAQmM,kBAAoBnM,EAAQ0S,oBAAsB1S,EAAQyM,oBAAsBzM,EAAQwM,oBAAsBxM,EAAQ0L,eAAiB1L,EAAQ2S,oBAAsB3S,EAAQ4S,UAAY5S,EAAQ6S,SAAW7S,EAAQ8S,eAAiB9S,EAAQ+S,yBAA2B/S,EAAQgT,sBAAwBhT,EAAQiT,oBAAsBjT,EAAQkT,sBAAwBlT,EAAQmT,eAAiBnT,EAAQoT,oBAAsBpT,EAAQqT,0BAA4BrT,EAAQ8K,qBAAuB9K,EAAQoK,eAAiBpK,EAAQsT,IAAMtT,EAAQuT,gBAAkBvT,EAAQwT,qBAAuBxT,EAAQyT,mBAAgB,EAE14B3T,EAAoB,GAGpBE,EAAQuT,gBADc,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAGtCvT,EAAQwT,qBADmB,CAAC,KAAO,EAAG,EAAG,KAAO,EAAG,GAOnDxT,EAAQ0S,oBALkB,CACxBgB,KAAM,OACNC,OAAQ,SACRC,QAAS,WAaX5T,EAAQwS,eAVa,CACnBqB,MAAO,EACPC,gBAAiB,EACjBC,KAAM,GACNC,mBAAoB,GACpBC,uBAAwB,IACxBC,uBAAwB,IACxBC,SAAU,KACVC,mBAAoB,MAetBpU,EAAQsS,kBAZgB,CACtB+B,KAAM,EACNC,OAAQ,EACRC,YAAa,EACbC,UAAW,EACXC,iBAAkB,EAClBC,mBAAoB,EACpBC,wBAAyB,EACzBC,YAAa,EACbC,iBAAkB,EAClBC,iBAAkB,GAQpB9U,EAAQ4S,UALQ,CACdmC,eAAgB,EAChBC,UAAW,EACXC,WAAY,GA+BdjV,EAAQ8S,eA5Ba,CACnBoC,KAAM,EACNC,KAAM,EACNC,SAAU,EACVC,KAAM,EACNC,OAAQ,EACRC,OAAQ,EACRC,QAAS,EACTC,SAAU,EACVC,UAAW,EACXC,UAAW,GACXC,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,MAAO,GACPC,IAAK,GACLC,MAAO,GACPC,eAAgB,GAChBC,MAAO,GACPC,MAAO,GACPC,OAAQ,GACRC,OAAQ,GACRC,YAAa,GACbC,QAAS,GACTC,UAAW,GACXC,OAAQ,GACRC,OAAQ,IAOV3W,EAAQ+S,yBAJuB,CAC7B6D,OAAQ,SACRC,OAAQ,UAOV7W,EAAQkT,sBAJoB,CAC1B0D,OAAQ,SACRE,SAAU,YAUZ9W,EAAQgT,sBAPoB,CAC1B+D,SAAU,WACVC,SAAU,WACVC,UAAW,YACXC,UAAW,YACXxD,KAAM,QAOR1T,EAAQiT,oBAJkB,CACxBkE,MAAO,QACPC,MAAO,KAeTpX,EAAQmT,eAZa,CACnBqB,UAAW,EACX6C,OAAQ,EACRxD,MAAO,EACPyD,OAAQ,EACRC,SAAU,GACVC,OAAQ,GACRC,SAAU,GACVC,OAAQ,IACRC,aAAc,IACdC,eAAgB,KAwBlB5X,EAAQoT,oBArBkB,CACxBqE,SAAU,EACVI,SAAU,EACVC,SAAU,EACVC,UAAW,KACXC,SAAU,KACVC,cAAe,MACfC,MAAO,MACPC,WAAY,MACZC,MAAO,OACPC,KAAM,OACNC,KAAM,OACNC,WAAY,QACZC,YAAa,QACbC,gBAAiB,QACjBC,YAAa,QACbC,KAAM,SACNC,SAAU,SACVC,eAAgB,SAChBC,kBAAmB,UAUrB9Y,EAAQqT,0BAPwB,CAC9B0F,MAAO,EACPC,OAAQ,EACRC,QAAS,EACTC,MAAO,EACPvD,UAAW,GAeb3V,EAAQuS,WAZS,CACf4G,QAAS,UACTC,MAAO,QACPC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,KAAM,OACNC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,OAgBP5Z,EAAQ6S,SAbO,CACbsG,QAAS,UACTU,MAAO,QACPC,OAAQ,SACRC,aAAc,eACdC,cAAe,gBACfC,SAAU,WACVC,aAAc,eACdC,MAAO,QACPC,SAAU,WACVC,MAAO,QACPC,QAAS,WAGX,IAAIlQ,EAAiB,CACnBmQ,OAAQ,EACRC,SAAU,EACVnQ,MAAO,GAETrK,EAAQoK,eAAiBA,EAMzBpK,EAAQ2S,oBALkB,CACxBe,KAAM,EACN+G,OAAQ,EACRC,OAAQ,GAgGV1a,EAAQsT,IA7FE,CACRqH,WAAY,EACZC,aAAc,EACdC,WAAY,EACZC,YAAa,EACbC,cAAe,EACfC,QAAS,EACTC,mBAAoB,EACpBC,YAAa,EACbC,UAAW,EACXC,KAAM,GACNC,QAAS,GACTC,UAAW,GACXC,OAAQ,GACRC,OAAQ,GACRC,QAAS,GACTC,SAAU,GACVC,SAAU,GACVC,UAAW,GACXC,UAAW,GACXC,OAAQ,GACRC,YAAa,GACbC,KAAM,GACNC,OAAQ,GACRC,WAAY,GACZC,aAAc,GACdC,gBAAiB,GACjBC,kBAAmB,GACnBC,QAAS,GACTC,KAAM,GACNC,OAAQ,GACRC,UAAW,GACXC,QAAS,GACTC,eAAgB,GAChBC,eAAgB,GAChBC,UAAW,GACXC,WAAY,GACZC,QAAS,GACTC,qBAAsB,GACtBC,YAAa,GACbC,SAAU,GACVC,mBAAoB,GACpBC,cAAe,GACfC,SAAU,GACVC,SAAU,GACVC,eAAgB,GAChBC,iBAAkB,GAClBC,2BAA4B,GAC5BC,aAAc,GACdC,sBAAuB,GACvBC,oBAAqB,GACrBC,kBAAmB,GACnBC,eAAgB,GAChBC,gBAAiB,GACjBC,aAAc,GACdC,cAAe,GACfC,cAAe,GACfC,YAAa,GACbC,kBAAmB,GACnBC,gBAAiB,GACjBC,mBAAoB,GACpBC,iBAAkB,GAClBC,YAAa,GACbC,iBAAkB,GAClBC,eAAgB,GAChBC,eAAgB,GAChBC,aAAc,GACdC,UAAW,GACXC,eAAgB,GAChBC,mBAAoB,GACpBC,wBAAyB,GACzBC,iBAAkB,GAClBC,YAAa,GACbC,UAAW,GACXC,sBAAuB,GACvBC,oBAAqB,GACrBC,WAAY,GACZC,SAAU,GACVC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,cAAe,GACfC,iBAAkB,GAClBC,sBAAuB,GACvBC,2BAA4B,GAC5BC,kBAAmB,GACnBC,wBAAyB,GACzBC,6BAA8B,GAC9BC,wBAAyB,GACzBC,4BAA6B,GAC7BC,yBAA0B,GAC1BC,cAAe,IAWjBrgB,EAAQ8K,qBARmB,CACzBC,QAAS,UACTuV,MAAO,QACPC,WAAY,aACZC,MAAO,QACPC,eAAgB,iBAChBC,KAAM,QAOR1gB,EAAQyS,kBAJgB,CACtBkO,cAAe,EACfC,mBAAoB,GAGtB,IAAIrd,EAAY6G,EAAeoQ,SAkB/B,SAASxS,EAAKgH,GACRzL,GAAa6G,EAAeoQ,UAC9BvL,QAAQC,IAAI,YAAYlL,OAAOgL,IAInC,SAASgD,EAAYhD,GACnB,MAAM,IAAItM,MAAMsM,GAGlB,SAASZ,EAAOyS,EAAM7R,GACf6R,GACH7O,EAAYhD,GAuDhB,SAASkC,EAAOtB,EAAKkR,EAAMjjB,GAOzB,OANAf,OAAOyD,eAAeqP,EAAKkR,EAAM,CAC/BjjB,MAAOA,EACP2C,YAAY,EACZugB,cAAc,EACdC,UAAU,IAELnjB,EAGT,IAAI4V,EAAgB,WAClB,SAASA,EAAc7G,GACjBnN,KAAKtC,cAAgBsW,GACvBzB,EAAY,oCAGdvS,KAAKmN,QAAUA,EACfnN,KAAKrC,KAAOqC,KAAKtC,YAAYC,KAK/B,OAFAqW,EAAc1W,UAAY,IAAI2F,MAC9B+Q,EAActW,YAAcsW,EACrBA,EAZW,GAepBzT,EAAQyT,cAAgBA,EAExB,IAAItH,EAAiC,SAAU8U,GAC7CplB,EAAUsQ,EAAmB8U,GAE7B,IAAIC,EAAStiB,EAAauN,GAE1B,SAASA,EAAkB6C,EAAK5C,GAC9B,IAAI+U,EAMJ,OAJAvlB,EAAgB6D,KAAM0M,IAEtBgV,EAAQD,EAAOjkB,KAAKwC,KAAMuP,IACpB5C,KAAOA,EACN+U,EAGT,OAAOhV,EAf4B,CAgBnCsH,GAEFzT,EAAQmM,kBAAoBA,EAE5B,IAAIQ,EAAqC,SAAUyU,GACjDvlB,EAAU8Q,EAAuByU,GAEjC,IAAIC,EAAUziB,EAAa+N,GAE3B,SAASA,EAAsBqC,EAAKsS,GAClC,IAAIC,EAMJ,OAJA3lB,EAAgB6D,KAAMkN,IAEtB4U,EAASF,EAAQpkB,KAAKwC,KAAMuP,IACrBsS,QAAUA,EACVC,EAGT,OAAO5U,EAfgC,CAgBvC8G,GAEFzT,EAAQ2M,sBAAwBA,EAEhC,IAAIH,EAAmC,SAAUgV,GAC/C3lB,EAAU2Q,EAAqBgV,GAE/B,IAAIC,EAAU7iB,EAAa4N,GAE3B,SAASA,IAGP,OAFA5Q,EAAgB6D,KAAM+M,GAEfiV,EAAQ9hB,MAAMF,KAAMC,WAG7B,OAAO8M,EAX8B,CAYrCiH,GAEFzT,EAAQwM,oBAAsBA,EAE9B,IAAIC,EAAmC,SAAUiV,GAC/C7lB,EAAU4Q,EAAqBiV,GAE/B,IAAIC,EAAU/iB,EAAa6N,GAE3B,SAASA,IAGP,OAFA7Q,EAAgB6D,KAAMgN,GAEfkV,EAAQhiB,MAAMF,KAAMC,WAG7B,OAAO+M,EAX8B,CAYrCgH,GAEFzT,EAAQyM,oBAAsBA,EAE9B,IAAIC,EAA2C,SAAUkV,GACvD/lB,EAAU6Q,EAA6BkV,GAEvC,IAAIC,EAAUjjB,EAAa8N,GAE3B,SAASA,EAA4BsC,EAAK8S,GACxC,IAAIC,EAMJ,OAJAnmB,EAAgB6D,KAAMiN,IAEtBqV,EAASF,EAAQ5kB,KAAKwC,KAAMuP,IACrB8S,OAASA,EACTC,EAGT,OAAOrV,EAfsC,CAgB7C+G,GAEFzT,EAAQ0M,4BAA8BA,EAEtC,IAAI0F,EAA2B,SAAU4P,GACvCnmB,EAAUuW,EAAa4P,GAEvB,IAAIC,EAAUrjB,EAAawT,GAE3B,SAASA,IAGP,OAFAxW,EAAgB6D,KAAM2S,GAEf6P,EAAQtiB,MAAMF,KAAMC,WAG7B,OAAO0S,EAXsB,CAY7BqB,GAEFzT,EAAQoS,YAAcA,EAEtB,IAAI1G,EAA8B,SAAUwW,GAC1CrmB,EAAU6P,EAAgBwW,GAE1B,IAAIC,EAAUvjB,EAAa8M,GAE3B,SAASA,IAGP,OAFA9P,EAAgB6D,KAAMiM,GAEfyW,EAAQxiB,MAAMF,KAAMC,WAG7B,OAAOgM,EAXyB,CAYhC+H,GAEFzT,EAAQ0L,eAAiBA,EACzB,IAAIoF,EAAuB,QA+B3B,SAAS7C,EAAc2C,GACrBxC,EAAsB,iBAARwC,EAAkB,sCAIhC,IAHA,IAAIpT,EAASoT,EAAIpT,OACboM,EAAQ,IAAI1G,WAAW1F,GAElBC,EAAI,EAAGA,EAAID,IAAUC,EAC5BmM,EAAMnM,GAAyB,IAApBmT,EAAIS,WAAW5T,GAG5B,OAAOmM,EAGT,SAAS1B,EAAgBzJ,GACvB,YAAmB6P,IAAf7P,EAAIjB,OACCiB,EAAIjB,QAGb4Q,OAA0BE,IAAnB7P,EAAI6O,YACJ7O,EAAI6O,YAiDb,IAAI4E,EAAuB,CACrBrU,YACF,OAAOqT,EAAOzR,KAAM,UARlB2iB,EAAU,IAAIlf,WAAW,IACrB,GAAK,EAEQ,IADR,IAAImf,YAAYD,EAAQE,OAAQ,EAAG,GAClC,KAJhB,IACMF,IAYNpiB,EAAQkS,qBAAuBA,EAW/B,IAAID,EAAwB,CACtBpU,YACF,OAAOqT,EAAOzR,KAAM,QAXxB,WACE,IAEE,OADA,IAAI8iB,SAAS,KACN,EACP,MAAOzkB,GACP,OAAO,GAMsBsP,MAIjCpN,EAAQiS,sBAAwBA,EAChC,IAAIuQ,EAAS,CAAC,OAAQ,EAAG,IAAK,EAAG,IAAK,EAAG,KAErCnQ,EAAoB,WACtB,SAASA,IACPzW,EAAgB6D,KAAM4S,GAiHxB,OA9GA1W,EAAa0W,EAAM,KAAM,CAAC,CACxBpR,IAAK,aACLpD,MAAO,SAAoB6C,EAAG+hB,EAAGC,GAI/B,OAHAF,EAAO,GAAK9hB,EACZ8hB,EAAO,GAAKC,EACZD,EAAO,GAAKE,EACLF,EAAOre,KAAK,MAEpB,CACDlD,IAAK,YACLpD,MAAO,SAAmB8kB,EAAIC,GAC5B,MAAO,CAACD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAID,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAIA,EAAG,GAAKC,EAAG,GAAKD,EAAG,GAAKC,EAAG,GAAKD,EAAG,MAE/M,CACD1hB,IAAK,iBACLpD,MAAO,SAAwByD,EAAGnB,GAGhC,MAAO,CAFEmB,EAAE,GAAKnB,EAAE,GAAKmB,EAAE,GAAKnB,EAAE,GAAKA,EAAE,GAC9BmB,EAAE,GAAKnB,EAAE,GAAKmB,EAAE,GAAKnB,EAAE,GAAKA,EAAE,MAGxC,CACDc,IAAK,wBACLpD,MAAO,SAA+ByD,EAAGnB,GACvC,IAAIE,EAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAG/B,MAAO,EAFGmB,EAAE,GAAKnB,EAAE,GAAKmB,EAAE,GAAKnB,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,IACxDiB,EAAE,GAAKnB,EAAE,GAAKmB,EAAE,GAAKnB,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,KAGrE,CACDY,IAAK,6BACLpD,MAAO,SAAoC6C,EAAGP,GAC5C,IAAI0iB,EAAKxQ,EAAKyQ,eAAepiB,EAAGP,GAC5B4iB,EAAK1Q,EAAKyQ,eAAepiB,EAAExD,MAAM,EAAG,GAAIiD,GACxC6iB,EAAK3Q,EAAKyQ,eAAe,CAACpiB,EAAE,GAAIA,EAAE,IAAKP,GACvC8iB,EAAK5Q,EAAKyQ,eAAe,CAACpiB,EAAE,GAAIA,EAAE,IAAKP,GAC3C,MAAO,CAACiI,KAAKwG,IAAIiU,EAAG,GAAIE,EAAG,GAAIC,EAAG,GAAIC,EAAG,IAAK7a,KAAKwG,IAAIiU,EAAG,GAAIE,EAAG,GAAIC,EAAG,GAAIC,EAAG,IAAK7a,KAAKC,IAAIwa,EAAG,GAAIE,EAAG,GAAIC,EAAG,GAAIC,EAAG,IAAK7a,KAAKC,IAAIwa,EAAG,GAAIE,EAAG,GAAIC,EAAG,GAAIC,EAAG,OAE5J,CACDhiB,IAAK,mBACLpD,MAAO,SAA0BsC,GAC/B,IAAIE,EAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAC/B,MAAO,CAACA,EAAE,GAAKE,GAAIF,EAAE,GAAKE,GAAIF,EAAE,GAAKE,EAAGF,EAAE,GAAKE,GAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,GAAIF,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAME,KAElH,CACDY,IAAK,mBACLpD,MAAO,SAA0BsC,EAAGiP,GAClC,MAAO,CAACjP,EAAE,GAAKiP,EAAE,GAAKjP,EAAE,GAAKiP,EAAE,GAAKjP,EAAE,GAAKiP,EAAE,GAAIjP,EAAE,GAAKiP,EAAE,GAAKjP,EAAE,GAAKiP,EAAE,GAAKjP,EAAE,GAAKiP,EAAE,GAAIjP,EAAE,GAAKiP,EAAE,GAAKjP,EAAE,GAAKiP,EAAE,GAAKjP,EAAE,GAAKiP,EAAE,MAEhI,CACDnO,IAAK,gCACLpD,MAAO,SAAuCsC,GAC5C,IAAI+iB,EAAY,CAAC/iB,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IACjCgjB,EAAIhjB,EAAE,GAAK+iB,EAAU,GAAK/iB,EAAE,GAAK+iB,EAAU,GAC3CR,EAAIviB,EAAE,GAAK+iB,EAAU,GAAK/iB,EAAE,GAAK+iB,EAAU,GAC3C9iB,EAAID,EAAE,GAAK+iB,EAAU,GAAK/iB,EAAE,GAAK+iB,EAAU,GAC3C7iB,EAAIF,EAAE,GAAK+iB,EAAU,GAAK/iB,EAAE,GAAK+iB,EAAU,GAC3CE,GAASD,EAAI9iB,GAAK,EAClBgjB,EAASjb,KAAKkb,MAAMH,EAAI9iB,IAAM8iB,EAAI9iB,GAAK,GAAK8iB,EAAI9iB,EAAID,EAAIsiB,IAAM,EAC9Da,EAAKH,EAAQC,GAAU,EACvBG,EAAKJ,EAAQC,GAAU,EAC3B,MAAO,CAACjb,KAAKkb,KAAKC,GAAKnb,KAAKkb,KAAKE,MAElC,CACDviB,IAAK,gBACLpD,MAAO,SAAuB4lB,GAC5B,IAAI/iB,EAAI+iB,EAAKvmB,MAAM,GAYnB,OAVIumB,EAAK,GAAKA,EAAK,KACjB/iB,EAAE,GAAK+iB,EAAK,GACZ/iB,EAAE,GAAK+iB,EAAK,IAGVA,EAAK,GAAKA,EAAK,KACjB/iB,EAAE,GAAK+iB,EAAK,GACZ/iB,EAAE,GAAK+iB,EAAK,IAGP/iB,IAER,CACDO,IAAK,YACLpD,MAAO,SAAmB6lB,EAAOC,GAC/B,SAASC,EAAQT,EAAGT,GAClB,OAAOS,EAAIT,EAGb,IAAImB,EAAW,CAACH,EAAM,GAAIA,EAAM,GAAIC,EAAM,GAAIA,EAAM,IAAIG,KAAKF,GACzDG,EAAW,CAACL,EAAM,GAAIA,EAAM,GAAIC,EAAM,GAAIA,EAAM,IAAIG,KAAKF,GACzDtkB,EAAS,GAIb,OAHAokB,EAAQrR,EAAK2R,cAAcN,GAC3BC,EAAQtR,EAAK2R,cAAcL,GAEvBE,EAAS,KAAOH,EAAM,IAAMG,EAAS,KAAOF,EAAM,IAAME,EAAS,KAAOF,EAAM,IAAME,EAAS,KAAOH,EAAM,IAC5GpkB,EAAO,GAAKukB,EAAS,GACrBvkB,EAAO,GAAKukB,EAAS,GAKnBE,EAAS,KAAOL,EAAM,IAAMK,EAAS,KAAOJ,EAAM,IAAMI,EAAS,KAAOJ,EAAM,IAAMI,EAAS,KAAOL,EAAM,IAC5GpkB,EAAO,GAAKykB,EAAS,GACrBzkB,EAAO,GAAKykB,EAAS,GAKhBzkB,GAHE,MAPA,SAcN+S,EAnHe,GAsHxBrS,EAAQqS,KAAOA,EACf,IAyFM4R,EAzFFzS,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,EAAG,MAwF3qBW,GACE8R,EAAS,oEACN,SAAyBhhB,EAAMihB,GACpC,IAAIpX,EAAkBpN,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAErF,IAAKoN,GAAmBqD,IAAIgC,gBAAiB,CAC3C,IAAIgS,EAAO,IAAIC,KAAK,CAACnhB,GAAO,CAC1BohB,KAAMH,IAER,OAAO/T,IAAIgC,gBAAgBgS,GAK7B,IAFA,IAAI7B,EAAS,QAAQte,OAAOkgB,EAAa,YAEhCzmB,EAAI,EAAG6mB,EAAKrhB,EAAKzF,OAAQC,EAAI6mB,EAAI7mB,GAAK,EAAG,CAChD,IAAI8mB,EAAe,IAAVthB,EAAKxF,GACV+mB,EAAmB,IAAdvhB,EAAKxF,EAAI,GACdgnB,EAAmB,IAAdxhB,EAAKxF,EAAI,GACdinB,EAAKH,GAAM,EACXI,GAAW,EAALJ,IAAW,EAAIC,GAAM,EAC3BI,EAAKnnB,EAAI,EAAI6mB,GAAW,GAALE,IAAa,EAAIC,GAAM,EAAI,GAC9CI,EAAKpnB,EAAI,EAAI6mB,EAAU,GAALG,EAAY,GAClCnC,GAAU2B,EAAOS,GAAMT,EAAOU,GAAMV,EAAOW,GAAMX,EAAOY,GAG1D,OAAOvC,IAIXtiB,EAAQmS,gBAAkBA,GAEzB,SAAUlS,EAAQD,EAASF,KAK3B,SAAUG,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQ4L,qBAwTR,WACEkZ,EAAIC,cAEJC,EAAKD,cAEL9b,EAAI8b,eA5TN/kB,EAAQilB,MA2RR,SAAe7V,GACb,OAAOA,IAAM8V,GA3RfllB,EAAQmlB,MAkSR,SAAe/V,EAAGgW,GAChB,OAAOhW,aAAa0V,SAAgBxW,IAAR8W,GAAqBhW,EAAEgW,MAAQA,IAlS7DplB,EAAQqlB,OAASA,EACjBrlB,EAAQslB,OAASA,EACjBtlB,EAAQulB,MAuSR,SAAenW,GACb,OAAOA,aAAanG,GAvStBjJ,EAAQwlB,YA0SR,SAAqBC,EAAIC,GACvB,OAAOD,EAAGvc,MAAQwc,EAAGxc,KAAOuc,EAAGtc,MAAQuc,EAAGvc,KA1S5CnJ,EAAQ2lB,SA6SR,SAAkBvW,GAChB,MAAoB,iBAANA,GAAwB,OAANA,QAA6Bd,IAAfc,EAAEwW,UA7SlD5lB,EAAQ6lB,YAAc7lB,EAAQ8lB,OAAS9lB,EAAQiJ,IAAMjJ,EAAQglB,KAAOhlB,EAAQ+lB,KAAO/lB,EAAQ8kB,IAAM9kB,EAAQklB,SAAM,EAEnGplB,EAAoB,GAAhC,IAEIolB,EAAM,GACVllB,EAAQklB,IAAMA,EAEd,IAAIF,EAAO,WACT,IAAIgB,EAAYlpB,OAAOkE,OAAO,MAE9B,SAASgkB,EAAK5nB,GACZqC,KAAKrC,KAAOA,EAcd,OAXA4nB,EAAKjoB,UAAY,GAEjBioB,EAAKvkB,IAAM,SAAkBrD,GAC3B,IAAI6oB,EAAYD,EAAU5oB,GAC1B,OAAO6oB,IAAwBD,EAAU5oB,GAAQ,IAAI4nB,EAAK5nB,KAG5D4nB,EAAKD,YAAc,WACjBiB,EAAYlpB,OAAOkE,OAAO,OAGrBgkB,EAlBE,GAqBXhlB,EAAQglB,KAAOA,EAEf,IAAIF,EAAM,WACR,IAAIoB,EAAWppB,OAAOkE,OAAO,MAE7B,SAAS8jB,EAAIM,GACX3lB,KAAK2lB,IAAMA,EAcb,OAXAN,EAAI/nB,UAAY,GAEhB+nB,EAAIrkB,IAAM,SAAiB2kB,GACzB,IAAIe,EAAWD,EAASd,GACxB,OAAOe,IAAsBD,EAASd,GAAO,IAAIN,EAAIM,KAGvDN,EAAIC,YAAc,WAChBmB,EAAWppB,OAAOkE,OAAO,OAGpB8jB,EAlBC,GAqBV9kB,EAAQ8kB,IAAMA,EAEd,IAAIiB,EAAO,WACT,IAAIK,EAAkB,WACpB,OAAOA,GAGT,SAASL,EAAKlc,GACZpK,KAAK4mB,KAAOvpB,OAAOkE,OAAO,MAC1BvB,KAAKoK,KAAOA,EACZpK,KAAK6mB,MAAQ,KACb7mB,KAAK8mB,oBAAqB,EAC1B9mB,KAAK+mB,oBAAsBJ,EA0H7B,OAvHAL,EAAKhpB,UAAY,CACf0pB,WAAY,SAAyBC,GACnCjnB,KAAKoK,KAAO6c,GAEdjmB,IAAK,SAAakmB,EAAMC,EAAMC,GAC5B,IAAIhpB,EAAQ4B,KAAK4mB,KAAKM,GAUtB,YARcrY,IAAVzQ,QAAgCyQ,IAATsY,QAGXtY,KAFdzQ,EAAQ4B,KAAK4mB,KAAKO,UAEkBtY,IAATuY,IACzBhpB,EAAQ4B,KAAK4mB,KAAKQ,IAIlBhpB,aAAiBoL,GAAOxJ,KAAKoK,KACxBpK,KAAKoK,KAAKid,MAAMjpB,EAAO4B,KAAK8mB,oBAG9B1oB,GAETkpB,SAAU,SAAkBJ,EAAMC,EAAMC,GACtC,IAAIG,EAASvnB,KAEb,OAAOvD,EAAgCF,EAAoBgJ,MAAK,SAASiiB,IACvE,IAAIppB,EACJ,OAAO7B,EAAoBuJ,MAAK,SAAmB2hB,GACjD,OACE,OAAQA,EAAUzhB,KAAOyhB,EAAU5oB,MACjC,KAAK,EAWH,QARcgQ,KAFdzQ,EAAQmpB,EAAOX,KAAKM,UAEgBrY,IAATsY,QAGXtY,KAFdzQ,EAAQmpB,EAAOX,KAAKO,UAEgBtY,IAATuY,IACzBhpB,EAAQmpB,EAAOX,KAAKQ,MAIlBhpB,aAAiBoL,GAAO+d,EAAOnd,MAAO,CAC1Cqd,EAAU5oB,KAAO,EACjB,MAGF,OAAO4oB,EAAUphB,OAAO,SAAUkhB,EAAOnd,KAAKsd,WAAWtpB,EAAOmpB,EAAOT,qBAEzE,KAAK,EACH,OAAOW,EAAUphB,OAAO,SAAUjI,GAEpC,KAAK,EACL,IAAK,MACH,OAAOqpB,EAAUnhB,UAGtBkhB,MA/BE/qB,IAkCTkrB,SAAU,SAAkBT,EAAMC,EAAMC,GACtC,IAAIhpB,EAAQ4B,KAAKgB,IAAIkmB,EAAMC,EAAMC,GAEjC,IAAKpqB,MAAMC,QAAQmB,KAAW4B,KAAKoK,KACjC,OAAOhM,EAKT,IAAK,IAAIJ,EAAI,EAAG6mB,GAFhBzmB,EAAQA,EAAMX,SAEaM,OAAQC,EAAI6mB,EAAI7mB,IACnCI,EAAMJ,aAAcwL,IAI1BpL,EAAMJ,GAAKgC,KAAKoK,KAAKid,MAAMjpB,EAAMJ,GAAIgC,KAAK8mB,qBAG5C,OAAO1oB,GAETwpB,OAAQ,SAAqBpmB,GAC3B,OAAOxB,KAAK4mB,KAAKplB,IAEnBqmB,QAAS,WACP,OAAOxqB,OAAOyqB,KAAK9nB,KAAK4mB,OAE1BlY,IAAK,SAAkBlN,EAAKpD,GAC1B4B,KAAK4mB,KAAKplB,GAAOpD,GAEnB2pB,IAAK,SAAkBvmB,GACrB,YAA0BqN,IAAnB7O,KAAK4mB,KAAKplB,IAEnB4K,QAAS,SAAsB4b,GAC7B,IAAK,IAAIxmB,KAAOxB,KAAK4mB,KACnBoB,EAASxmB,EAAKxB,KAAKgB,IAAIQ,MAI7B8kB,EAAK2B,MAAQ,IAAI3B,EAAK,MAEtBA,EAAK4B,MAAQ,SAAU9d,EAAM+d,GAG3B,IAFA,IAAIC,EAAa,IAAI9B,EAAKlc,GAEjBpM,EAAI,EAAG6mB,EAAKsD,EAAUpqB,OAAQC,EAAI6mB,EAAI7mB,IAAK,CAClD,IAAIqqB,EAAOF,EAAUnqB,GAErB,GAAK4nB,EAAOyC,GAIZ,IAAK,IAAIC,KAAWD,EAAKzB,UACU/X,IAA7BuZ,EAAWxB,KAAK0B,KAIpBF,EAAWxB,KAAK0B,GAAWD,EAAKzB,KAAK0B,IAIzC,OAAOF,GAGF9B,EApIE,GAuIX/lB,EAAQ+lB,KAAOA,EAEf,IAAI9c,EAAM,WACR,IAAI+e,EAAWlrB,OAAOkE,OAAO,MAE7B,SAASiI,EAAIC,EAAKC,GAChB1J,KAAKyJ,IAAMA,EACXzJ,KAAK0J,IAAMA,EAuBb,OApBAF,EAAIlM,UAAY,CACdC,SAAU,WACR,OAAiB,IAAbyC,KAAK0J,IACA,GAAGnF,OAAOvE,KAAKyJ,IAAK,KAGtB,GAAGlF,OAAOvE,KAAKyJ,IAAK,KAAKlF,OAAOvE,KAAK0J,OAIhDF,EAAIxI,IAAM,SAAUyI,EAAKC,GACvB,IAAIlI,EAAc,IAARkI,EAAY,GAAGnF,OAAOkF,EAAK,KAAO,GAAGlF,OAAOkF,EAAK,KAAKlF,OAAOmF,GACnE8e,EAAWD,EAAS/mB,GACxB,OAAOgnB,IAAsBD,EAAS/mB,GAAO,IAAIgI,EAAIC,EAAKC,KAG5DF,EAAI8b,YAAc,WAChBiD,EAAWlrB,OAAOkE,OAAO,OAGpBiI,EA5BC,GA+BVjJ,EAAQiJ,IAAMA,EAEd,IAAI6c,EAAS,WACX,SAASA,IACPrmB,KAAKqoB,KAAOhrB,OAAOkE,OAAO,MAc5B,OAXA8kB,EAAO/oB,UAAY,CACjByqB,IAAK,SAAoB1e,GACvB,OAAOA,EAAI9L,aAAcyC,KAAKqoB,MAEhCI,IAAK,SAAoBpf,GACvBrJ,KAAKqoB,KAAKhf,EAAI9L,aAAc,GAE9BmrB,OAAQ,SAAuBrf,UACtBrJ,KAAKqoB,KAAKhf,EAAI9L,cAGlB8oB,EAhBI,GAmBb9lB,EAAQ8lB,OAASA,EAEjB,IAAID,EAAc,WAChB,SAASA,IACPpmB,KAAKqoB,KAAOhrB,OAAOkE,OAAO,MAyB5B,OAtBA6kB,EAAY9oB,UAAY,CACtB0D,IAAK,SAAyBqI,GAC5B,OAAOrJ,KAAKqoB,KAAKhf,EAAI9L,aAEvBwqB,IAAK,SAAyB1e,GAC5B,OAAOA,EAAI9L,aAAcyC,KAAKqoB,MAEhCI,IAAK,SAAyBpf,EAAK8G,GACjCnQ,KAAKqoB,KAAKhf,EAAI9L,YAAc4S,GAE9BwY,SAAU,SAA8Btf,EAAKuf,GAC3C5oB,KAAKqoB,KAAKhf,EAAI9L,YAAcyC,KAAKgB,IAAI4nB,IAEvCxc,QAAS,SAA6B4b,GACpC,IAAK,IAAIhqB,KAAKgC,KAAKqoB,KACjBL,EAAShoB,KAAKqoB,KAAKrqB,KAGvB6qB,MAAO,WACL7oB,KAAKqoB,KAAOhrB,OAAOkE,OAAO,QAGvB6kB,EA3BS,GAoClB,SAASP,EAAOlW,EAAGhS,GACjB,OAAOgS,aAAa4V,SAAkB1W,IAATlR,GAAsBgS,EAAEhS,OAASA,GAOhE,SAASioB,EAAOjW,EAAGiV,GACjB,OAAOjV,aAAa2W,SAAkBzX,IAAT+V,GAAsBiB,EAAOlW,EAAE3O,IAAI,QAAS4jB,IAf3ErkB,EAAQ6lB,YAAcA,GAuCrB,SAAU5lB,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQkH,kBAAoBlH,EAAQoG,qBAAkB,EAEtD,IAAI1E,EAAQ5B,EAAoB,GAE5ByoB,EAAkBzoB,EAAoB,GAEtCkC,EAAclC,EAAoB,GAElC0oB,EAAY1oB,EAAoB,GAEhC2oB,EAAU3oB,EAAoB,IAE9B4oB,EAA8B,WAChC,SAASA,IACP9sB,EAAgB6D,KAAMipB,GAElBjpB,KAAKtC,cAAgBurB,IACvB,EAAIhnB,EAAMsQ,aAAa,qCAoElB,IACD2W,EAgDR,OAjHAhtB,EAAa+sB,EAAgB,CAAC,CAC5BznB,IAAK,QACLR,IAAK,WACH,OAAOhB,KAAKmpB,SAEb,CACD3nB,IAAK,WACLR,IAAK,WACH,OAAOhB,KAAKopB,YAEb,CACD5nB,IAAK,aACLR,IAAK,WACH,IAAI4D,EAAa,KAEjB,GAAI5E,KAAKqpB,YAAa,CACpB,IAAItY,GAAc,EAAI9O,EAAM4O,wBAAwB7Q,KAAKqpB,aAErDtY,EACFnM,EAAamM,EAAYuY,MAEzB,EAAIrnB,EAAMsG,MAAM,iCAAkChE,OAAOvE,KAAKqpB,YAAa,OAI/E,OAAO,EAAIpnB,EAAMwP,QAAQzR,KAAM,aAAc4E,KAE9C,CACDpD,IAAK,iBACLpD,MAAO,YACL,EAAI6D,EAAMsQ,aAAa,6CAExB,CACD/Q,IAAK,YACLpD,MAAO,SAAmBijB,EAAMkI,GAC9B,OAAOvpB,KAAKiJ,OAAOjJ,KAAK2J,YAAa0X,EAAMkI,KAE5C,CACD/nB,IAAK,aACLpD,MAAO,SAAoBijB,EAAMkI,GAC/B,OAAOvpB,KAAKiJ,OAAOjJ,KAAK2J,YAAYS,KAAMiX,EAAMkI,KAEjD,CACD/nB,IAAK,gBACLpD,MAAO,SAAuBijB,EAAMkI,GAClC,OAAOvpB,KAAKiJ,OAAOjJ,KAAK2J,YAAYC,QAASyX,EAAMkI,KAEpD,CACD/nB,IAAK,UACLpD,MAAO,SAAiB2K,GACtB,OAAO/I,KAAK2J,YAAYb,QAAQC,KAEjC,CACDvH,IAAK,eACLpD,MAAO,SAAsB2L,EAAI3G,GAC/B,OAAOpD,KAAK2J,YAAYmC,aAAa/B,EAAI3G,KAE1C,CACD5B,IAAK,UACLpD,MAAO,WACL,OAAO4B,KAAK2J,YAAYoC,YAEzB,CACDvK,IAAK,SACLpD,OACM8qB,EAAUzsB,EAAgCF,EAAoBgJ,MAAK,SAASikB,EAASrZ,EAAKkR,EAAMkI,GAClG,OAAOhtB,EAAoBuJ,MAAK,SAAmB2jB,GACjD,OACE,OAAQA,EAAUzjB,KAAOyjB,EAAU5qB,MACjC,KAAK,GACH,EAAIoD,EAAMsQ,aAAa,mCAEzB,KAAK,EACL,IAAK,MACH,OAAOkX,EAAUnjB,UAGtBkjB,OAGL,SAAgBE,EAAKC,EAAKC,GACxB,OAAOV,EAAQhpB,MAAMF,KAAMC,cAK9B,CACDuB,IAAK,eACLpD,MAAO,SAAsByrB,EAAOC,IAClC,EAAI7nB,EAAMsQ,aAAa,2CAExB,CACD/Q,IAAK,sBACLpD,MAAO,YACL,EAAI6D,EAAMsQ,aAAa,kDAExB,CACD/Q,IAAK,sBACLpD,MAAO,SAA6BgK,IAClC,EAAInG,EAAMsQ,aAAa,kDAExB,CACD/Q,IAAK,iBACLpD,MAAO,SAAwBwI,GAC7B5G,KAAKopB,UAAYxiB,IAElB,CACDpF,IAAK,YACLpD,MAAO,SAAmB2J,IACxB,EAAI9F,EAAMsQ,aAAa,0CAIpB0W,EA1HyB,GA6H9BtiB,EAA+B,SAAUojB,GAC3C3tB,EAAUuK,EAAiBojB,GAE3B,IAqBQC,EArBJC,EAAU9qB,EAAawH,GAE3B,SAASA,EAAgBhC,EAAOnB,EAAMoD,EAAUJ,EAAkB5B,GAChE,IAAIslB,EAEJ/tB,EAAgB6D,KAAM2G,IAEtBujB,EAASD,EAAQzsB,KAAKwC,OACfmpB,OAASxkB,EAChBulB,EAAOd,UAAYxiB,EACnBsjB,EAAOb,YAAczkB,EACrBslB,EAAO1jB,iBAAmBA,EAC1B,IAAI0D,EAAS,IAAI8e,EAAQmB,OAAO3mB,GAGhC,OAFA0mB,EAAOvgB,YAAc,IAAIof,EAAUqB,YAAYnuB,EAAuBiuB,GAAShgB,GAC/EggB,EAAOG,qBAAuBnkB,QAAQpD,QAAQoH,GACvCggB,EAwDT,OArDAhuB,EAAayK,EAAiB,CAAC,CAC7BnF,IAAK,SACLpD,OACM4rB,EAAWvtB,EAAgCF,EAAoBgJ,MAAK,SAAS+kB,EAASna,EAAKkR,EAAMkI,GACnG,IAAInrB,EACJ,OAAO7B,EAAoBuJ,MAAK,SAAmBykB,GACjD,OACE,OAAQA,EAAUvkB,KAAOukB,EAAU1rB,MACjC,KAAK,EAGH,GAAuB,mBAFvBT,EAAQ+R,EAAIkR,IAEwB,CAClCkJ,EAAU1rB,KAAO,EACjB,MAGF,OAAO0rB,EAAUlkB,OAAO,SAAUjI,EAAM8B,MAAMiQ,EAAKoZ,IAErD,KAAK,EACH,OAAOgB,EAAUlkB,OAAO,SAAUjI,GAEpC,KAAK,EACL,IAAK,MACH,OAAOmsB,EAAUjkB,UAGtBgkB,OAGL,SAAgBE,EAAKC,EAAKC,GACxB,OAAOV,EAAS9pB,MAAMF,KAAMC,cAK/B,CACDuB,IAAK,eACLpD,MAAO,SAAsByrB,EAAOC,GAClC,OAAO5jB,QAAQpD,YAEhB,CACDtB,IAAK,sBACLpD,MAAO,cACN,CACDoD,IAAK,iBACLpD,MAAO,WACL,OAAO4B,KAAKqqB,uBAEb,CACD7oB,IAAK,YACLpD,MAAO,SAAmB2J,QAGrBpB,EA1E0B,CA2EjCsiB,GAEF1oB,EAAQoG,gBAAkBA,EAE1B,IAAIc,EAAiC,SAAUkjB,GAC7CvuB,EAAUqL,EAAmBkjB,GAE7B,IA0BQC,EA1BJC,EAAU1rB,EAAasI,GAE3B,SAASA,EAAkB9C,EAAOmmB,EAAkBvB,EAAM/iB,EAAkB5B,GAC1E,IAAImmB,EAiBJ,OAfA5uB,EAAgB6D,KAAMyH,IAEtBsjB,EAASF,EAAQrtB,KAAKwC,OACfmpB,OAASxkB,EAChBomB,EAAO3B,UAAYG,EAAK3iB,SACxBmkB,EAAO1B,YAAczkB,EACrBmmB,EAAOrjB,WAAa6hB,EAAK7hB,WACzBqjB,EAAOvkB,iBAAmBA,EAC1BukB,EAAOC,cAAgB,IAAIlC,EAAgBmC,qBAAqBH,EAAkB,CAChFpjB,WAAY6hB,EAAK7hB,WACjB3J,OAAQwrB,EAAKxrB,OACbwJ,iBAAkBgiB,EAAKhiB,iBACvBK,eAAgB2hB,EAAK3hB,iBAEvBmjB,EAAOphB,YAAc,IAAIof,EAAUqB,YAAYnuB,EAAuB8uB,GAASA,EAAOC,cAAcE,aAC7FH,EAsFT,OAnFA7uB,EAAauL,EAAmB,CAAC,CAC/BjG,IAAK,SACLpD,OACMwsB,EAAWnuB,EAAgCF,EAAoBgJ,MAAK,SAAS4lB,EAAShb,EAAKkR,EAAMkI,GACnG,IAAInrB,EACJ,OAAO7B,EAAoBuJ,MAAK,SAAmBslB,GACjD,OACE,OAAQA,EAAUplB,KAAOolB,EAAUvsB,MACjC,KAAK,EAIH,GAHAusB,EAAUplB,KAAO,EAGM,mBAFvB5H,EAAQ+R,EAAIkR,IAEwB,CAClC+J,EAAUvsB,KAAO,EACjB,MAGF,OAAOusB,EAAU/kB,OAAO,SAAUjI,EAAM8B,MAAMiQ,EAAKoZ,IAErD,KAAK,EACH,OAAO6B,EAAU/kB,OAAO,SAAUjI,GAEpC,KAAK,EAIH,GAHAgtB,EAAUplB,KAAO,EACjBolB,EAAUC,GAAKD,EAAiB,MAAE,GAE9BA,EAAUC,cAAc9oB,EAAY+oB,qBAAsB,CAC5DF,EAAUvsB,KAAO,GACjB,MAGF,MAAMusB,EAAUC,GAElB,KAAK,GAEH,OADAD,EAAUvsB,KAAO,GACVmB,KAAKurB,aAAaH,EAAUC,GAAGxB,MAAOuB,EAAUC,GAAGvB,KAE5D,KAAK,GACH,OAAOsB,EAAU/kB,OAAO,SAAUrG,KAAKiJ,OAAOkH,EAAKkR,EAAMkI,IAE3D,KAAK,GACL,IAAK,MACH,OAAO6B,EAAU9kB,UAGtB6kB,EAAUnrB,KAAM,CAAC,CAAC,EAAG,SAG1B,SAAgBwrB,EAAKC,EAAKC,GACxB,OAAOd,EAAS1qB,MAAMF,KAAMC,cAK/B,CACDuB,IAAK,eACLpD,MAAO,SAAsByrB,EAAOC,GAClC,OAAO9pB,KAAKgrB,cAAcO,aAAa1B,EAAOC,KAE/C,CACDtoB,IAAK,sBACLpD,MAAO,WACL4B,KAAKgrB,cAAcW,qBAEpB,CACDnqB,IAAK,sBACLpD,MAAO,SAA6BgK,GAClCpI,KAAKgrB,cAAcY,cAAc,CAC/BxjB,MAAOA,MAGV,CACD5G,IAAK,iBACLpD,MAAO,WACL,OAAO4B,KAAKgrB,cAAc/gB,mBAE3B,CACDzI,IAAK,YACLpD,MAAO,SAAmB2J,GACxB/H,KAAKgrB,cAAca,MAAM9jB,OAItBN,EA7G4B,CA8GnCwhB,GAEF1oB,EAAQkH,kBAAoBA,GAE3B,SAAUjH,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQ0qB,qBAAuB1qB,EAAQurB,mBAAgB,EAEvD,IAAI7pB,EAAQ5B,EAAoB,GAE5BkC,EAAclC,EAAoB,GAElCyrB,EAA6B,WAC/B,SAASA,EAAc/tB,EAAQguB,EAAWC,GACxC7vB,EAAgB6D,KAAM8rB,GAEtB9rB,KAAKmK,MAAQ,IAAI1G,WAAW1F,GAC5BiC,KAAK0K,MAAQ,EACb1K,KAAKqO,IAAM,EACXrO,KAAK8pB,IAAM/rB,EACXiC,KAAK+rB,UAAYA,EACjB/rB,KAAKisB,aAAe,GACpBjsB,KAAKksB,gBAAkB,EACvBlsB,KAAKmsB,UAAYxjB,KAAKyjB,KAAKruB,EAASguB,GACpC/rB,KAAKgsB,QAAUA,EACfhsB,KAAKqsB,sBAAwB,EAC7BrsB,KAAKssB,+BAAiC,EAsTxC,OAnTApwB,EAAa4vB,EAAe,CAAC,CAC3BtqB,IAAK,mBACLpD,MAAO,WAGL,IAFA,IAAImuB,EAAS,GAEJnkB,EAAQ,EAAGhL,EAAI4C,KAAKmsB,UAAW/jB,EAAQhL,IAAKgL,EAC9CpI,KAAKisB,aAAa7jB,IACrBmkB,EAAO9nB,KAAK2D,GAIhB,OAAOmkB,IAER,CACD/qB,IAAK,iBACLpD,MAAO,WACL,MAAO,CAAC4B,QAET,CACDwB,IAAK,kBACLpD,MAAO,WACL,OAAO4B,KAAKksB,kBAAoBlsB,KAAKmsB,YAEtC,CACD3qB,IAAK,gBACLpD,MAAO,SAAuByrB,EAAOzhB,GACnC,IAAI2jB,EAAY/rB,KAAK+rB,UAErB,GAAIlC,EAAQkC,GAAc,EACxB,MAAM,IAAI9oB,MAAM,qBAAqBsB,OAAOslB,IAG9C,IAAIC,EAAMD,EAAQzhB,EAAMyF,WAExB,GAAIic,EAAMiC,GAAc,GAAKjC,IAAQ9pB,KAAKmK,MAAMpM,OAC9C,MAAM,IAAIkF,MAAM,mBAAmBsB,OAAOulB,IAG5C9pB,KAAKmK,MAAMuE,IAAI,IAAIjL,WAAW2E,GAAQyhB,GAItC,IAHA,IAAI2C,EAAa7jB,KAAK8jB,MAAM5C,EAAQkC,GAChCW,EAAW/jB,KAAK8jB,OAAO3C,EAAM,GAAKiC,GAAa,EAE1CY,EAAWH,EAAYG,EAAWD,IAAYC,EAChD3sB,KAAKisB,aAAaU,KACrB3sB,KAAKisB,aAAaU,IAAY,IAC5B3sB,KAAKksB,mBAIZ,CACD1qB,IAAK,2BACLpD,MAAO,SAAkCoF,GACvC,IAAIopB,EAAW5sB,KAAKqsB,sBAChBG,EAAa7jB,KAAK8jB,MAAMG,EAAW5sB,KAAK+rB,WAC5C/rB,KAAKmK,MAAMuE,IAAI,IAAIjL,WAAWD,GAAOopB,GACrCA,GAAYppB,EAAKqK,WACjB7N,KAAKqsB,sBAAwBO,EAG7B,IAFA,IAAIF,EAAWE,GAAY5sB,KAAK8pB,IAAM9pB,KAAKmsB,UAAYxjB,KAAK8jB,MAAMG,EAAW5sB,KAAK+rB,WAEzEY,EAAWH,EAAYG,EAAWD,IAAYC,EAChD3sB,KAAKisB,aAAaU,KACrB3sB,KAAKisB,aAAaU,IAAY,IAC5B3sB,KAAKksB,mBAIZ,CACD1qB,IAAK,aACLpD,MAAO,SAAoBiQ,GACzB,KAAIA,EAAMrO,KAAKqsB,uBAAf,CAIA,IAAIjkB,EAAQO,KAAK8jB,MAAMpe,EAAMrO,KAAK+rB,WAElC,GAAI3jB,IAAUpI,KAAKssB,8BAAnB,CAIA,IAAKtsB,KAAKisB,aAAa7jB,GACrB,MAAM,IAAI7F,EAAY+oB,qBAAqBjd,EAAKA,EAAM,GAGxDrO,KAAKssB,8BAAgClkB,MAEtC,CACD5G,IAAK,cACLpD,MAAO,SAAqByrB,EAAOC,GACjC,KAAID,GAASC,GAITA,GAAO9pB,KAAKqsB,uBAQhB,IAJA,IAAIN,EAAY/rB,KAAK+rB,UACjBS,EAAa7jB,KAAK8jB,MAAM5C,EAAQkC,GAChCW,EAAW/jB,KAAK8jB,OAAO3C,EAAM,GAAKiC,GAAa,EAE1C3jB,EAAQokB,EAAYpkB,EAAQskB,IAAYtkB,EAC/C,IAAKpI,KAAKisB,aAAa7jB,GACrB,MAAM,IAAI7F,EAAY+oB,qBAAqBzB,EAAOC,KAIvD,CACDtoB,IAAK,iBACLpD,MAAO,SAAwBouB,GAG7B,IAFA,IAAIL,EAAYnsB,KAAKmsB,UAEZnuB,EAAI,EAAGA,EAAImuB,IAAanuB,EAAG,CAClC,IAAIoK,GAASokB,EAAaxuB,GAAKmuB,EAE/B,IAAKnsB,KAAKisB,aAAa7jB,GACrB,OAAOA,EAIX,OAAO,OAER,CACD5G,IAAK,WACLpD,MAAO,SAAkBgK,GACvB,QAASpI,KAAKisB,aAAa7jB,KAE5B,CACD5G,IAAK,SACLR,IAAK,WACH,OAAOhB,KAAK8pB,IAAM9pB,KAAK0K,QAExB,CACDlJ,IAAK,UACLR,IAAK,WACH,OAAuB,IAAhBhB,KAAKjC,SAEb,CACDyD,IAAK,UACLpD,MAAO,WACL,IAAIiQ,EAAMrO,KAAKqO,IAEf,OAAIA,GAAOrO,KAAK8pB,KACN,GAGNzb,GAAOrO,KAAKqsB,uBACdrsB,KAAK6sB,WAAWxe,GAGXrO,KAAKmK,MAAMnK,KAAKqO,UAExB,CACD7M,IAAK,YACLpD,MAAO,WACL,IAAI0uB,EAAK9sB,KAAK+sB,UACVjI,EAAK9kB,KAAK+sB,UAEd,OAAY,IAARD,IAAqB,IAARhI,GACP,GAGFgI,GAAM,GAAKhI,IAEpB,CACDtjB,IAAK,WACLpD,MAAO,WAKL,OAJS4B,KAAK+sB,WAIA,KAHL/sB,KAAK+sB,WAGa,KAFlB/sB,KAAK+sB,WAE0B,GAD/B/sB,KAAK+sB,YAGf,CACDvrB,IAAK,WACLpD,MAAO,SAAkBL,GACvB,IAAIivB,EAAe/sB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAC9EkK,EAAQnK,KAAKmK,MACbkE,EAAMrO,KAAKqO,IACX4e,EAASjtB,KAAK8pB,IAElB,IAAK/rB,EAAQ,CACPkvB,EAASjtB,KAAKqsB,uBAChBrsB,KAAKktB,YAAY7e,EAAK4e,GAGxB,IAAIE,EAAYhjB,EAAMiF,SAASf,EAAK4e,GAEpC,OAAOD,EAAe,IAAII,kBAAkBD,GAAaA,EAG3D,IAAIrD,EAAMzb,EAAMtQ,EAEZ+rB,EAAMmD,IACRnD,EAAMmD,GAGJnD,EAAM9pB,KAAKqsB,uBACbrsB,KAAKktB,YAAY7e,EAAKyb,GAGxB9pB,KAAKqO,IAAMyb,EACX,IAAI1a,EAAWjF,EAAMiF,SAASf,EAAKyb,GACnC,OAAOkD,EAAe,IAAII,kBAAkBhe,GAAYA,IAEzD,CACD5N,IAAK,WACLpD,MAAO,WACL,IAAIivB,EAAartB,KAAK+sB,UAMtB,OAJoB,IAAhBM,GACFrtB,KAAKqO,MAGAgf,IAER,CACD7rB,IAAK,YACLpD,MAAO,SAAmBL,GACxB,IAAIivB,EAAe/sB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAC9EkK,EAAQnK,KAAKmmB,SAASpoB,EAAQivB,GAElC,OADAhtB,KAAKqO,KAAOlE,EAAMpM,OACXoM,IAER,CACD3I,IAAK,eACLpD,MAAO,SAAsByrB,EAAOC,GAalC,OAZID,EAAQ,IACVA,EAAQ,GAGNC,EAAM9pB,KAAK8pB,MACbA,EAAM9pB,KAAK8pB,KAGTA,EAAM9pB,KAAKqsB,uBACbrsB,KAAKktB,YAAYrD,EAAOC,GAGnB9pB,KAAKmK,MAAMiF,SAASya,EAAOC,KAEnC,CACDtoB,IAAK,OACLpD,MAAO,SAAchB,GACdA,IACHA,EAAI,GAGN4C,KAAKqO,KAAOjR,IAEb,CACDoE,IAAK,QACLpD,MAAO,WACL4B,KAAKqO,IAAMrO,KAAK0K,QAEjB,CACDlJ,IAAK,YACLpD,MAAO,WACL4B,KAAK0K,MAAQ1K,KAAKqO,MAEnB,CACD7M,IAAK,gBACLpD,MAAO,SAAuBsM,EAAO3M,EAAQsqB,GAW3C,SAASiF,KAVLvvB,EACE2M,EAAQ3M,EAASiC,KAAKqsB,uBACxBrsB,KAAKktB,YAAYxiB,EAAOA,EAAQ3M,GAG9B2M,GAAS1K,KAAKqsB,uBAChBrsB,KAAK6sB,WAAWniB,GAMpB4iB,EAAuBhwB,UAAYD,OAAOkE,OAAOvB,MAEjDstB,EAAuBhwB,UAAUiwB,iBAAmB,WAMlD,IALA,IAAIxB,EAAY/rB,KAAK+rB,UACjBS,EAAa7jB,KAAK8jB,MAAMzsB,KAAK0K,MAAQqhB,GACrCW,EAAW/jB,KAAK8jB,OAAOzsB,KAAK8pB,IAAM,GAAKiC,GAAa,EACpDyB,EAAgB,GAEXplB,EAAQokB,EAAYpkB,EAAQskB,IAAYtkB,EAC1CpI,KAAKisB,aAAa7jB,IACrBolB,EAAc/oB,KAAK2D,GAIvB,OAAOolB,GAGTF,EAAuBhwB,UAAUmwB,gBAAkB,WACjD,OAAIztB,KAAKksB,kBAAoBlsB,KAAKmsB,WAIQ,IAAnCnsB,KAAKutB,mBAAmBxvB,QAGjC,IAAI2vB,EAAY,IAAIJ,EAIpB,OAHAI,EAAUrf,IAAMqf,EAAUhjB,MAAQA,EAClCgjB,EAAU5D,IAAMpf,EAAQ3M,GAAUiC,KAAK8pB,IACvC4D,EAAUrF,KAAOA,EACVqF,MAIJ5B,EApUwB,GAuUjCvrB,EAAQurB,cAAgBA,EAExB,IAAIb,EAAoC,WACtC,SAASA,EAAqBH,EAAkBvB,GAC9CptB,EAAgB6D,KAAMirB,GAEtBjrB,KAAKjC,OAASwrB,EAAKxrB,OACnBiC,KAAK+rB,UAAYxC,EAAK3hB,eACtB5H,KAAKkK,OAAS,IAAI4hB,EAAc9rB,KAAKjC,OAAQiC,KAAK+rB,UAAW/rB,MAC7DA,KAAK8qB,iBAAmBA,EACxB9qB,KAAKuH,iBAAmBgiB,EAAKhiB,iBAC7BvH,KAAK0H,WAAa6hB,EAAK7hB,WACvB1H,KAAK2tB,cAAgB,EACrB3tB,KAAK4tB,sBAAwBvwB,OAAOkE,OAAO,MAC3CvB,KAAK6tB,gBAAkBxwB,OAAOkE,OAAO,MACrCvB,KAAK8tB,kBAAoBzwB,OAAOkE,OAAO,MACvCvB,KAAKqsB,sBAAwB,EAC7BrsB,KAAK+tB,SAAU,EACf/tB,KAAKguB,yBAA0B,EAAI/rB,EAAMS,2BAqV3C,OAlVAxG,EAAa+uB,EAAsB,CAAC,CAClCzpB,IAAK,iBACLpD,MAAO,WACL,OAAO4B,KAAKguB,wBAAwBprB,UAErC,CACDpB,IAAK,cACLpD,MAAO,SAAqByrB,EAAOC,GACjC,IAAImE,EAASjuB,KAETkuB,EAAcluB,KAAK8qB,iBAAiBqD,eAAetE,EAAOC,GAEzDoE,EAAY1mB,uBACf0mB,EAAYE,WAAapuB,KAAKouB,WAAW3sB,KAAKzB,OAGhD,IAAIusB,EAAS,GACTvkB,EAAS,EACC,IAAI9B,SAAQ,SAAUpD,EAASgE,GA0B3ConB,EAAYhmB,OAAOb,MAzBH,SAASc,EAAUC,GACjC,IACE,IAAKA,EAAMjK,KAAM,CACf,IAAIqF,EAAO4E,EAAMhK,MAWjB,OAVAmuB,EAAO9nB,KAAKjB,GACZwE,IAAU,EAAI/F,EAAMwG,iBAAiBjF,GAEjC0qB,EAAY1mB,sBACdymB,EAAOG,WAAW,CAChBpmB,OAAQA,SAIZkmB,EAAYhmB,OAAOb,KAAKc,EAAWrB,GAIrC,IAAIunB,GAAY,EAAIpsB,EAAMqG,eAAeikB,GACzCA,EAAS,KACTzpB,EAAQurB,GACR,MAAOhwB,GACPyI,EAAOzI,MAIwByI,MAE7BO,MAAK,SAAU7D,GACjByqB,EAAOF,SAIXE,EAAOrC,cAAc,CACnBxjB,MAAO5E,EACPqmB,MAAOA,SAIZ,CACDroB,IAAK,mBACLpD,MAAO,WACL,IAAIovB,EAAgBxtB,KAAKkK,OAAOqjB,mBAIhC,OAFAvtB,KAAKsuB,eAAed,GAEbxtB,KAAKguB,wBAAwBprB,UAErC,CACDpB,IAAK,iBACLpD,MAAO,SAAwBmuB,GAC7B,IAAIgC,EAAYvuB,KAAK2tB,gBACjBa,EAAenxB,OAAOkE,OAAO,MACjCvB,KAAK4tB,sBAAsBW,GAAaC,EAExC,IACIC,EADAC,EAAYhyB,EAA2B6vB,GAG3C,IACE,IAAKmC,EAAUxwB,MAAOuwB,EAAQC,EAAUtxB,KAAKe,MAAO,CAClD,IAAIwwB,EAASF,EAAMrwB,MAEd4B,KAAKkK,OAAO0kB,SAASD,KACxBH,EAAaG,IAAU,IAG3B,MAAOlwB,GACPiwB,EAAUrwB,EAAEI,GACZ,QACAiwB,EAAUnwB,IAGZ,IAAI,EAAI0D,EAAMiO,YAAYse,GACxB,OAAOtoB,QAAQpD,UAGjB,IAAIuM,GAAa,EAAIpN,EAAMS,2BAC3B1C,KAAK8tB,kBAAkBS,GAAalf,EACpC,IAAIwf,EAAkB,GAEtB,IAAK,IAAIzmB,KAASomB,GAChBpmB,GAAgB,KAEDpI,KAAK6tB,kBAClB7tB,KAAK6tB,gBAAgBzlB,GAAS,GAC9BymB,EAAgBpqB,KAAK2D,IAGvBpI,KAAK6tB,gBAAgBzlB,GAAO3D,KAAK8pB,GAGnC,IAAKM,EAAgB9wB,OACnB,OAAOsR,EAAWzM,QAGpB,IAGIksB,EADAC,EAAaryB,EAFYsD,KAAKgvB,YAAYH,IAK9C,IACE,IAAKE,EAAW7wB,MAAO4wB,EAASC,EAAW3xB,KAAKe,MAAO,CACrD,IAAI8wB,EAAeH,EAAO1wB,MACtByrB,EAAQoF,EAAazC,WAAaxsB,KAAK+rB,UACvCjC,EAAMnhB,KAAKwG,IAAI8f,EAAavC,SAAW1sB,KAAK+rB,UAAW/rB,KAAKjC,QAChEiC,KAAKkvB,YAAYrF,EAAOC,IAE1B,MAAOrrB,GACPswB,EAAW1wB,EAAEI,GACb,QACAswB,EAAWxwB,IAGb,OAAO8Q,EAAWzM,UAEnB,CACDpB,IAAK,YACLpD,MAAO,WACL,OAAO4B,KAAKkK,SAEb,CACD1I,IAAK,eACLpD,MAAO,SAAsByrB,EAAOC,GAClCA,EAAMnhB,KAAKwG,IAAI2a,EAAK9pB,KAAKjC,QAKzB,IAJA,IAAIyuB,EAAaxsB,KAAKmvB,cAActF,GAChC6C,EAAW1sB,KAAKovB,YAAYtF,GAC5ByC,EAAS,GAEJnkB,EAAQokB,EAAYpkB,EAAQskB,IAAYtkB,EAC/CmkB,EAAO9nB,KAAK2D,GAGd,OAAOpI,KAAKsuB,eAAe/B,KAE5B,CACD/qB,IAAK,gBACLpD,MAAO,WACL,IAIIixB,EAJAC,EAASrvB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,GAAmBA,UAAU,GAAK,GAC7E4uB,EAAkB,GAElBU,EAAa7yB,EAA2B4yB,GAG5C,IACE,IAAKC,EAAWrxB,MAAOmxB,EAASE,EAAWnyB,KAAKe,MAK9C,IAJA,IAAIqxB,EAAQH,EAAOjxB,MACfouB,EAAaxsB,KAAKmvB,cAAcK,EAAM3F,OACtC6C,EAAW1sB,KAAKovB,YAAYI,EAAM1F,KAE7B1hB,EAAQokB,EAAYpkB,EAAQskB,IAAYtkB,EAC1CymB,EAAgBY,SAASrnB,IAC5BymB,EAAgBpqB,KAAK2D,GAI3B,MAAO3J,GACP8wB,EAAWlxB,EAAEI,GACb,QACA8wB,EAAWhxB,IAMb,OAHAswB,EAAgBxK,MAAK,SAAUX,EAAGT,GAChC,OAAOS,EAAIT,KAENjjB,KAAKsuB,eAAeO,KAE5B,CACDrtB,IAAK,cACLpD,MAAO,SAAqBmuB,GAK1B,IAJA,IAAImD,EAAgB,GAChBlD,GAAc,EACdmD,GAAa,EAER3xB,EAAI,EAAG6mB,EAAK0H,EAAOxuB,OAAQC,EAAI6mB,IAAM7mB,EAAG,CAC/C,IAAIoK,EAAQmkB,EAAOvuB,GAEfwuB,EAAa,IACfA,EAAapkB,GAGXunB,GAAa,GAAKA,EAAY,IAAMvnB,IACtCsnB,EAAcjrB,KAAK,CACjB+nB,WAAYA,EACZE,SAAUiD,EAAY,IAExBnD,EAAapkB,GAGXpK,EAAI,IAAMuuB,EAAOxuB,QACnB2xB,EAAcjrB,KAAK,CACjB+nB,WAAYA,EACZE,SAAUtkB,EAAQ,IAItBunB,EAAYvnB,EAGd,OAAOsnB,IAER,CACDluB,IAAK,aACLpD,MAAO,SAAoBmrB,GACzBvpB,KAAK0H,WAAW9D,KAAK,cAAe,CAClCoE,OAAQhI,KAAKkK,OAAOgiB,gBAAkBlsB,KAAK+rB,UAAYxC,EAAKvhB,OAC5DU,MAAO1I,KAAKjC,WAGf,CACDyD,IAAK,gBACLpD,MAAO,SAAuBmrB,GAC5B,IAAInhB,EAAQmhB,EAAKnhB,MACbwnB,OAA+B/gB,IAAf0a,EAAKM,MACrBA,EAAQ+F,EAAgB5vB,KAAKqsB,sBAAwB9C,EAAKM,MAC1DC,EAAMD,EAAQzhB,EAAMyF,WACpB2e,EAAa7jB,KAAK8jB,MAAM5C,EAAQ7pB,KAAK+rB,WACrCW,EAAW5C,EAAM9pB,KAAKjC,OAAS4K,KAAK8jB,MAAM3C,EAAM9pB,KAAK+rB,WAAapjB,KAAKyjB,KAAKtC,EAAM9pB,KAAK+rB,WAEvF6D,GACF5vB,KAAKkK,OAAO2lB,yBAAyBznB,GACrCpI,KAAKqsB,sBAAwBvC,GAE7B9pB,KAAKkK,OAAO0hB,cAAc/B,EAAOzhB,GAG/BpI,KAAKkK,OAAOujB,mBACdztB,KAAKguB,wBAAwBlrB,QAAQ9C,KAAKkK,QAK5C,IAFA,IAAI4lB,EAAiB,GAEZC,EAAUvD,EAAYuD,EAAUrD,IAAYqD,EAAS,CAC5D,IAAIC,EAAahwB,KAAK6tB,gBAAgBkC,IAAY,UAC3C/vB,KAAK6tB,gBAAgBkC,GAE5B,IACIE,EADAC,EAAaxzB,EAA2BszB,GAG5C,IACE,IAAKE,EAAWhyB,MAAO+xB,EAASC,EAAW9yB,KAAKe,MAAO,CACrD,IAAIowB,EAAY0B,EAAO7xB,MACnBowB,EAAexuB,KAAK4tB,sBAAsBW,GAE1CwB,KAAWvB,UACNA,EAAauB,IAGjB,EAAI9tB,EAAMiO,YAAYse,IAI3BsB,EAAerrB,KAAK8pB,IAEtB,MAAO9vB,GACPyxB,EAAW7xB,EAAEI,GACb,QACAyxB,EAAW3xB,KAIf,IAAKyB,KAAKuH,mBAAoB,EAAItF,EAAMiO,YAAYlQ,KAAK6tB,iBAAkB,CACzE,IAAIsC,EAEJ,GAAoC,IAAhCnwB,KAAKkK,OAAOgiB,gBAAuB,CACrC,IAAIkE,EAAYpwB,KAAKkK,OAAOiiB,UAAY,EAEnCnsB,KAAKkK,OAAO0kB,SAASwB,KACxBD,EAAiBC,QAGnBD,EAAiBnwB,KAAKkK,OAAOimB,eAAezD,GAG1Cnb,OAAOC,UAAU2e,IACnBnwB,KAAKsuB,eAAe,CAAC6B,IAIzB,IAAK,IAAIE,EAAM,EAAGC,EAAkBR,EAAgBO,EAAMC,EAAgBvyB,OAAQsyB,IAAO,CACvF,IAAIE,EAAaD,EAAgBD,GAC7BhhB,EAAarP,KAAK8tB,kBAAkByC,UACjCvwB,KAAK8tB,kBAAkByC,GAC9BlhB,EAAWvM,UAGb9C,KAAK0H,WAAW9D,KAAK,cAAe,CAClCoE,OAAQhI,KAAKkK,OAAOgiB,gBAAkBlsB,KAAK+rB,UAC3CrjB,MAAO1I,KAAKjC,WAGf,CACDyD,IAAK,UACLpD,MAAO,SAAiBK,GACtBuB,KAAKguB,wBAAwBlnB,OAAOrI,KAErC,CACD+C,IAAK,gBACLpD,MAAO,SAAuByrB,GAC5B,OAAOlhB,KAAK8jB,MAAM5C,EAAQ7pB,KAAK+rB,aAEhC,CACDvqB,IAAK,cACLpD,MAAO,SAAqB0rB,GAC1B,OAAOnhB,KAAK8jB,OAAO3C,EAAM,GAAK9pB,KAAK+rB,WAAa,IAEjD,CACDvqB,IAAK,QACLpD,MAAO,SAAe2J,GAOpB,IAAK,IAAIwmB,KANTvuB,KAAK+tB,SAAU,EAEX/tB,KAAK8qB,kBACP9qB,KAAK8qB,iBAAiBjiB,kBAAkBd,GAGpB/H,KAAK8tB,kBACzB9tB,KAAK8tB,kBAAkBS,GAAWznB,OAAOiB,OAKxCkjB,EArW+B,GAwWxC1qB,EAAQ0qB,qBAAuBA,GAE9B,SAAUzqB,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQiwB,sBAYR,SAA+BC,GAC7B,IAAIC,EACJ,OAAO,WAOL,OANID,IACFC,EAASrzB,OAAOkE,OAAO,MACvBkvB,EAAYC,GACZD,EAAc,MAGTC,IApBXnwB,EAAQowB,uBA6ER,SAAgCC,GAW9B,IAVA,IAQIC,EARAxI,EAAOuI,EAAMvI,KACb7mB,EAAMovB,EAAMpvB,IACZsvB,EAAiBF,EAAMjJ,SACvBA,OAA8B,IAAnBmJ,GAAoCA,EAC/CC,EAAsBH,EAAMI,cAC5BA,OAAwC,IAAxBD,GAAwCA,EAExDE,EAAY,EAGT5I,GAAM,CACX,IAAIjqB,EAAQupB,EAAWU,EAAKV,SAASnmB,GAAO6mB,EAAKrnB,IAAIQ,GAErD,QAAcqN,IAAVzQ,EAAqB,CACvB,GAAI4yB,EACF,OAAO5yB,EAGJyyB,IACHA,EAAS,IAGXA,EAAOpsB,KAAKrG,GAGd,KAAM6yB,EAnBS,IAmBe,EAC5B,EAAIhvB,EAAMsG,MAAM,4DAA6DhE,OAAO/C,EAAK,MACzF,MAGF6mB,EAAOA,EAAKrnB,IAAI,UAGlB,OAAO6vB,GA9GTtwB,EAAQ2wB,gBAmHR,SAAyBC,GACvB,IAAIC,EAAYnxB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,IAC/E,EAAIgC,EAAM0M,QAAQ4C,OAAOC,UAAU2f,IAAWA,EAAS,EAAG,4CAI1D,IAHA,IACI9iB,EADAgjB,EAAW,GAGRF,GAAU,KACfA,GAAU,IACVE,EAAS5sB,KAAK,KAGhB4J,EAAM8iB,EAAS,IAAM,EACrBA,GAAU,IACVE,EAAS5sB,KAAK6sB,EAAiBjjB,IAC/BA,EAAM8iB,EAAS,GAAK,EACpBA,GAAU,GACVE,EAAS5sB,KAAK6sB,EAAiB,GAAKjjB,IACpCgjB,EAAS5sB,KAAK6sB,EAAiB,GAAKH,IACpC,IAAII,EAAWF,EAAS3sB,KAAK,IAC7B,OAAO0sB,EAAYG,EAASC,cAAgBD,GArI9ChxB,EAAQkxB,KAwIR,SAAcC,GACZ,OAAIA,GAAK,EACA,EAGF/oB,KAAKyjB,KAAKzjB,KAAK8oB,KAAKC,KA5I7BnxB,EAAQoxB,SA+IR,SAAkBnuB,EAAMouB,GACtB,OAAOpuB,EAAKouB,IAAW,IAAM,IA/I/BrxB,EAAQsxB,WAkJR,SAAoBruB,EAAMouB,GACxB,OAAOpuB,EAAKouB,IAAW,EAAIpuB,EAAKouB,EAAS,IAlJ3CrxB,EAAQuxB,WAqJR,SAAoBtuB,EAAMouB,GACxB,OAAQpuB,EAAKouB,IAAW,GAAKpuB,EAAKouB,EAAS,IAAM,GAAKpuB,EAAKouB,EAAS,IAAM,EAAIpuB,EAAKouB,EAAS,MAAQ,GArJtGrxB,EAAQwxB,aAwJR,SAAsBC,GACpB,OAAc,KAAPA,GAAsB,IAAPA,GAAsB,KAAPA,GAAsB,KAAPA,GAxJtDzxB,EAAQ6M,mBAAqB7M,EAAQ0xB,mBAAqB1xB,EAAQ+qB,0BAAuB,EAEzF,IAAIrpB,EAAQ5B,EAAoB,GAe5BirB,EAAoC,SAAU4G,GAChD91B,EAAUkvB,EAAsB4G,GAEhC,IAAIC,EAAWhzB,EAAamsB,GAE5B,SAASA,EAAqBzB,EAAOC,GACnC,IAAIsI,EAOJ,OALAj2B,EAAgB6D,KAAMsrB,IAEtB8G,EAASD,EAAS30B,KAAKwC,KAAM,iBAAiBuE,OAAOslB,EAAO,MAAMtlB,OAAOulB,EAAK,OACvED,MAAQA,EACfuI,EAAOtI,IAAMA,EACNsI,EAGT,OAAO9G,EAhB+B,CAiBtCrpB,EAAM+R,eAERzT,EAAQ+qB,qBAAuBA,EAE/B,IAAI2G,EAAkC,SAAUI,GAC9Cj2B,EAAU61B,EAAoBI,GAE9B,IAAIC,EAAWnzB,EAAa8yB,GAE5B,SAASA,IAGP,OAFA91B,EAAgB6D,KAAMiyB,GAEfK,EAASpyB,MAAMF,KAAMC,WAG9B,OAAOgyB,EAX6B,CAYpChwB,EAAM+R,eAERzT,EAAQ0xB,mBAAqBA,EAE7B,IAAI7kB,EAAkC,SAAUmlB,GAC9Cn2B,EAAUgR,EAAoBmlB,GAE9B,IAAIC,EAAWrzB,EAAaiO,GAE5B,SAASA,IAGP,OAFAjR,EAAgB6D,KAAMoN,GAEfolB,EAAStyB,MAAMF,KAAMC,WAG9B,OAAOmN,EAX6B,CAYpCnL,EAAM+R,eAERzT,EAAQ6M,mBAAqBA,EAuC7B,IAAIkkB,EAAmB,CAAC,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,KAAM,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,KAAM,GAAI,IAAK,KAAM,MAAO,KAAM,IAAK,KAAM,MAAO,OAAQ,OAiDrM,SAAU9wB,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQ6pB,YAAc7pB,EAAQkyB,UAAO,EAErC,IAAIxwB,EAAQ5B,EAAoB,GAE5BqyB,EAAOryB,EAAoB,GAE3B6B,EAAc7B,EAAoB,GAElCkC,EAAclC,EAAoB,GAElC2oB,EAAU3oB,EAAoB,IAE9BsyB,EAActyB,EAAoB,IAElCuyB,EAAUvyB,EAAoB,IAE9BwyB,EAAUxyB,EAAoB,IAE9ByyB,EAAiBzyB,EAAoB,IAErC0yB,EAAa1yB,EAAoB,IAEjC2yB,EAAY3yB,EAAoB,IAGhC4yB,EAAuB,CAAC,EAAG,EAAG,IAAK,KAEvC,SAASC,EAAuBC,EAAY5oB,GAC1C,MAAkB,YAAXA,GAAwB4oB,EAAWC,UAAuB,UAAX7oB,GAAsB4oB,EAAWE,UAGzF,IAAIZ,EAAoB,WACtB,SAASA,EAAKa,GACZ,IAAIrvB,EAAaqvB,EAAMrvB,WACnBmG,EAAOkpB,EAAMlpB,KACbrB,EAAYuqB,EAAMvqB,UAClBwqB,EAAWD,EAAMC,SACjBlqB,EAAMiqB,EAAMjqB,IACZmqB,EAAYF,EAAME,UAClBC,EAAmBH,EAAMG,iBACzBC,EAAqBJ,EAAMI,mBAE/Bv3B,EAAgB6D,KAAMyyB,GAEtBzyB,KAAKiE,WAAaA,EAClBjE,KAAK+I,UAAYA,EACjB/I,KAAKuzB,SAAWA,EAChBvzB,KAAKoK,KAAOA,EACZpK,KAAKqJ,IAAMA,EACXrJ,KAAKwzB,UAAYA,EACjBxzB,KAAKyzB,iBAAmBA,EACxBzzB,KAAK0zB,mBAAqBA,EAC1B1zB,KAAKwG,iBAAmBvC,EAAWuC,iBACnCxG,KAAK2zB,iBAAmB,KACxB,IAAIC,EAAa,CACfzjB,IAAK,GAEPnQ,KAAK6zB,UAAY,CACfC,YAAa,WACX,MAAO,IAAIvvB,OAAOwE,EAAW,KAAKxE,SAASqvB,EAAWzjB,MAExD4jB,SAAU,WACR,MAAO,KAAKxvB,OAAON,EAAWU,SAgVpC,OA3UAzI,EAAau2B,EAAM,CAAC,CAClBjxB,IAAK,0BACLpD,MAAO,SAAiCoD,GACtC,IAAImmB,EAAW1nB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAC1E7B,GAAQ,EAAImE,EAAYouB,wBAAwB,CAClDtI,KAAMroB,KAAKuzB,SACX/xB,IAAKA,EACLmmB,SAAUA,EACVqJ,eAAe,IAGjB,OAAKh0B,MAAMC,QAAQmB,GAIE,IAAjBA,EAAML,SAAiB,EAAImE,EAAY0jB,QAAQxnB,EAAM,IAIlD8D,EAAYokB,KAAK4B,MAAMloB,KAAKoK,KAAMhM,GAHhCA,EAAM,GAJNA,IASV,CACDoD,IAAK,UACLR,IAAK,WACH,OAAOhB,KAAKuzB,SAASvyB,IAAI,cAE1B,CACDQ,IAAK,YACLR,IAAK,WACH,OAAO,EAAIiB,EAAMwP,QAAQzR,KAAM,YAAaA,KAAKg0B,wBAAwB,cAAgB9xB,EAAYokB,KAAK2B,SAE3G,CACDzmB,IAAK,kBACLpD,MAAO,SAAyBT,GAC9B,IAAIs2B,EAAMj0B,KAAKg0B,wBAAwBr2B,GAAM,GAE7C,GAAIX,MAAMC,QAAQg3B,IAAuB,IAAfA,EAAIl2B,OAAc,CAC1C,GAAIk2B,EAAI,GAAKA,EAAI,IAAO,GAAKA,EAAI,GAAKA,EAAI,IAAO,EAC/C,OAAOA,GAGT,EAAIhyB,EAAMsG,MAAM,UAAUhE,OAAO5G,EAAM,YAGzC,OAAO,OAER,CACD6D,IAAK,WACLR,IAAK,WACH,OAAO,EAAIiB,EAAMwP,QAAQzR,KAAM,WAAYA,KAAKk0B,gBAAgB,aAAejB,KAEhF,CACDzxB,IAAK,UACLR,IAAK,WACH,OAAO,EAAIiB,EAAMwP,QAAQzR,KAAM,UAAWA,KAAKk0B,gBAAgB,YAAcl0B,KAAKm0B,YAEnF,CACD3yB,IAAK,WACLR,IAAK,WACH,IAAImP,EAAMnQ,KAAKuzB,SAASvyB,IAAI,YAM5B,SAJK,EAAIiB,EAAMmO,OAAOD,IAAQA,GAAO,KACnCA,EAzGgB,IA4GX,EAAIlO,EAAMwP,QAAQzR,KAAM,WAAYmQ,KAE5C,CACD3O,IAAK,OACLR,IAAK,WACH,IAEIuI,EAFA6qB,EAAUp0B,KAAKo0B,QACfD,EAAWn0B,KAAKm0B,SAGpB,GAAIC,IAAYD,IAAY,EAAIlyB,EAAM2N,cAAcwkB,EAASD,GAC3D5qB,EAAO4qB,MACF,CACL,IAAIF,EAAMhyB,EAAM2Q,KAAKyhB,UAAUD,EAASD,GAEpCF,GAAOA,EAAI,GAAKA,EAAI,IAAO,GAAKA,EAAI,GAAKA,EAAI,IAAO,EACtD1qB,EAAO0qB,GAEP,EAAIhyB,EAAMsG,MAAM,8CAIpB,OAAO,EAAItG,EAAMwP,QAAQzR,KAAM,OAAQuJ,GAAQ4qB,KAEhD,CACD3yB,IAAK,SACLR,IAAK,WACH,IAAIoI,EAASpJ,KAAKg0B,wBAAwB,WAAa,EAUvD,OARI5qB,EAAS,IAAO,EAClBA,EAAS,EACAA,GAAU,IACnBA,GAAkB,IACTA,EAAS,IAClBA,GAAUA,EAAS,IAAM,KAAO,MAG3B,EAAInH,EAAMwP,QAAQzR,KAAM,SAAUoJ,KAE1C,CACD5H,IAAK,mBACLpD,MAAO,WACL,IACI8L,EADAoqB,EAAUt0B,KAAKs0B,QAGnB,GAAIt3B,MAAMC,QAAQq3B,GAAU,CAC1B,IAIIC,EAJAnqB,EAAOpK,KAAKoK,KACZoqB,EAAU,GAEVC,EAAa/3B,EAA2B43B,GAG5C,IACE,IAAKG,EAAWv2B,MAAOq2B,EAASE,EAAWr3B,KAAKe,MAAO,CACrD,IAAIu2B,EAAWH,EAAOn2B,MACtBo2B,EAAQ/vB,KAAK2F,EAAKuqB,WAAWD,KAE/B,MAAOj2B,GACPg2B,EAAWp2B,EAAEI,GACb,QACAg2B,EAAWl2B,IAGb2L,EAAS,IAAI8e,EAAQ4L,sBAAsBJ,QAE3CtqB,GADS,EAAIhI,EAAYgkB,UAAUoO,GAC1BA,EAEA,IAAItL,EAAQ6L,WAGvB,OAAO3qB,IAER,CACD1I,IAAK,gBACLpD,MAAO,SAAuB0pB,GAC5B,IAAIgN,EAAS90B,KAMb,OAJKA,KAAK2zB,mBACR3zB,KAAK2zB,iBAAmB3zB,KAAKiE,WAAWgF,OAAOjJ,KAAM,cAGhDA,KAAK2zB,iBAAiBtsB,MAAK,WAEhC,OADmB,IAAIqrB,EAAKqC,aAAaD,EAAOE,UAAWlN,EAAMgN,EAAO1qB,MACpD6qB,YAGvB,CACDzzB,IAAK,kBACLpD,MAAO,SAAyB82B,GAC9B,IAAIC,EAAUn1B,KAEVoD,EAAU8xB,EAAM9xB,QAChBqH,EAAOyqB,EAAMzqB,KACbzF,EAAOkwB,EAAMlwB,KACbuF,EAAS2qB,EAAM3qB,OACfS,EAAyBkqB,EAAMlqB,uBAC/BoqB,EAAuBp1B,KAAKiE,WAAWgF,OAAOjJ,KAAM,oBACpD2zB,EAAmB3zB,KAAKq1B,cAAc,CAAC,YAAa,aAAc,UAAW,UAAW,UAAW,SACnGC,EAAmB,IAAIvC,EAAWwC,iBAAiB,CACrDnrB,KAAMpK,KAAKoK,KACXhH,QAASA,EACT2F,UAAW/I,KAAK+I,UAChB8qB,UAAW7zB,KAAK6zB,UAChBL,UAAWxzB,KAAKwzB,UAChBC,iBAAkBzzB,KAAKyzB,iBACvB+B,QAASx1B,KAAKwG,iBACdktB,mBAAoB1zB,KAAK0zB,qBAGvB+B,EADevvB,QAAQC,IAAI,CAACivB,EAAsBzB,IACnBtsB,MAAK,SAAUquB,GAChD,IACIC,EADQn5B,EAAek5B,EAAO,GACR,GAEtBE,EAAS,IAAI9C,EAAe+C,aAAatrB,EAAQE,EAAM0qB,EAAQpsB,WAMnE,OALA3F,EAAQQ,KAAK,kBAAmB,CAC9BkyB,aAAcR,EAAiBS,cAAcZ,EAAQH,WACrDjsB,UAAWosB,EAAQpsB,UACnBwB,OAAQA,IAEH+qB,EAAiBvqB,gBAAgB,CACtCb,OAAQyrB,EACR3wB,KAAMA,EACNgwB,UAAWG,EAAQH,UACnBgB,aAAcJ,IACbvuB,MAAK,WACN,OAAOuuB,QAGX,OAAO1vB,QAAQC,IAAI,CAACsvB,EAAiBz1B,KAAKi2B,qBAAqB5uB,MAAK,SAAU6uB,GAC5E,IAAIC,EAAS35B,EAAe05B,EAAO,GAC/BE,EAAaD,EAAO,GACpBE,EAAcF,EAAO,GAEzB,GAA2B,IAAvBE,EAAYt4B,OAEd,OADAq4B,EAAWE,OAAM,GACV,CACLv4B,OAAQq4B,EAAWG,aAIvB,IAGIC,EAHAC,EAAiB,GAEjBC,EAAah6B,EAA2B25B,GAG5C,IACE,IAAKK,EAAWx4B,MAAOs4B,EAASE,EAAWt5B,KAAKe,MAAO,CACrD,IAAIg1B,EAAaqD,EAAOp4B,MAEpB80B,EAAuBC,EAAY5oB,IACrCksB,EAAehyB,KAAK0uB,EAAWpoB,gBAAgBuqB,EAAkBtwB,EAAMgG,KAG3E,MAAOvM,GACPi4B,EAAWr4B,EAAEI,GACb,QACAi4B,EAAWn4B,IAGb,OAAO2H,QAAQC,IAAIswB,GAAgBpvB,MAAK,SAAUsvB,GAChDP,EAAWQ,MAAM30B,EAAM4R,IAAIkM,iBAAkB,IAE7C,IACI8W,EADAC,EAAap6B,EAA2Bi6B,GAG5C,IACE,IAAKG,EAAW54B,MAAO24B,EAASC,EAAW15B,KAAKe,MAAO,CACrD,IAAIy3B,EAASiB,EAAOz4B,MACpBg4B,EAAWW,UAAUnB,IAEvB,MAAOn3B,GACPq4B,EAAWz4B,EAAEI,GACb,QACAq4B,EAAWv4B,IAKb,OAFA63B,EAAWQ,MAAM30B,EAAM4R,IAAImM,eAAgB,IAC3CoW,EAAWE,OAAM,GACV,CACLv4B,OAAQq4B,EAAWG,qBAK1B,CACD/0B,IAAK,qBACLpD,MAAO,SAA4B44B,GACjC,IAAIC,EAAUj3B,KAEVoD,EAAU4zB,EAAO5zB,QACjB4B,EAAOgyB,EAAOhyB,KACd4G,EAAsBorB,EAAOprB,oBAC7BnB,EAAOusB,EAAOvsB,KACdoB,EAAmBmrB,EAAOnrB,iBAC1BupB,EAAuBp1B,KAAKiE,WAAWgF,OAAOjJ,KAAM,oBACpD2zB,EAAmB3zB,KAAKq1B,cAAc,CAAC,YAAa,UAAW,SAEnE,OADmBnvB,QAAQC,IAAI,CAACivB,EAAsBzB,IAClCtsB,MAAK,SAAU6vB,GACjC,IACIvB,EADSn5B,EAAe06B,EAAQ,GACT,GAY3B,OAVuB,IAAInE,EAAWwC,iBAAiB,CACrDnrB,KAAM6sB,EAAQ7sB,KACdhH,QAASA,EACT2F,UAAWkuB,EAAQluB,UACnB8qB,UAAWoD,EAAQpD,UACnBL,UAAWyD,EAAQzD,UACnBC,iBAAkBwD,EAAQxD,iBAC1B+B,QAASyB,EAAQzwB,iBACjBktB,mBAAoBuD,EAAQvD,qBAENyD,eAAe,CACrCjtB,OAAQyrB,EACR3wB,KAAMA,EACNgwB,UAAWiC,EAAQjC,UACnBppB,oBAAqBA,EACrBC,iBAAkBA,EAClBpB,KAAMA,SAIX,CACDjJ,IAAK,qBACLpD,MAAO,SAA4BmM,GACjC,OAAOvK,KAAKi2B,mBAAmB5uB,MAAK,SAAUgvB,GAG5C,IAFA,IAAIe,EAAkB,GAEbp5B,EAAI,EAAG6mB,EAAKwR,EAAYt4B,OAAQC,EAAI6mB,EAAI7mB,IAC1CuM,IAAU2oB,EAAuBmD,EAAYr4B,GAAIuM,IACpD6sB,EAAgB3yB,KAAK4xB,EAAYr4B,GAAGwF,MAIxC,OAAO4zB,OAGV,CACD51B,IAAK,cACLR,IAAK,WACH,OAAO,EAAIiB,EAAMwP,QAAQzR,KAAM,cAAeA,KAAKg0B,wBAAwB,WAAa,MAEzF,CACDxyB,IAAK,qBACLR,IAAK,WACH,IAAIq2B,EAAUr3B,KAEVs3B,EAAoBt3B,KAAKiE,WAAWgF,OAAOjJ,KAAM,eAAeqH,MAAK,WAIvE,IAHA,IAAIkwB,EAAiBF,EAAQhB,YACzBmB,EAAqB,GAEhBx5B,EAAI,EAAG6mB,EAAK0S,EAAex5B,OAAQC,EAAI6mB,EAAI7mB,IAClDw5B,EAAmB/yB,KAAKkuB,EAAY8E,kBAAkBl2B,OAAO81B,EAAQjtB,KAAMmtB,EAAev5B,GAAIq5B,EAAQpzB,WAAYozB,EAAQxD,YAG5H,OAAO3tB,QAAQC,IAAIqxB,GAAoBnwB,MAAK,SAAUgvB,GACpD,OAAOA,EAAYqB,QAAO,SAAmBvE,GAC3C,QAASA,QAEV,SAAUprB,GAEX,OADA,EAAI9F,EAAMsG,MAAM,wBAAyBhE,OAAOwD,EAAQ,OACjD,SAGX,OAAO,EAAI9F,EAAMwP,QAAQzR,KAAM,qBAAsBs3B,OAIlD7E,EA/We,GAkXxBlyB,EAAQkyB,KAAOA,EACf,IAAIkF,EAAuB,IAAIl0B,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,KAC/Dm0B,EAAsB,IAAIn0B,WAAW,CAAC,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,MACtFo0B,EAAmB,IAAIp0B,WAAW,CAAC,IAAM,IAAM,IAAM,IAAM,GAAM,MAGjEq0B,EAA4B,iBAEhC,SAASC,EAAK7tB,EAAQ8tB,GACpB,IAAIC,EAAQh4B,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,GAAmBA,UAAU,GAAK,KAC5Ei4B,EAAYj4B,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAC3Ek4B,EAAkBH,EAAUj6B,OAC5Bq6B,EAAYluB,EAAOmuB,UAAUJ,GAC7BK,EAAaF,EAAUr6B,OAASo6B,EAEpC,GAAIG,GAAc,EAChB,OAAO,EAGT,GAAIJ,EAIF,IAHA,IAAIK,EAAeJ,EAAkB,EACjC9pB,EAAM+pB,EAAUr6B,OAAS,EAEtBsQ,GAAOkqB,GAAc,CAG1B,IAFA,IAAIC,EAAI,EAEDA,EAAIL,GAAmBC,EAAU/pB,EAAMmqB,KAAOR,EAAUO,EAAeC,IAC5EA,IAGF,GAAIA,GAAKL,EAEP,OADAjuB,EAAOmE,KAAOA,EAAMkqB,GACb,EAGTlqB,SAKF,IAFA,IAAIoqB,EAAO,EAEJA,GAAQH,GAAY,CAGzB,IAFA,IAAII,EAAK,EAEFA,EAAKP,GAAmBC,EAAUK,EAAOC,KAAQV,EAAUU,IAChEA,IAGF,GAAIA,GAAMP,EAER,OADAjuB,EAAOmE,KAAOoqB,GACP,EAGTA,IAIJ,OAAO,EAGT,IAAIrO,EAA2B,WAC7B,SAASA,EAAYnmB,EAAY00B,GAG/B,IAAIzuB,EAEJ,GAJA/N,EAAgB6D,KAAMoqB,IAIlB,EAAIloB,EAAYgkB,UAAUyS,GAC5BzuB,EAASyuB,MACJ,MAAI,EAAI12B,EAAMyN,eAAeipB,GAGlC,MAAM,IAAI11B,MAAM,sCAFhBiH,EAAS,IAAI8e,EAAQmB,OAAOwO,GAK9B,GAAIzuB,EAAOnM,QAAU,EACnB,MAAM,IAAIkE,EAAM8K,oBAAoB,uDAGtC/M,KAAKiE,WAAaA,EAClBjE,KAAKkK,OAASA,EACdlK,KAAKoK,KAAO,IAAIsoB,EAAKkG,KAAK1uB,EAAQjG,GAClCjE,KAAK0zB,mBAAqB,IAAIV,EAAU6F,mBAAmB,CACzDzuB,KAAMpK,KAAKoK,KACXuD,gBAAiB1J,EAAWuC,iBAAiBmH,kBAE/C3N,KAAK84B,cAAgB,GA2Wd,IACDC,EAuBR,OAhYA78B,EAAakuB,EAAa,CAAC,CACzB5oB,IAAK,QACLpD,MAAO,SAAeqH,GACpBzF,KAAKmD,MAAMsC,GACX,IAAIuzB,EAAUh5B,KAAK4J,QAAQqvB,QAAQj4B,IAAI,YAEnC,EAAIkB,EAAY2jB,QAAQmT,KAC1Bh5B,KAAKk5B,iBAAmBF,EAAQr7B,MAGlC,IAGE,GAFAqC,KAAKm5B,SAAWn5B,KAAK4J,QAAQqvB,QAAQj4B,IAAI,YAErChB,KAAKm5B,SAAU,CACjBn5B,KAAKo5B,IAAMp5B,KAAKm5B,SAASn4B,IAAI,OAC7B,IAAIq4B,EAASr5B,KAAKm5B,SAASn4B,IAAI,UAEzBhE,MAAMC,QAAQo8B,IAA6B,IAAlBA,EAAOt7B,QAAkBiC,KAAKo5B,MAC3Dp5B,KAAKm5B,SAAW,OAGpB,MAAOtyB,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,GAGR,EAAI5E,EAAMiJ,MAAM,kEAChBlL,KAAKm5B,SAAW,KAGlB,IACE,IAAIG,EAAat5B,KAAK4J,QAAQqvB,QAAQj4B,IAAI,eAEtC,EAAIkB,EAAY0jB,QAAQ0T,IAAeA,EAAWzR,UAAU9pB,OAAS,IACvEiC,KAAKs5B,WAAaA,GAEpB,MAAOzyB,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,GAGR,EAAI5E,EAAMiJ,MAAM,0CAGnB,CACD1J,IAAK,gBACLR,IAAK,WACH,IAAIu4B,EAAgB,KAEpB,IACEA,EAAgB1G,EAAQ2G,cAAcj4B,OAAOvB,KAAKkK,QAClD,MAAOzL,GACP,GAAIA,aAAe8D,EAAY+oB,qBAC7B,MAAM7sB,GAGR,EAAIwD,EAAMiJ,MAAMzM,GAGlB,OAAO,EAAIwD,EAAMwP,QAAQzR,KAAM,gBAAiBu5B,KAEjD,CACD/3B,IAAK,YACLR,IAAK,WACH,IAAIkJ,EAASlK,KAAKkK,OACduvB,EAAY,EAEhB,GAAIz5B,KAAKu5B,cACPrvB,EAAOwvB,QAEH3B,EAAK7tB,EAAQ2tB,KACf4B,EAAYvvB,EAAOmE,IAAM,EAAInE,EAAOQ,WAEjC,CAML,IALA,IACIivB,EAAkB/B,EAAoB75B,OACtC67B,GAAQ,EACRvrB,EAAMnE,EAAO4f,KAET8P,GAASvrB,EAAM,IACrBA,GANS,KAMKsrB,GAEJ,IACRtrB,EAAM,GAGRnE,EAAOmE,IAAMA,EACburB,EAAQ7B,EAAK7tB,EAAQ0tB,EAbZ,MAauC,GAGlD,GAAIgC,EAAO,CAET,IAAI5H,EADJ9nB,EAAO2vB,KAAK,GAGZ,GACE7H,EAAK9nB,EAAO6iB,iBACL,EAAIxqB,EAAYwvB,cAAcC,IAIvC,IAFA,IAAI7gB,EAAM,GAEH6gB,GAAM,IAAQA,GAAM,IACzB7gB,GAAOpC,OAAOC,aAAagjB,GAC3BA,EAAK9nB,EAAO6iB,UAGd0M,EAAYK,SAAS3oB,EAAK,IAEtB4oB,MAAMN,KACRA,EAAY,IAKlB,OAAO,EAAIx3B,EAAMwP,QAAQzR,KAAM,YAAay5B,KAE7C,CACDj4B,IAAK,cACLpD,MAAO,WACL,IAAI8L,EAASlK,KAAKkK,OAGlB,GAFAA,EAAOwvB,QAEF3B,EAAK7tB,EAAQytB,GAAlB,CAIAztB,EAAO8vB,YAKP,IAJA,IAEIhI,EADAgH,EAAU,IAGNhH,EAAK9nB,EAAO6iB,WAAa,MAC3BiM,EAAQj7B,QALe,KAS3Bi7B,GAAWjqB,OAAOC,aAAagjB,GAG5BhyB,KAAKk5B,mBACRl5B,KAAKk5B,iBAAmBF,EAAQiB,UAAU,OAG7C,CACDz4B,IAAK,iBACLpD,MAAO,WACL4B,KAAKoK,KAAK8vB,aAAal6B,KAAKy5B,aAE7B,CACDj4B,IAAK,QACLpD,MAAO,SAAeqH,GACpBzF,KAAKoK,KAAK+vB,MAAM10B,GAChBzF,KAAK4J,QAAU,IAAI8oB,EAAK0H,QAAQp6B,KAAKiE,WAAYjE,KAAKoK,QAEvD,CACD5I,IAAK,WACLR,IAAK,WACH,IAAIu4B,EAAgBv5B,KAAKu5B,cACrB9vB,EAAM8vB,EAAgBA,EAAc3zB,SAAW5F,KAAK4J,QAAQhE,SAChE,OAAO,EAAI3D,EAAMwP,QAAQzR,KAAM,WAAYyJ,KAE5C,CACDjI,IAAK,eACLR,IAAK,WACH,IAAIq5B,EAAyB,CAC3BC,MAAOr4B,EAAMoO,SACbkqB,OAAQt4B,EAAMoO,SACdmqB,QAASv4B,EAAMoO,SACfoqB,SAAUx4B,EAAMoO,SAChBqqB,QAASz4B,EAAMoO,SACfsqB,SAAU14B,EAAMoO,SAChBuqB,aAAc34B,EAAMoO,SACpBwqB,QAAS54B,EAAMoO,SACfyqB,QAAS54B,EAAY2jB,QAEnBmT,EAAUh5B,KAAKk5B,iBAEI,iBAAZF,GAAyBlB,EAA0Bj6B,KAAKm7B,MACjE,EAAI/2B,EAAMsG,MAAM,sCAAsChE,OAAOy0B,IAC7DA,EAAU,MAGZ,IAOI+B,EAPAC,EAAU,CACZC,iBAAkBjC,EAClBkC,eAAgBl7B,KAAKu5B,cACrB4B,oBAAqBn7B,KAAKm5B,SAC1BiC,eAAgBp7B,KAAKo5B,IACrBiC,sBAAuBr7B,KAAKs5B,YAI9B,IACEyB,EAAW/6B,KAAKoK,KAAKkxB,QAAQt6B,IAAI,QACjC,MAAOvC,GACP,GAAIA,aAAe8D,EAAY+oB,qBAC7B,MAAM7sB,GAGR,EAAIwD,EAAMiJ,MAAM,mDAGlB,IAAI,EAAIhJ,EAAY0jB,QAAQmV,GAAW,CACrC,IACIQ,EADAC,EAAa9+B,EAA2Bq+B,EAASlT,WAGrD,IACE,IAAK2T,EAAWt9B,MAAOq9B,EAASC,EAAWp+B,KAAKe,MAAO,CACrD,IAAIqD,EAAM+5B,EAAOn9B,MACbA,EAAQ28B,EAAS/5B,IAAIQ,GAEzB,GAAI64B,EAAuB74B,GACrB64B,EAAuB74B,GAAKpD,GAC9B48B,EAAQx5B,GAAwB,iBAAVpD,EAAqBA,GAAQ,EAAI6D,EAAM0P,mBAAmBvT,IAEhF,EAAI6D,EAAMiJ,MAAM,mCAAoC3G,OAAO/C,EAAK,YAE7D,GAAmB,iBAARA,EAAkB,CAClC,IAAIi6B,OAAc,EAElB,IAAI,EAAIx5B,EAAMoO,UAAUjS,GACtBq9B,GAAc,EAAIx5B,EAAM0P,mBAAmBvT,OACtC,OAAI,EAAI8D,EAAY2jB,QAAQznB,KAAU,EAAI6D,EAAMmO,OAAOhS,KAAU,EAAI6D,EAAMgO,QAAQ7R,IAEnF,EACL,EAAI6D,EAAMiJ,MAAM,oDAAqD3G,OAAO/C,EAAK,OACjF,SAHAi6B,EAAcr9B,EAMX48B,EAAgB,SACnBA,EAAgB,OAAI39B,OAAOkE,OAAO,OAGpCy5B,EAAgB,OAAEx5B,GAAOi6B,IAG7B,MAAOh9B,GACP+8B,EAAWn9B,EAAEI,GACb,QACA+8B,EAAWj9B,KAIf,OAAO,EAAI0D,EAAMwP,QAAQzR,KAAM,eAAgBg7B,KAEhD,CACDx5B,IAAK,cACLR,IAAK,WAYH,IAXA,IAAI06B,EACAC,EAAU37B,KAAKoK,KAAKkxB,QAAQt6B,IAAI,MAQhC46B,EAAiB,GAEZ59B,EAAI,EAAG6mB,GAPd6W,EADE1+B,MAAMC,QAAQ0+B,IAAYA,EAAQ,KAAM,EAAI15B,EAAMoO,UAAUsrB,EAAQ,KA3UtD,qCA2U6DA,EAAQ,IAC9E,EAAI15B,EAAMuM,eAAemtB,EAAQ,KAEjC,EAAI/I,EAAQiJ,cAAc77B,KAAKkK,OAAO4xB,aAAa,EA/UpC,MA+UiE,EA/UjE,OAoVE/9B,OAAQC,EAAI6mB,EAAI7mB,IAAK,CAC7C,IAAI+9B,EAAML,EAAK19B,GAAGT,SAAS,IAC3Bq+B,EAAen3B,KAAKs3B,EAAIC,SAAS,EAAG,MAGtC,OAAO,EAAI/5B,EAAMwP,QAAQzR,KAAM,cAAe47B,EAAel3B,KAAK,OAEnE,CACDlD,IAAK,wBACLpD,MAAO,SAA+B2K,GACpC,IAAIa,EAAU5J,KAAK4J,QACf2vB,EAAgBv5B,KAAKu5B,eACzB,EAAIt3B,EAAM0M,QAAQ4qB,GAAiBA,EAAc0C,YAAclzB,GAE/D,IAAIM,EAAMnH,EAAYsH,IAAIxI,IAAIu4B,EAAc2C,kBAAmB,GAE/D,OAAOl8B,KAAKoK,KAAKsd,WAAWre,GAAKhC,MAAK,SAAU8I,GAC9C,IAAI,EAAIjO,EAAY0jB,QAAQzV,EAAK,UAAW,EAAIjO,EAAY0jB,QAAQzV,KAASA,EAAI4X,IAAI,SAAW5X,EAAI4X,IAAI,YAKtG,OAJI1e,IAAQO,EAAQuyB,mBAAmBpU,IAAI1e,IACzCO,EAAQuyB,mBAAmB1T,IAAIpf,EAAK,GAG/B,CAAC8G,EAAK9G,GAGf,MAAM,IAAIpH,EAAM0Q,YAAY,6EAC3B7K,OAAM,SAAUC,GAEjB,OADA,EAAI9F,EAAMiJ,MAAMnD,GACT6B,EAAQwyB,YAAYrzB,QAG9B,CACDvH,IAAK,UACLpD,MAAO,SAAiB2K,GACtB,IAAIszB,EAAUr8B,KAEd,QAAsC6O,IAAlC7O,KAAK84B,cAAc/vB,GACrB,OAAO/I,KAAK84B,cAAc/vB,GAG5B,IAAIa,EAAU5J,KAAK4J,QACf2vB,EAAgBv5B,KAAKu5B,cACrB32B,EAAU22B,GAAiBA,EAAc0C,YAAclzB,EAAY/I,KAAKs8B,sBAAsBvzB,GAAaa,EAAQwyB,YAAYrzB,GACnI,OAAO/I,KAAK84B,cAAc/vB,GAAanG,EAAQyE,MAAK,SAAUk1B,GAC5D,IAAIC,EAAShgC,EAAe+/B,EAAQ,GAChChJ,EAAWiJ,EAAO,GAClBnzB,EAAMmzB,EAAO,GAEjB,OAAO,IAAI/J,EAAK,CACdxuB,WAAYo4B,EAAQp4B,WACpBmG,KAAMiyB,EAAQjyB,KACdrB,UAAWA,EACXwqB,SAAUA,EACVlqB,IAAKA,EACLmqB,UAAW5pB,EAAQ4pB,UACnBC,iBAAkB7pB,EAAQ6pB,iBAC1BC,mBAAoB2I,EAAQ3I,0BAIjC,CACDlyB,IAAK,iBACLpD,MAAO,WACL,IAAIq+B,EAAUz8B,KAEd,OAAOA,KAAK8I,QAAQ,GAAGhB,MAAoB,WACzC,IAAI40B,EAASjgC,EAAgCF,EAAoBgJ,MAAK,SAASo3B,EAAS50B,GACtF,OAAOxL,EAAoBuJ,MAAK,SAAmB82B,GACjD,OACE,OAAQA,EAAU52B,KAAO42B,EAAU/9B,MACjC,KAAK,EACH,KAAMkJ,aAAkBxF,EAAY0vB,oBAAqB,CACvD2K,EAAU/9B,KAAO,EACjB,MAKF,OAFA49B,EAAQ3D,cAAc/6B,OAAS,EAC/B6+B,EAAU/9B,KAAO,EACV49B,EAAQ1wB,UAEjB,KAAK,EACH,MAAM,IAAIxJ,EAAY6K,mBAExB,KAAK,EACL,IAAK,MACH,OAAOwvB,EAAUt2B,UAGtBq2B,OAGL,OAAO,SAAUE,GACf,OAAOH,EAAOx8B,MAAMF,KAAMC,YA3Ba,MA+B5C,CACDuB,IAAK,eACLpD,MAAO,SAAsB2L,EAAI3G,GAC/B,OAAOpD,KAAK4J,QAAQkC,aAAa/B,EAAI3G,KAEtC,CACD5B,IAAK,UACLpD,OACM26B,EAAWt8B,EAAgCF,EAAoBgJ,MAAK,SAASu3B,IAC/E,OAAOvgC,EAAoBuJ,MAAK,SAAmBi3B,GACjD,OACE,OAAQA,EAAU/2B,KAAO+2B,EAAUl+B,MACjC,KAAK,EACH,OAAOk+B,EAAU12B,OAAO,SAAUrG,KAAK4J,QAAU5J,KAAK4J,QAAQmC,WAAY,EAAI7J,EAAYiK,yBAE5F,KAAK,EACL,IAAK,MACH,OAAO4wB,EAAUz2B,UAGtBw2B,EAAU98B,UAGf,WACE,OAAO+4B,EAAS74B,MAAMF,KAAMC,gBAO3BmqB,EA5ZsB,GA+Z/B7pB,EAAQ6pB,YAAcA,GAErB,SAAU5pB,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQy8B,SAAWz8B,EAAQq4B,KAAOr4B,EAAQw0B,aAAex0B,EAAQ65B,aAAU,EAE3E,IAAIn4B,EAAQ5B,EAAoB,GAE5B6B,EAAc7B,EAAoB,GAElCwyB,EAAUxyB,EAAoB,IAE9BkC,EAAclC,EAAoB,GAElCuyB,EAAUvyB,EAAoB,IAE9B48B,EAAc58B,EAAoB,IAEtC,SAAS68B,EAAiBC,GACxB,OAAO,EAAIj7B,EAAY0jB,QAAQuX,GAAQA,EAAKn8B,IAAI,KAAOm8B,EAGzD,IAAI/C,EAAuB,WACzB,SAASA,EAAQn2B,EAAYmG,GAO3B,GANAjO,EAAgB6D,KAAMo6B,GAEtBp6B,KAAKiE,WAAaA,EAClBjE,KAAKoK,KAAOA,EACZpK,KAAKi5B,QAAU7uB,EAAKgzB,kBAEf,EAAIl7B,EAAY0jB,QAAQ5lB,KAAKi5B,SAChC,MAAM,IAAIh3B,EAAM0Q,YAAY,uCAG9B3S,KAAKwzB,UAAY,IAAItxB,EAAYkkB,YACjCpmB,KAAKyzB,iBAAmB,IAAI4J,IAC5Br9B,KAAKm8B,mBAAqB,IAAIj6B,EAAYkkB,YAwmC5C,OArmCAlqB,EAAak+B,EAAS,CAAC,CACrB54B,IAAK,WACLR,IAAK,WACH,IAAIs8B,EAAYt9B,KAAKi5B,QAAQrR,OAAO,YAEpC,KAAK,EAAI1lB,EAAY4jB,OAAOwX,GAC1B,OAAO,EAAIr7B,EAAMwP,QAAQzR,KAAM,WAAY,MAG7C,IAEIu9B,EAFAzW,IAAuB9mB,KAAKoK,KAAKozB,SAAWx9B,KAAKoK,KAAKozB,QAAQC,iBAC9DvzB,EAASlK,KAAKoK,KAAKid,MAAMiW,EAAWxW,GAGxC,GAAI5c,IAAU,EAAIhI,EAAY0jB,QAAQ1b,EAAOme,MAAO,CAClD,IAAIzD,EAAO1a,EAAOme,KAAKrnB,IAAI,QACvB08B,EAAUxzB,EAAOme,KAAKrnB,IAAI,WAE9B,IAAI,EAAIkB,EAAY2jB,QAAQjB,EAAM,cAAe,EAAI1iB,EAAY2jB,QAAQ6X,EAAS,OAChF,IACEH,GAAW,EAAIt7B,EAAMgQ,qBAAoB,EAAIhQ,EAAM2M,eAAe1E,EAAOic,aACzE,MAAO9nB,GACP,GAAIA,aAAakE,EAAY+oB,qBAC3B,MAAMjtB,GAGR,EAAI4D,EAAMiJ,MAAM,+BAKtB,OAAO,EAAIjJ,EAAMwP,QAAQzR,KAAM,WAAYu9B,KAE5C,CACD/7B,IAAK,oBACLR,IAAK,WACH,IAAI28B,EAAW39B,KAAKi5B,QAAQj4B,IAAI,SAEhC,KAAK,EAAIkB,EAAY0jB,QAAQ+X,GAC3B,MAAM,IAAI17B,EAAM0Q,YAAY,uCAG9B,OAAO,EAAI1Q,EAAMwP,QAAQzR,KAAM,oBAAqB29B,KAErD,CACDn8B,IAAK,kBACLR,IAAK,WACH,IAAImP,EAAM,KAEV,IACEA,EAAMnQ,KAAK49B,uBACX,MAAO/2B,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,GAGR,EAAI5E,EAAMsG,MAAM,oCAGlB,OAAO,EAAItG,EAAMwP,QAAQzR,KAAM,kBAAmBmQ,KAEnD,CACD3O,IAAK,uBACLpD,MAAO,WACL,IAAI+R,EAAMnQ,KAAKi5B,QAAQj4B,IAAI,YAE3B,KAAK,EAAIkB,EAAY0jB,QAAQzV,GAC3B,OAAO,KAKT,GAFAA,EAAMA,EAAIyX,OAAO,WAEZ,EAAI1lB,EAAY4jB,OAAO3V,GAC1B,OAAO,KAGT,IAAI0tB,EAAO,CACTC,MAAO,IAELC,EAAQ,CAAC,CACX5tB,IAAKA,EACL6tB,OAAQH,IAENI,EAAY,IAAI/7B,EAAYmkB,OAChC4X,EAAUxV,IAAItY,GAId,IAHA,IAAI/F,EAAOpK,KAAKoK,KACZ8zB,EAAa,IAAI9Q,kBAAkB,GAEhC2Q,EAAMhgC,OAAS,GAAG,CACvB,IAAIC,EAAI+/B,EAAMI,QACVC,EAAch0B,EAAKuqB,WAAW32B,EAAEmS,KAEpC,GAAoB,OAAhBiuB,EAAJ,CAIA,IAAKA,EAAYrW,IAAI,SACnB,MAAM,IAAI9lB,EAAM0Q,YAAY,qCAG9B,IAAInP,EAAO,CACTsN,IAAK,KACLqsB,KAAM,MAER/C,EAAQiE,oBAAoB,CAC1BC,SAAUF,EACVG,UAAW/6B,EACXoB,WAAY5E,KAAKiE,WAAWW,aAE9B,IAAI45B,EAAQJ,EAAYp9B,IAAI,SACxBy9B,EAAQL,EAAYp9B,IAAI,MAAQ,EAChC09B,EAAQN,EAAYzW,SAAS,KAC7BgX,EAAQP,EAAYp9B,IAAI,SACxB49B,EAAWV,GAEXlhC,MAAMC,QAAQyhC,IAA2B,IAAjBA,EAAM3gC,QAA8B,IAAb2gC,EAAM,IAAyB,IAAbA,EAAM,IAAyB,IAAbA,EAAM,KAC3FE,EAAW3B,EAAY4B,WAAWC,WAAWC,IAAIC,OAAON,EAAO,IAGjE,IAAIO,EAAc,CAChB9B,KAAM35B,EAAK25B,KACXrsB,IAAKtN,EAAKsN,IACVouB,UAAW17B,EAAK07B,UAChBC,UAAW37B,EAAK27B,UAChBX,OAAO,EAAIv8B,EAAM0P,mBAAmB6sB,GACpCE,MAAOE,EACPD,MAAOptB,OAAOC,UAAUmtB,GAASA,OAAQ9vB,EACzCuwB,QAAiB,EAARX,GACTY,UAAmB,EAARZ,GACXX,MAAO,IAET9/B,EAAEggC,OAAOF,MAAMr5B,KAAKw6B,GACpB9uB,EAAMiuB,EAAYxW,OAAO,UAErB,EAAI1lB,EAAY4jB,OAAO3V,KAAS8tB,EAAUlW,IAAI5X,KAChD4tB,EAAMt5B,KAAK,CACT0L,IAAKA,EACL6tB,OAAQiB,IAEVhB,EAAUxV,IAAItY,IAGhBA,EAAMiuB,EAAYxW,OAAO,SAErB,EAAI1lB,EAAY4jB,OAAO3V,KAAS8tB,EAAUlW,IAAI5X,KAChD4tB,EAAMt5B,KAAK,CACT0L,IAAKA,EACL6tB,OAAQhgC,EAAEggC,SAEZC,EAAUxV,IAAItY,KAIlB,OAAO0tB,EAAKC,MAAM//B,OAAS,EAAI8/B,EAAKC,MAAQ,OAE7C,CACDt8B,IAAK,cACLR,IAAK,WACH,IAAIs+B,EAAc,KAElB,IACEA,EAAct/B,KAAKu/B,mBACnB,MAAO14B,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,GAGR,EAAI5E,EAAMsG,MAAM,+BAGlB,OAAO,EAAItG,EAAMwP,QAAQzR,KAAM,cAAes/B,KAE/C,CACD99B,IAAK,mBACLpD,MAAO,WACL,IAAIo/B,EAAUx9B,KAAKoK,KAAKkxB,QAAQt6B,IAAI,WAEpC,KAAK,EAAIkB,EAAY0jB,QAAQ4X,GAC3B,OAAO,KAGT,IAAIiB,EAAQjB,EAAQx8B,IAAI,KAExB,KAAK,EAAIiB,EAAMmO,OAAOquB,GACpB,OAAO,KAGTA,GAAS91B,KAAK62B,IAAI,EAAG,IACrB,IAAIF,EAAc,GAElB,IAAK,IAAI99B,KAAOS,EAAM8Q,eAAgB,CACpC,IAAI3U,EAAQ6D,EAAM8Q,eAAevR,GAE7Bi9B,EAAQrgC,GACVkhC,EAAY76B,KAAKrG,GAIrB,OAAOkhC,IAER,CACD99B,IAAK,WACLR,IAAK,WACH,IAAImP,EAAMnQ,KAAKy/B,kBAAkBz+B,IAAI,SAErC,IAAKuQ,OAAOC,UAAUrB,GACpB,MAAM,IAAIlO,EAAM0Q,YAAY,+DAG9B,OAAO,EAAI1Q,EAAMwP,QAAQzR,KAAM,WAAYmQ,KAE5C,CACD3O,IAAK,eACLR,IAAK,WACH,IAAImP,EAAMnQ,KAAK0/B,aACXC,EAAQtiC,OAAOkE,OAAO,MAE1B,GAAI4O,aAAeyvB,EAAU,CAC3B,IAAIC,EAAQ1vB,EAAI2vB,SAEhB,IAAK,IAAIniC,KAAQkiC,EACfF,EAAMhiC,GAAQu/B,EAAiB2C,EAAMliC,SAE9BwS,aAAejO,EAAYokB,MACpCnW,EAAI/D,SAAQ,SAAU5K,EAAKpD,GACrBA,IACFuhC,EAAMn+B,GAAO07B,EAAiB9+B,OAKpC,OAAO,EAAI6D,EAAMwP,QAAQzR,KAAM,eAAgB2/B,KAEhD,CACDn+B,IAAK,iBACLpD,MAAO,SAAwB2hC,GAC7B,IAAI5vB,EAAMnQ,KAAK0/B,aAEf,OAAIvvB,aAAeyvB,GAAYzvB,aAAejO,EAAYokB,KACjD4W,EAAiB/sB,EAAInP,IAAI++B,IAAkB,MAG7C,OAER,CACDv+B,IAAK,aACLpD,MAAO,WACL,IAAI+R,EAAMnQ,KAAKi5B,QAAQj4B,IAAI,SAE3B,OAAImP,GAAOA,EAAI4X,IAAI,SACV,IAAI6X,EAASzvB,EAAIyX,OAAO,SAAU5nB,KAAKoK,MACrCpK,KAAKi5B,QAAQlR,IAAI,SACnB/nB,KAAKi5B,QAAQj4B,IAAI,cADnB,IAMR,CACDQ,IAAK,aACLR,IAAK,WACH,IAAImP,EAAM,KAEV,IACEA,EAAMnQ,KAAKggC,kBACX,MAAOn5B,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,GAGR,EAAI5E,EAAMsG,MAAM,+BAGlB,OAAO,EAAItG,EAAMwP,QAAQzR,KAAM,aAAcmQ,KAE9C,CACD3O,IAAK,kBACLpD,MAAO,WACL,IAAI+R,EAAMnQ,KAAKi5B,QAAQrR,OAAO,cAE9B,IAAKzX,EACH,OAAO,KAWT,IARA,IAAI8vB,EAAa,IAAIjjC,MAAMgD,KAAK4F,UAC5Bs6B,EAAQ,KACRC,EAAS,GAETC,EADa,IAAIC,EAAWlwB,EAAKnQ,KAAKoK,MACpB01B,SAClBQ,EAAe,GACfC,EAAe,EAEVviC,EAAI,EAAG6mB,EAAK7kB,KAAK4F,SAAU5H,EAAI6mB,EAAI7mB,IAAK,CAC/C,GAAIA,KAAKoiC,EAAM,CACb,IAAII,EAAYJ,EAAKpiC,GAErB,KAAK,EAAIkE,EAAY0jB,QAAQ4a,GAC3B,MAAM,IAAIv+B,EAAM0Q,YAAY,kCAG9B,GAAI6tB,EAAUzY,IAAI,WAAY,EAAI7lB,EAAY2jB,QAAQ2a,EAAUx/B,IAAI,QAAS,aAC3E,MAAM,IAAIiB,EAAM0Q,YAAY,yCAG9B,GAAI6tB,EAAUzY,IAAI,KAAM,CACtB,IAAI7pB,EAAIsiC,EAAUx/B,IAAI,KAEtB,KAAK,EAAIkB,EAAY2jB,QAAQ3nB,GAC3B,MAAM,IAAI+D,EAAM0Q,YAAY,0CAG9ButB,EAAQhiC,EAAEP,UAEVuiC,EAAQ,KAGV,GAAIM,EAAUzY,IAAI,KAAM,CACtB,IAAIlmB,EAAI2+B,EAAUx/B,IAAI,KAEtB,KAAK,EAAIiB,EAAMoO,UAAUxO,GACvB,MAAM,IAAII,EAAM0Q,YAAY,2CAG9BwtB,GAAS,EAAIl+B,EAAM0P,mBAAmB9P,QAEtCs+B,EAAS,GAGX,GAAIK,EAAUzY,IAAI,MAAO,CACvB,IAAI0Y,EAAKD,EAAUx/B,IAAI,MAEvB,KAAMuQ,OAAOC,UAAUivB,IAAOA,GAAM,GAClC,MAAM,IAAIx+B,EAAM0Q,YAAY,0CAG9B4tB,EAAeE,OAEfF,EAAe,EAInB,OAAQL,GACN,IAAK,IACHI,EAAeC,EACf,MAEF,IAAK,IACL,IAAK,IACHD,GAAe,EAAI/9B,EAAY2uB,iBAAiBqP,EAAwB,MAAVL,GAC9D,MAEF,IAAK,IACL,IAAK,IASH,IARA,IAGIQ,EAAyB,MAAVR,EADA,GADA,GAGfS,EAAcJ,EAAe,EAC7BK,EAAY7xB,OAAOC,aAAa0xB,EAAeC,EALvC,IAMRE,EAAU,GAELrI,EAAI,EAAGsI,EAAKH,EART,GAQ+B,EAAGnI,GAAKsI,EAAItI,IACrDqI,EAAQp8B,KAAKm8B,GAGfN,EAAeO,EAAQn8B,KAAK,IAC5B,MAEF,QACE,GAAIw7B,EACF,MAAM,IAAIj+B,EAAM0Q,YAAY,kBAAmBpO,OAAO27B,EAAO,+BAG/DI,EAAe,GAGnBL,EAAWjiC,GAAKmiC,EAASG,EACzBC,IAGF,OAAON,IAER,CACDz+B,IAAK,aACLR,IAAK,WACH,IAAImP,EAAMnQ,KAAKi5B,QAAQj4B,IAAI,cACvB+/B,EAAa,GAEjB,IAAI,EAAI7+B,EAAY2jB,QAAQ1V,GAC1B,OAAQA,EAAIxS,MACV,IAAK,aACL,IAAK,YACL,IAAK,gBACL,IAAK,iBACL,IAAK,cACL,IAAK,eACHojC,EAAa5wB,EAAIxS,KAIvB,OAAO,EAAIsE,EAAMwP,QAAQzR,KAAM,aAAc+gC,KAE9C,CACDv/B,IAAK,WACLR,IAAK,WACH,IAAImP,EAAMnQ,KAAKi5B,QAAQj4B,IAAI,YACvBggC,EAAW,UAEf,IAAI,EAAI9+B,EAAY2jB,QAAQ1V,GAC1B,OAAQA,EAAIxS,MACV,IAAK,UACL,IAAK,cACL,IAAK,YACL,IAAK,aACL,IAAK,QACL,IAAK,iBACHqjC,EAAW7wB,EAAIxS,KAIrB,OAAO,EAAIsE,EAAMwP,QAAQzR,KAAM,WAAYghC,KAE5C,CACDx/B,IAAK,oBACLR,IAAK,WACH,IAAIigC,EAAUjhC,KAEVkhC,EAA8B,CAChCC,YAAal/B,EAAMgO,OACnBmxB,YAAan/B,EAAMgO,OACnBoxB,aAAcp/B,EAAMgO,OACpBqxB,UAAWr/B,EAAMgO,OACjBsxB,aAAct/B,EAAMgO,OACpBuxB,gBAAiBv/B,EAAMgO,OACvBwxB,sBAAuBv/B,EAAY2jB,OACnC6b,UAAWx/B,EAAY2jB,OACvB8b,SAAUz/B,EAAY2jB,OACtB+b,SAAU1/B,EAAY2jB,OACtBgc,UAAW3/B,EAAY2jB,OACvBic,UAAW5/B,EAAY2jB,OACvBkc,aAAc7/B,EAAY2jB,OAC1Bmc,OAAQ9/B,EAAY2jB,OACpBoc,kBAAmBhgC,EAAMgO,OACzBiyB,eAAgBllC,MAAMC,QACtBklC,UAAW5wB,OAAOC,WAEhBrB,EAAMnQ,KAAKi5B,QAAQj4B,IAAI,qBACvBohC,EAAQ/kC,OAAOkE,OAAO,MAE1B,IAAI,EAAIW,EAAY0jB,QAAQzV,GAC1B,IAAK,IAAI3O,KAAO0/B,EACd,GAAK/wB,EAAI4X,IAAIvmB,GAAb,CAIA,IAAIpD,EAAQ+R,EAAInP,IAAIQ,GAEpB,GAAK0/B,EAA4B1/B,GAAKpD,GAAtC,CAKA,IAAIikC,OAAY,EAEhB,OAAQ7gC,GACN,IAAK,wBACH,OAAQpD,EAAMT,MACZ,IAAK,UACL,IAAK,cACL,IAAK,YACL,IAAK,QACH0kC,EAAYjkC,EAAMT,KAClB,MAEF,QACE0kC,EAAY,UAGhB,MAEF,IAAK,YACH,OAAQjkC,EAAMT,MACZ,IAAK,MACL,IAAK,MACH0kC,EAAYjkC,EAAMT,KAClB,MAEF,QACE0kC,EAAY,MAGhB,MAEF,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,YACH,OAAQjkC,EAAMT,MACZ,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,SACH0kC,EAAYjkC,EAAMT,KAClB,MAEF,QACE0kC,EAAY,UAGhB,MAEF,IAAK,eACH,OAAQjkC,EAAMT,MACZ,IAAK,OACL,IAAK,aACH0kC,EAAYjkC,EAAMT,KAClB,MAEF,QACE0kC,EAAY,aAGhB,MAEF,IAAK,SACH,OAAQjkC,EAAMT,MACZ,IAAK,UACL,IAAK,sBACL,IAAK,qBACH0kC,EAAYjkC,EAAMT,KAClB,MAEF,QACE0kC,EAAY,OAGhB,MAEF,IAAK,iBAGH,GAFajkC,EAAML,OAEN,GAAM,EACjB,MAGYK,EAAM0R,OAAM,SAAU9G,EAAMhL,EAAGgB,GAC3C,OAAOuS,OAAOC,UAAUxI,IAASA,EAAO,IAAY,IAANhL,GAAWgL,GAAQhK,EAAIhB,EAAI,KAAOgL,GAAQi4B,EAAQr7B,cAIhGy8B,EAAYjkC,GAGd,MAEF,IAAK,YACCA,EAAQ,IACVikC,EAAYjkC,GAGd,MAEF,SACE,EAAI6D,EAAM0M,QAAyB,kBAAVvQ,GACzBikC,EAAYjkC,OAGEyQ,IAAdwzB,EACFD,EAAM5gC,GAAO6gC,GAEb,EAAIpgC,EAAMiJ,MAAM,uCAAwC3G,OAAO/C,EAAK,YAjHpE,EAAIS,EAAMiJ,MAAM,uCAAwC3G,OAAO/C,EAAK,OAsH1E,OAAO,EAAIS,EAAMwP,QAAQzR,KAAM,oBAAqBoiC,KAErD,CACD5gC,IAAK,aACLR,IAAK,WACH,IAAImP,EAAMnQ,KAAKi5B,QAAQj4B,IAAI,cACvBshC,EAAa,KAEjB,IAAI,EAAIpgC,EAAY0jB,QAAQzV,GAAM,CAChC,IAAImuB,EAAW,IAAIp8B,EAAYokB,KAAKtmB,KAAKoK,MACzCk0B,EAAS5vB,IAAI,IAAKyB,GAClB,IAAIouB,EAAY,CACdztB,IAAK,KACLqsB,KAAM,KACNoF,OAAQ,MAEVnI,EAAQiE,oBAAoB,CAC1BC,SAAUA,EACVC,UAAWA,IAGTvhC,MAAMC,QAAQshC,EAAUpB,OACrBmF,IACHA,EAAajlC,OAAOkE,OAAO,OAG7B+gC,EAAWnF,KAAOoB,EAAUpB,MACnBoB,EAAUgE,SACdD,IACHA,EAAajlC,OAAOkE,OAAO,OAG7B+gC,EAAWC,OAAShE,EAAUgE,aAEvBvlC,MAAMC,QAAQkT,KAClBmyB,IACHA,EAAajlC,OAAOkE,OAAO,OAG7B+gC,EAAWnF,KAAOhtB,GAGpB,OAAO,EAAIlO,EAAMwP,QAAQzR,KAAM,aAAcsiC,KAE9C,CACD9gC,IAAK,cACLR,IAAK,WACH,IAAImP,EAAMnQ,KAAKi5B,QAAQj4B,IAAI,SACvBwhC,EAAc,KAElB,GAAIryB,GAAOA,EAAI4X,IAAI,iBAAkB,CACnC,IACI8X,EADW,IAAID,EAASzvB,EAAIyX,OAAO,iBAAkB5nB,KAAKoK,MACzC01B,SAErB,IAAK,IAAIniC,KAAQkiC,EAAO,CACtB,IAAI4C,EAAK,IAAIzF,EAAS6C,EAAMliC,GAAOqC,KAAKoK,MAEnCo4B,IACHA,EAAcnlC,OAAOkE,OAAO,OAG9BihC,GAAY,EAAIvgC,EAAM0P,mBAAmBhU,IAAS8kC,EAAGC,cAIzD,OAAO,EAAIzgC,EAAMwP,QAAQzR,KAAM,cAAewiC,KAE/C,CACDhhC,IAAK,aACLR,IAAK,WACH,IAAImP,EAAMnQ,KAAKi5B,QAAQj4B,IAAI,SACvB8f,EAAa,KAEjB,SAAS6hB,EAAuBC,GAC9B,IAAIhe,EAAOge,EAAO5hC,IAAI,KAEtB,IAAK,EAAIkB,EAAY2jB,QAAQjB,EAAM,cAAnC,CAIA,IAAIie,EAAKD,EAAO5hC,IAAI,MAEpB,IAAI,EAAIkB,EAAYgkB,UAAU2c,GAC5BA,GAAK,EAAI5gC,EAAM2M,eAAei0B,EAAG1c,iBAC5B,KAAK,EAAIlkB,EAAMoO,UAAUwyB,GAC9B,OAGG/hB,IACHA,EAAa,IAGfA,EAAWrc,MAAK,EAAIxC,EAAM0P,mBAAmBkxB,KAG/C,GAAI1yB,GAAOA,EAAI4X,IAAI,cAAe,CAChC,IACI8X,EADW,IAAID,EAASzvB,EAAIyX,OAAO,cAAe5nB,KAAKoK,MACtC01B,SAErB,IAAK,IAAIniC,KAAQkiC,EAAO,CACtB,IAAI+C,EAAS/C,EAAMliC,IAEf,EAAIuE,EAAY0jB,QAAQgd,IAC1BD,EAAuBC,IAK7B,IAAIN,EAAatiC,KAAKi5B,QAAQj4B,IAAI,cAMlC,OAJI,EAAIkB,EAAY0jB,QAAQ0c,KAAe,EAAIpgC,EAAY2jB,QAAQyc,EAAWthC,IAAI,KAAM,eACtF2hC,EAAuBL,IAGlB,EAAIrgC,EAAMwP,QAAQzR,KAAM,aAAc8gB,KAE9C,CACDtf,IAAK,eACLpD,MAAO,SAAsB2L,EAAI3G,GAC/B,IAAI0/B,EAAW,GAIf,OAHA9iC,KAAKwzB,UAAUpnB,SAAQ,SAAUxJ,GAC/BkgC,EAASr+B,KAAK7B,MAETsD,QAAQC,IAAI28B,GAAUz7B,MAAK,SAAU07B,GAC1C,IACIC,EADAC,EAAavmC,EAA2BqmC,GAG5C,IACE,IAAKE,EAAW/kC,MAAO8kC,EAASC,EAAW7lC,KAAKe,MAAO,CACrD,IAAI+kC,EAAiBF,EAAO5kC,MAE5B,GAAI8kC,EAAeC,aAAep5B,EAEhC,YADAm5B,EAAeE,SAAShgC,IAI5B,MAAO3E,GACPwkC,EAAW5kC,EAAEI,GACb,QACAwkC,EAAW1kC,UAIhB,CACDiD,IAAK,UACLpD,MAAO,WACL,IAAIilC,EAAUrjC,MAEd,EAAIkC,EAAYiK,wBAChBnM,KAAKm8B,mBAAmBtT,QACxB,IAAIia,EAAW,GAIf,OAHA9iC,KAAKwzB,UAAUpnB,SAAQ,SAAUxJ,GAC/BkgC,EAASr+B,KAAK7B,MAETsD,QAAQC,IAAI28B,GAAUz7B,MAAK,SAAU07B,GAC1C,IACIO,EADAC,EAAc7mC,EAA2BqmC,GAG7C,IACE,IAAKQ,EAAYrlC,MAAOolC,EAAUC,EAAYnmC,KAAKe,aACtCmlC,EAAQllC,MAAMiqB,KACbmb,WAEd,MAAO/kC,GACP8kC,EAAYllC,EAAEI,GACd,QACA8kC,EAAYhlC,IAGd8kC,EAAQ7P,UAAU3K,QAElBwa,EAAQ5P,iBAAiB5K,aAG5B,CACDrnB,IAAK,cACLpD,MAAO,SAAqB2K,GAC1B,IAKI41B,EALAtvB,GAAa,EAAIpN,EAAMS,2BACvB+gC,EAAe,CAACzjC,KAAKi5B,QAAQrR,OAAO,UACpC8b,EAAe,IAAIxhC,EAAYmkB,OAC/Bjc,EAAOpK,KAAKoK,KACZ+xB,EAAqBn8B,KAAKm8B,mBAE1BwH,EAAmB,EAyGvB,OAvGA,SAAS9kC,IA4FP,IA3FA,IAAI+kC,EAAQ,WACV,IAAIC,EAAcJ,EAAaK,MAE/B,IAAI,EAAI5hC,EAAY4jB,OAAO+d,GAGzB,OAFAlF,EAAQxC,EAAmBn7B,IAAI6iC,IAEnB,GAAKF,EAAmBhF,EAAQ51B,GAC1C46B,GAAoBhF,EACb,YAGL+E,EAAa3b,IAAI8b,IACnBx0B,EAAWvI,OAAO,IAAI7E,EAAM0Q,YAAY,4CACjC,CACLhD,OAAG,KAIP+zB,EAAajb,IAAIob,GACjBz5B,EAAKsd,WAAWmc,GAAax8B,MAAK,SAAU8I,IACtC,EAAIjO,EAAY0jB,QAAQzV,EAAK,UAAW,EAAIjO,EAAY0jB,QAAQzV,KAASA,EAAI4X,IAAI,QAC/Ehf,IAAc46B,GACZE,IAAgB1H,EAAmBpU,IAAI8b,IACzC1H,EAAmB1T,IAAIob,EAAa,GAGtCx0B,EAAWvM,QAAQ,CAACqN,EAAK0zB,MAEzBF,IACA9kC,MAMJ4kC,EAAah/B,KAAK0L,GAClBtR,OACCwQ,EAAWvI,QACP,CACL6I,OAAG,IAIP,KAAK,EAAIzN,EAAY0jB,QAAQie,GAE3B,OADAx0B,EAAWvI,OAAO,IAAI7E,EAAM0Q,YAAY,kEACjC,CACLhD,OAAG,GAMP,GAFAgvB,EAAQkF,EAAY7iC,IAAI,SAEpBuQ,OAAOC,UAAUmtB,IAAUA,GAAS,EAAG,CACzC,IAAI9X,EAAQgd,EAAYhd,MAMxB,GAJIA,IAAUsV,EAAmBpU,IAAIlB,IACnCsV,EAAmB1T,IAAI5B,EAAO8X,GAG5BgF,EAAmBhF,GAAS51B,EAE9B,OADA46B,GAAoBhF,EACb,WAIX,IAAIoF,EAAOF,EAAY7iC,IAAI,QAE3B,IAAKhE,MAAMC,QAAQ8mC,GACjB,OAAI,EAAI7hC,EAAY2jB,QAAQge,EAAY7iC,IAAI,QAAS,UAAY6iC,EAAY9b,IAAI,SAAW8b,EAAY9b,IAAI,YACtG4b,IAAqB56B,GACvBsG,EAAWvM,QAAQ,CAAC+gC,EAAa,OAC1B,CACLl0B,OAAG,KAIPg0B,IACO,aAGTt0B,EAAWvI,OAAO,IAAI7E,EAAM0Q,YAAY,iDACjC,CACLhD,OAAG,IAIP,IAAK,IAAIq0B,EAAOD,EAAKhmC,OAAS,EAAGimC,GAAQ,EAAGA,IAC1CP,EAAah/B,KAAKs/B,EAAKC,KAIpBP,EAAa1lC,QAAQ,CAC1B,IAAIkmC,EAAOL,IAEX,GAAa,aAATK,GACgB,iBAATA,EAAmB,OAAOA,EAAKt0B,EAG5CN,EAAWvI,OAAO,IAAI7D,MAAM,cAAcsB,OAAOwE,EAAW,iBAG9DlK,GACOwQ,EAAWzM,UAEnB,CACDpB,IAAK,eACLpD,MAAO,SAAsB8lC,GAC3B,IAAI95B,EAAOpK,KAAKoK,KAyEZ1B,EAAQ,EAiBZ,OAfA,SAAS7J,EAAKwK,GACZ,OA1EF,SAAwB86B,GACtB,IACIC,EADA17B,EAAQ,EAEZ,OAAO0B,EAAKsd,WAAWyc,GAAQ98B,MAAK,SAAUg9B,GAC5C,IAAI,EAAIniC,EAAY6jB,aAAaoe,EAAQD,MAAa,EAAIhiC,EAAY0jB,QAAQye,EAAM,YAAa,EAAIniC,EAAY0jB,QAAQye,IAAUA,EAAKtc,IAAI,UAAWsc,EAAKtc,IAAI,aAC9J,MAAM,IAAI9lB,EAAM0Q,YAAY,uDAG9B,IAAK0xB,EACH,OAAO,KAGT,KAAK,EAAIniC,EAAY0jB,QAAQye,GAC3B,MAAM,IAAIpiC,EAAM0Q,YAAY,8BAI9B,OADAyxB,EAAYC,EAAKzc,OAAO,UACjByc,EAAK/c,SAAS,aACpBjgB,MAAK,SAAU22B,GAChB,IAAKA,EACH,OAAO,KAGT,KAAK,EAAI97B,EAAY0jB,QAAQoY,GAC3B,MAAM,IAAI/7B,EAAM0Q,YAAY,gCAG9B,OAAOqrB,EAAO1W,SAAS,WACtBjgB,MAAK,SAAU08B,GAChB,IAAKA,EACH,OAAO,KAMT,IAHA,IAAIO,EAAc,GACd1K,GAAQ,EAEH57B,EAAI,EAAG6mB,EAAKkf,EAAKhmC,OAAQC,EAAI6mB,EAAI7mB,IAAK,CAC7C,IAAIumC,EAAMR,EAAK/lC,GAEf,KAAK,EAAIkE,EAAY4jB,OAAOye,GAC1B,MAAM,IAAItiC,EAAM0Q,YAAY,4BAG9B,IAAI,EAAIzQ,EAAY6jB,aAAawe,EAAKJ,GAAS,CAC7CvK,GAAQ,EACR,MAGF0K,EAAY7/B,KAAK2F,EAAKsd,WAAW6c,GAAKl9B,MAAK,SAAUk9B,GACnD,KAAK,EAAIriC,EAAY0jB,QAAQ2e,GAC3B,MAAM,IAAItiC,EAAM0Q,YAAY,kCAG1B4xB,EAAIxc,IAAI,SACVrf,GAAS67B,EAAIvjC,IAAI,SAEjB0H,QAKN,IAAKkxB,EACH,MAAM,IAAI33B,EAAM0Q,YAAY,6CAG9B,OAAOzM,QAAQC,IAAIm+B,GAAaj9B,MAAK,WACnC,MAAO,CAACqB,EAAO07B,SAQZI,CAAen7B,GAAKhC,MAAK,SAAUkiB,GACxC,IAAKA,EACH,OAAO7gB,EAGT,IAAI+7B,EAASjoC,EAAe+sB,EAAM,GAC9BoV,EAAQ8F,EAAO,GACfL,EAAYK,EAAO,GAGvB,OADA/7B,GAASi2B,EACF9/B,EAAKulC,MAITvlC,CAAKqlC,MAEZ,CAAC,CACH1iC,IAAK,sBACLpD,MAAO,SAA6BsmC,GAalC,IAAIpG,EAAWoG,EAAOpG,SAEtB,IAAK,EAAIp8B,EAAY0jB,QAAQ0Y,GAA7B,CAKA,IAAIC,EAAYmG,EAAOnG,UAEvB,GAAyB,iBAAdA,EAAX,CAKA,IAEIztB,EACAqsB,EAHAv4B,EAAa8/B,EAAO9/B,YAAc,KAClC29B,EAASjE,EAASt9B,IAAI,KAQ1B,KAJK,EAAIkB,EAAY0jB,QAAQ2c,IAAWjE,EAASvW,IAAI,UACnDwa,EAASjE,EAASt9B,IAAI,UAGpB,EAAIkB,EAAY0jB,QAAQ2c,GAAS,CACnC,IAAIoC,EAAapC,EAAOvhC,IAAI,KAE5B,KAAK,EAAIkB,EAAY2jB,QAAQ8e,GAE3B,YADA,EAAI1iC,EAAMsG,MAAM,2DAIlB,IAAIq8B,EAAaD,EAAWhnC,KAE5B,OAAQinC,GACN,IAAK,MACH9zB,EAAMyxB,EAAOvhC,IAAI,QAEb,EAAIkB,EAAY2jB,QAAQ/U,GAC1BA,EAAM,IAAMA,EAAInT,MACP,EAAIsE,EAAMoO,UAAUS,KAC7BA,EApDR,SAAiCA,GAC/B,OAAOA,EAAI+zB,WAAW,QAAU,UAAUtgC,OAAOuM,GAAOA,EAmD5Cg0B,CAAwBh0B,IAGhC,MAEF,IAAK,OACHqsB,EAAOoF,EAAOvhC,IAAI,KAClB,MAEF,IAAK,SACL,IAAK,QACH,IAAI+jC,EAAUxC,EAAOvhC,IAAI,MAErB,EAAIkB,EAAY0jB,QAAQmf,GAC1Bj0B,EAAMi0B,EAAQ/jC,IAAI,MAAQ,MACjB,EAAIiB,EAAMoO,UAAU00B,KAC7Bj0B,EAAMi0B,GAGR,IAAIC,EAAazC,EAAOvhC,IAAI,KAE5B,GAAIgkC,KACE,EAAI9iC,EAAY2jB,QAAQmf,KAC1BA,EAAaA,EAAWrnC,OAGtB,EAAIsE,EAAMoO,UAAUS,IAAM,CAC5B,IAAIP,EAAUO,EAAIm0B,MAAM,KAAK,IAEzB,EAAIhjC,EAAMoO,UAAU20B,GACtBl0B,EAAMP,EAAU,IAAMy0B,EACbhoC,MAAMC,QAAQ+nC,KACvBl0B,EAAMP,EAAU,IAAM20B,KAAKC,UAAUH,IAK3C,IAAI7F,EAAYoD,EAAOvhC,IAAI,cAEvB,EAAIiB,EAAMgO,QAAQkvB,KACpBZ,EAAUY,UAAYA,GAGxB,MAEF,IAAK,QACH,IAAIiG,EAAc7C,EAAOvhC,IAAI,MAEzB,EAAIkB,EAAY2jB,QAAQuf,KAC1B7G,EAAUgE,OAAS6C,EAAYznC,MAGjC,MAEF,IAAK,aACH,IACIklC,EADAwC,EAAW9C,EAAOvhC,IAAI,MAS1B,IANI,EAAIkB,EAAYgkB,UAAUmf,GAC5BxC,GAAK,EAAI5gC,EAAM2M,eAAey2B,EAASlf,aAC9B,EAAIlkB,EAAMoO,UAAUg1B,KAC7BxC,EAAKwC,GAGHxC,EAAI,CACN,IAEIyC,EADQ,IAAIC,OAAO,SADA,CAAC,gBAAiB,eACU7gC,KAAK,KAAKugC,MAAM,KAAKvgC,KAAK,OAAS,sDAAuD,KAC3H8gC,MAAK,EAAIvjC,EAAM0P,mBAAmBkxB,IAEpD,GAAIyC,GAASA,EAAM,GAAI,CACrBx0B,EAAMw0B,EAAM,GAEK,SAAbA,EAAM,IAA8B,kBAAbA,EAAM,KAC/B/G,EAAUY,WAAY,GAGxB,OAIN,SACE,EAAIl9B,EAAMsG,MAAM,iDAAkDhE,OAAOqgC,EAAY,aAGhFtG,EAASvW,IAAI,UACtBoV,EAAOmB,EAASt9B,IAAI,SAGtB,IAAI,EAAIiB,EAAMoO,UAAUS,GAAM,CAC5BA,EAzIF,SAA+BA,GAC7B,IACE,OAAO,EAAI7O,EAAMgQ,oBAAoBnB,GACrC,MAAOzS,GACP,OAAOyS,GAqIH20B,CAAsB30B,GAC5B,IAAIC,GAAc,EAAI9O,EAAM4O,wBAAwBC,EAAKlM,GAErDmM,IACFwtB,EAAUztB,IAAMC,EAAYuY,MAG9BiV,EAAUW,UAAYpuB,EAGpBqsB,KACE,EAAIj7B,EAAY2jB,QAAQsX,KAC1BA,EAAOA,EAAKx/B,QAGV,EAAIsE,EAAMoO,UAAU8sB,IAASngC,MAAMC,QAAQkgC,MAC7CoB,EAAUpB,KAAOA,SAvInB,EAAIl7B,EAAMsG,MAAM,4DAPhB,EAAItG,EAAMsG,MAAM,6DAoJf6xB,EAtnCkB,GAynC3B75B,EAAQ65B,QAAUA,EAElB,IAAIxB,EAAO,WACT,SAASA,EAAK1uB,EAAQjG,GACpBjE,KAAKkK,OAASA,EACdlK,KAAKiE,WAAaA,EAClBjE,KAAK0lC,QAAU,GACf1lC,KAAK2lC,SAAWtoC,OAAOkE,OAAO,MAC9BvB,KAAK4lC,UAAY,IAAIvI,IACrBr9B,KAAKqK,MAAQ,CACXw7B,YAAaxoC,OAAOkE,OAAO,MAC3BukC,UAAWzoC,OAAOkE,OAAO,OAoxB7B,OAhxBAq3B,EAAKt7B,UAAY,CACf48B,aAAc,SAA2BT,GACvCz5B,KAAK+lC,eAAiB,CAACtM,IAEzBU,MAAO,SAAoB10B,GACzB,IAAIugC,EAWAxI,EAmBAK,EA5BCp4B,IAGH,EAAIxD,EAAMsG,MAAM,4BAChBy9B,EAAchmC,KAAKimC,gBAHnBD,EAAchmC,KAAKkmC,WAMrBF,EAAYhf,WAAWhnB,MACvBA,KAAKs7B,QAAU0K,EAGf,IACExI,EAAUwI,EAAYhlC,IAAI,WAC1B,MAAO6F,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,GAGR,EAAI5E,EAAMsG,MAAM,8CAAiDhE,OAAOsC,EAAI,OAG9E,IAAI,EAAI3E,EAAY0jB,QAAQ4X,GAAU,CACpC,IAAI2I,EAAMH,EAAYhlC,IAAI,MACtBolC,EAASD,GAAOA,EAAIpoC,OAASooC,EAAI,GAAK,GAC1C3I,EAAQ1W,oBAAqB,EAC7B9mB,KAAKw9B,QAAU,IAAI5K,EAAQyT,uBAAuB7I,EAAS4I,EAAQpmC,KAAKiE,WAAW2C,UAKrF,IACEi3B,EAAOmI,EAAYhlC,IAAI,QACvB,MAAO6F,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,GAGR,EAAI5E,EAAMsG,MAAM,2CAA8ChE,OAAOsC,EAAI,OAG3E,KAAI,EAAI3E,EAAY0jB,QAAQiY,KAASA,EAAK9V,IAAI,SAEvC,CACL,IAAKtiB,EACH,MAAM,IAAIlD,EAAY6K,mBAGxB,MAAM,IAAInL,EAAM0Q,YAAY,0BAN5B3S,KAAK69B,KAAOA,GAShByI,iBAAkB,SAA+BC,GACzC,eAAgBvmC,OACpBA,KAAKwmC,WAAa,CAChBC,SAAU,EACVC,UAAWH,EAAOI,MAAMz8B,OAAOmE,IAC/Bu4B,WAAYL,EAAOM,KACnBC,WAAYP,EAAOQ,OAIvB,IAAI52B,EAAMnQ,KAAKgnC,cAAcT,GAE7B,KAAK,EAAIrkC,EAAYwjB,OAAOvV,EAAK,WAC/B,MAAM,IAAIlO,EAAM0Q,YAAY,yDAG9B,IAAI0V,EAAOke,EAAOU,SAMlB,KAJK,EAAI/kC,EAAY0jB,QAAQyC,IAASA,EAAKA,OACzCA,EAAOA,EAAKA,QAGT,EAAInmB,EAAY0jB,QAAQyC,GAC3B,MAAM,IAAIpmB,EAAM0Q,YAAY,0DAI9B,cADO3S,KAAKwmC,WACLne,GAET2e,cAAe,SAA4BT,GACzC,IAKIp2B,EALAjG,EAASq8B,EAAOI,MAAMz8B,OACtBs8B,EAAaxmC,KAAKwmC,WAMtB,IALAt8B,EAAOmE,IAAMm4B,EAAWE,UACxBH,EAAOM,KAAOL,EAAWI,WACzBL,EAAOQ,KAAOP,EAAWM,aAGZ,CACX,KAAM,kBAAmBN,MAAiB,eAAgBA,GAAa,CACrE,IAAI,EAAItkC,EAAYwjB,OAAOvV,EAAMo2B,EAAOU,SAAU,WAChD,MAGFT,EAAWU,cAAgB/2B,EAC3Bq2B,EAAWW,WAAaZ,EAAOU,SAGjC,IAAItjB,EAAQ6iB,EAAWU,cACnBvI,EAAQ6H,EAAWW,WAEvB,IAAK51B,OAAOC,UAAUmS,KAAWpS,OAAOC,UAAUmtB,GAChD,MAAM,IAAI18B,EAAM0Q,YAAY,wDAG9B,IAAK,IAAI3U,EAAIwoC,EAAWC,SAAUzoC,EAAI2gC,EAAO3gC,IAAK,CAChDwoC,EAAWE,UAAYx8B,EAAOmE,IAC9Bm4B,EAAWC,SAAWzoC,EACtBwoC,EAAWI,WAAaL,EAAOM,KAC/BL,EAAWM,WAAaP,EAAOQ,KAC/B,IAAIK,EAAQ,GACZA,EAAMxV,OAAS2U,EAAOU,SACtBG,EAAM19B,IAAM68B,EAAOU,SACnB,IAAIriB,EAAO2hB,EAAOU,SAElB,GAAIriB,aAAgB1iB,EAAYmjB,IAC9B,OAAQT,EAAKe,KACX,IAAK,IACHyhB,EAAMC,MAAO,EACb,MAEF,IAAK,IACHD,EAAME,cAAe,EAK3B,IAAK/1B,OAAOC,UAAU41B,EAAMxV,UAAYrgB,OAAOC,UAAU41B,EAAM19B,OAAU09B,EAAMC,OAAQD,EAAME,aAC3F,MAAM,IAAIrlC,EAAM0Q,YAAY,qCAAqCpO,OAAOof,EAAO,MAAMpf,OAAOo6B,IAGpF,IAAN3gC,GAAWopC,EAAMC,MAAkB,IAAV1jB,IAC3BA,EAAQ,GAGL3jB,KAAK0lC,QAAQ1nC,EAAI2lB,KACpB3jB,KAAK0lC,QAAQ1nC,EAAI2lB,GAASyjB,GAI9BZ,EAAWC,SAAW,EACtBD,EAAWE,UAAYx8B,EAAOmE,IAC9Bm4B,EAAWI,WAAaL,EAAOM,KAC/BL,EAAWM,WAAaP,EAAOQ,YACxBP,EAAWU,qBACXV,EAAWW,WAGpB,GAAInnC,KAAK0lC,QAAQ,KAAO1lC,KAAK0lC,QAAQ,GAAG2B,KACtC,MAAM,IAAIplC,EAAM0Q,YAAY,+CAG9B,OAAOxC,GAETo3B,kBAAmB,SAAgCr9B,GACjD,KAAM,gBAAiBlK,MAAO,CAC5B,IAAIwnC,EAAmBt9B,EAAOme,KAC1Bof,EAAaD,EAAiBxmC,IAAI,KAClCwuB,EAAQgY,EAAiBxmC,IAAI,SAE5BwuB,IACHA,EAAQ,CAAC,EAAGgY,EAAiBxmC,IAAI,UAGnChB,KAAK0nC,YAAc,CACjBC,YAAanY,EACbiY,WAAYA,EACZhB,SAAU,EACVC,UAAWx8B,EAAOmE,KAMtB,OAFArO,KAAK4nC,eAAe19B,UACblK,KAAK0nC,YACLx9B,EAAOme,MAEhBuf,eAAgB,SAA6B19B,GAC3C,IAAIlM,EAAGw6B,EACHkP,EAAc1nC,KAAK0nC,YACvBx9B,EAAOmE,IAAMq5B,EAAYhB,UAOzB,IANA,IAAIe,EAAaC,EAAYD,WACzBI,EAAiBJ,EAAW,GAC5BK,EAAmBL,EAAW,GAC9BM,EAAuBN,EAAW,GAClCE,EAAcD,EAAYC,YAEvBA,EAAY5pC,OAAS,GAAG,CAC7B,IAAI4lB,EAAQgkB,EAAY,GACpBvqC,EAAIuqC,EAAY,GAEpB,IAAKp2B,OAAOC,UAAUmS,KAAWpS,OAAOC,UAAUpU,GAChD,MAAM,IAAI6E,EAAM0Q,YAAY,8BAA8BpO,OAAOof,EAAO,MAAMpf,OAAOnH,IAGvF,IAAKmU,OAAOC,UAAUq2B,KAAoBt2B,OAAOC,UAAUs2B,KAAsBv2B,OAAOC,UAAUu2B,GAChG,MAAM,IAAI9lC,EAAM0Q,YAAY,qCAAqCpO,OAAOof,EAAO,MAAMpf,OAAOnH,IAG9F,IAAKY,EAAI0pC,EAAYjB,SAAUzoC,EAAIZ,IAAKY,EAAG,CACzC0pC,EAAYjB,SAAWzoC,EACvB0pC,EAAYhB,UAAYx8B,EAAOmE,IAC/B,IAAIuW,EAAO,EACPgN,EAAS,EACToW,EAAa,EAEjB,IAAKxP,EAAI,EAAGA,EAAIqP,IAAkBrP,EAChC5T,EAAOA,GAAQ,EAAI1a,EAAO6iB,UAO5B,IAJuB,IAAnB8a,IACFjjB,EAAO,GAGJ4T,EAAI,EAAGA,EAAIsP,IAAoBtP,EAClC5G,EAASA,GAAU,EAAI1nB,EAAO6iB,UAGhC,IAAKyL,EAAI,EAAGA,EAAIuP,IAAwBvP,EACtCwP,EAAaA,GAAc,EAAI99B,EAAO6iB,UAGxC,IAAIqa,EAAQ,GAIZ,OAHAA,EAAMxV,OAASA,EACfwV,EAAM19B,IAAMs+B,EAEJpjB,GACN,KAAK,EACHwiB,EAAMC,MAAO,EACb,MAEF,KAAK,EACHD,EAAME,cAAe,EACrB,MAEF,KAAK,EACH,MAEF,QACE,MAAM,IAAIrlC,EAAM0Q,YAAY,4BAA4BpO,OAAOqgB,IAG9D5kB,KAAK0lC,QAAQ/hB,EAAQ3lB,KACxBgC,KAAK0lC,QAAQ/hB,EAAQ3lB,GAAKopC,GAI9BM,EAAYjB,SAAW,EACvBiB,EAAYhB,UAAYx8B,EAAOmE,IAC/Bs5B,EAAYxiC,OAAO,EAAG,KAG1B8gC,aAAc,WAQZ,SAASgC,EAAUzkC,EAAMouB,GAIvB,IAHA,IAAIsW,EAAQ,GACRlW,EAAKxuB,EAAKouB,GARP,KAUAI,GATA,KASaA,GANb,KAM0BA,OACzBJ,GAAUpuB,EAAKzF,SAIrBmqC,GAASn5B,OAAOC,aAAagjB,GAC7BA,EAAKxuB,EAAKouB,GAGZ,OAAOsW,EAGT,SAASC,EAAU3kC,EAAMouB,EAAQwW,GAK/B,IAJA,IAAIrqC,EAASqqC,EAAKrqC,OACdsqC,EAAa7kC,EAAKzF,OAClBuqC,EAAU,EAEP1W,EAASyW,GAAY,CAG1B,IAFA,IAAIrqC,EAAI,EAEDA,EAAID,GAAUyF,EAAKouB,EAAS5zB,KAAOoqC,EAAKpqC,MAC3CA,EAGJ,GAAIA,GAAKD,EACP,MAGF6zB,IACA0W,IAGF,OAAOA,EAGT,IAAIC,EAAY,yBACZC,EAAe,kBACfC,EAAkB,+BAElBC,EAAe,IAAIjlC,WAAW,CAAC,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,MAC5DklC,EAAiB,IAAIllC,WAAW,CAAC,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,MACxEmlC,EAAW,IAAInlC,WAAW,CAAC,IAAK,GAAI,MACpColC,EAAY,IAAIplC,WAAW,CAAC,GAAI,GAAI,GAAI,IAAK,MACjDzD,KAAK0lC,QAAQ3nC,OAAS,EACtB,IAAImM,EAASlK,KAAKkK,OAClBA,EAAOmE,IAAM,EAOb,IANA,IAwFIrQ,EAAG6mB,EAOHmhB,EA/FAnjB,EAAS3Y,EAAOic,WAChByG,EAAW1iB,EAAOQ,MAClB3M,EAAS8kB,EAAO9kB,OAChB+qC,EAAW,GACXC,EAAW,GAERnc,EAAW7uB,GAAQ,CACxB,IAAIi0B,EAAKnP,EAAO+J,GAEhB,GAlEQ,IAkEJoF,GAjEG,KAiEWA,GAhEX,KAgEwBA,GA/DrB,KA+DkCA,EAK5C,GAnEY,KAmERA,EAAJ,CAcA,IACItxB,EADAwnC,EAAQD,EAAUplB,EAAQ+J,GAG9B,GAAIsb,EAAMrD,WAAW,UAA6B,IAAjBqD,EAAMnqC,QAAgB,KAAKF,KAAKqqC,EAAM,KACrEtb,GAAYub,EAAUtlB,EAAQ+J,EAAU8b,GACxCI,EAASrkC,KAAKmoB,GACdA,GAAYub,EAAUtlB,EAAQ+J,EAAU+b,QACnC,GAAIjoC,EAAI6nC,EAAU/C,KAAK0C,GAAQ,CACpC,IAAIz+B,EAAa,EAAP/I,EAAE,GACRgJ,EAAa,EAAPhJ,EAAE,GAEPV,KAAK0lC,QAAQj8B,IAAQzJ,KAAK0lC,QAAQj8B,GAAKC,MAAQA,IAClD1J,KAAK0lC,QAAQj8B,GAAO,CAClBmoB,OAAQhF,EAAW1iB,EAAOQ,MAC1BhB,IAAKA,EACL49B,cAAc,IAOlB,IAHA,IAAI3/B,OAAgB,EAChBqhC,EAAWpc,EAAWsb,EAAMnqC,OAEzBirC,EAAWnmB,EAAO9kB,QAAQ,CAC/B,IAAIkrC,EAASD,EAAWb,EAAUtlB,EAAQmmB,EAAUJ,GAAY,EAChEjhC,EAAgBshC,EAASrc,EACzB,IAAIsc,EAAWvgC,KAAKC,IAAIqgC,EA7DH,GA6DkCD,GACnDG,GAAW,EAAIlnC,EAAM2M,eAAeiU,EAAOzT,SAAS85B,EAAUD,IAElE,GAAIT,EAAa3qC,KAAKsrC,GACpB,MAEA,IAAIC,EAAWX,EAAgBjD,KAAK2D,GAEpC,GAAIC,GAAYA,EAAS,GAAI,EAC3B,EAAInnC,EAAMsG,MAAM,2GAChBZ,GAAiByhC,EAAS,GAAGrrC,OAC7B,MAIJirC,EAAWC,EAGb,IAAI3U,EAAUzR,EAAOzT,SAASwd,EAAUA,EAAWjlB,GAC/C0hC,EAAgBlB,EAAU7T,EAAS,EAAGuU,GAEtCQ,EAAgB1hC,GAAiB2sB,EAAQ+U,EAAgB,GAAK,KAChEN,EAAStkC,KAAKmoB,EAAW1iB,EAAOQ,OAChC1K,KAAK2lC,SAAS/Y,EAAW1iB,EAAOQ,OAAS,GAG3CkiB,GAAYjlB,OACHugC,EAAMrD,WAAW,aAAgC,IAAjBqD,EAAMnqC,QAAgB,KAAKF,KAAKqqC,EAAM,MAC/EY,EAASrkC,KAAKmoB,GACdA,GAAYub,EAAUtlB,EAAQ+J,EAAU+b,IAExC/b,GAAYsb,EAAMnqC,OAAS,OArE3B,EAAG,CAGD,KAFE6uB,GAEc7uB,EACd,MAGFi0B,EAAKnP,EAAO+J,SA9ET,KA+EIoF,GA9EJ,KA8EiBA,SAbpBpF,EAgFN,IAAK5uB,EAAI,EAAG6mB,EAAKkkB,EAAShrC,OAAQC,EAAI6mB,IAAM7mB,EAC1CgC,KAAK+lC,eAAethC,KAAKskC,EAAS/qC,IAClCgC,KAAKkmC,UAAS,GAKhB,IAAKloC,EAAI,EAAG6mB,EAAKikB,EAAS/qC,OAAQC,EAAI6mB,IAAM7mB,EAAG,CAC7CkM,EAAOmE,IAAMy6B,EAAS9qC,GACtB,IAAIuoC,EAAS,IAAI1T,EAAQyW,OAAO,CAC9B3C,MAAO,IAAI9T,EAAQ0W,MAAMr/B,GACzBE,KAAMpK,KACNwpC,cAAc,EACd/jC,cAAc,IAEZ0K,EAAMo2B,EAAOU,SAEjB,IAAK,EAAI/kC,EAAYwjB,OAAOvV,EAAK,WAAjC,CAIA,IAAIkY,EAAOke,EAAOU,SAElB,IAAK,EAAI/kC,EAAY0jB,QAAQyC,GAA7B,CAIA,IAAIohB,OAAW,EAEf,IACEA,EAAWphB,EAAKrnB,IAAI,QACpB,MAAO6F,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,EAGR,SAGF,IAAK,EAAI3E,EAAY0jB,QAAQ6jB,IAAcA,EAAS1hB,IAAI,SAAxD,CAIA,GAAIM,EAAKN,IAAI,MACX,OAAOM,EAGT2d,EAAc3d,KAGhB,GAAI2d,EACF,OAAOA,EAGT,MAAM,IAAI/jC,EAAM8K,oBAAoB,2BAEtCm5B,SAAU,SAAuBzgC,GAC/B,IAAIyE,EAASlK,KAAKkK,OACdw/B,EAAuBrsC,OAAOkE,OAAO,MAEzC,IACE,KAAOvB,KAAK+lC,eAAehoC,QAAQ,CACjC,IAAI07B,EAAYz5B,KAAK+lC,eAAe,GAEpC,GAAI2D,EAAqBjQ,IACvB,EAAIx3B,EAAMsG,MAAM,+DAChBvI,KAAK+lC,eAAe5H,YAFtB,CAMAuL,EAAqBjQ,IAAa,EAClCvvB,EAAOmE,IAAMorB,EAAYvvB,EAAOQ,MAChC,IAMI2d,EANAke,EAAS,IAAI1T,EAAQyW,OAAO,CAC9B3C,MAAO,IAAI9T,EAAQ0W,MAAMr/B,GACzBE,KAAMpK,KACNwpC,cAAc,IAEZr5B,EAAMo2B,EAAOU,SAGjB,IAAI,EAAI/kC,EAAYwjB,OAAOvV,EAAK,SAS9B,GARAkY,EAAOroB,KAAKsmC,iBAAiBC,GAExBvmC,KAAK2pC,UACR3pC,KAAK2pC,QAAUthB,GAGjBlY,EAAMkY,EAAKrnB,IAAI,WAEXuQ,OAAOC,UAAUrB,GAAM,CACzB,IAAI9B,EAAM8B,EAEJ9B,KAAOrO,KAAK2lC,WAChB3lC,KAAK2lC,SAASt3B,GAAO,EACrBrO,KAAK+lC,eAAethC,KAAK4J,SAGxB,KAAIkD,OAAOC,UAAUrB,GAe1B,MAAM,IAAIlO,EAAM0Q,YAAY,8BAd5B,IAAKpB,OAAOC,UAAU+0B,EAAOU,aAAc,EAAI/kC,EAAYwjB,OAAO6gB,EAAOU,SAAU,UAAW,EAAI/kC,EAAYgkB,UAAU/V,EAAMo2B,EAAOU,UACnI,MAAM,IAAIhlC,EAAM0Q,YAAY,uBAS9B,GANA0V,EAAOroB,KAAKunC,kBAAkBp3B,GAEzBnQ,KAAK2pC,UACR3pC,KAAK2pC,QAAUthB,IAGZA,EACH,MAAM,IAAIpmB,EAAM0Q,YAAY,8BAMhCxC,EAAMkY,EAAKrnB,IAAI,QAEXuQ,OAAOC,UAAUrB,GACnBnQ,KAAK+lC,eAAethC,KAAK0L,IAChB,EAAIjO,EAAY4jB,OAAO3V,IAChCnQ,KAAK+lC,eAAethC,KAAK0L,EAAI1G,KAG/BzJ,KAAK+lC,eAAe5H,SAGtB,OAAOn+B,KAAK2pC,QACZ,MAAOtrC,GACP,GAAIA,aAAakE,EAAY+oB,qBAC3B,MAAMjtB,GAGR,EAAI4D,EAAMiJ,MAAM,yBAA2B7M,GAG7C,IAAIoH,EAIJ,MAAM,IAAIlD,EAAY6K,oBAExBw8B,SAAU,SAAuB5rC,GAC/B,IAAI6rC,EAAY7pC,KAAK0lC,QAAQ1nC,GAE7B,OAAI6rC,IAAcA,EAAUxC,MAAQwC,EAAUjY,OACrCiY,EAGF,MAETlV,WAAY,SAAyBxkB,EAAK2W,GACxC,OAAI3W,aAAejO,EAAYsH,IACtBxJ,KAAKqnB,MAAMlX,EAAK2W,GAGlB3W,GAETkX,MAAO,SAAoBhe,EAAKyd,GAC9B,KAAMzd,aAAenH,EAAYsH,KAC/B,MAAM,IAAIvG,MAAM,iCAGlB,IAAIwG,EAAMJ,EAAII,IAEVqgC,EAAa9pC,KAAK4lC,UAAU5kC,IAAIyI,GAEpC,QAAmBoF,IAAfi7B,EAKF,OAJIA,aAAsB5nC,EAAYokB,OAASwjB,EAAWjjB,QACxDijB,EAAWjjB,MAAQxd,EAAI9L,YAGlBusC,EAGT,IAAID,EAAY7pC,KAAK4pC,SAASngC,GAE9B,OAAkB,OAAdogC,GACF7pC,KAAK4lC,UAAUl3B,IAAIjF,EAAKogC,GAEjBA,IAIPA,EADEA,EAAUvC,aACAtnC,KAAK+pC,kBAAkB1gC,EAAKwgC,EAAW/iB,GAEvC9mB,KAAKgqC,gBAAgB3gC,EAAKwgC,EAAW/iB,IAG/C,EAAI5kB,EAAY0jB,QAAQikB,GAC1BA,EAAUhjB,MAAQxd,EAAI9L,YACb,EAAI2E,EAAYgkB,UAAU2jB,KACnCA,EAAUxhB,KAAKxB,MAAQxd,EAAI9L,YAGtBssC,IAETE,kBAAmB,SAA2B1gC,EAAKwgC,GACjD,IAAI/iB,EAAqB7mB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GACpFyJ,EAAML,EAAIK,IACVD,EAAMJ,EAAII,IAEd,GAAIogC,EAAUngC,MAAQA,EACpB,MAAM,IAAInH,EAAY0vB,mBAAmB,oCAAoC1tB,OAAO8E,IAGtF,IAAIa,EAASlK,KAAKkK,OAAO+/B,cAAcJ,EAAUjY,OAAS5xB,KAAKkK,OAAOQ,OAClE67B,EAAS,IAAI1T,EAAQyW,OAAO,CAC9B3C,MAAO,IAAI9T,EAAQ0W,MAAMr/B,GACzBE,KAAMpK,KACNwpC,cAAc,IAEZU,EAAO3D,EAAOU,SACdkD,EAAO5D,EAAOU,SACdmD,EAAO7D,EAAOU,SAElB,GAAIiD,IAASzgC,GAAO0gC,IAASzgC,KAAS0gC,aAAgBloC,EAAYmjB,KAChE,MAAM,IAAI9iB,EAAY0vB,mBAAmB,kCAAkC1tB,OAAO8E,IAGpF,GAAiB,QAAb+gC,EAAKzkB,IAAe,CACtB,GAAIykB,EAAKzkB,IAAIkf,WAAW,SACtBp7B,EAAMqwB,SAASsQ,EAAKzkB,IAAIsU,UAAU,GAAI,KAEjC1oB,OAAOwoB,MAAMtwB,IAChB,OAAOA,EAIX,MAAM,IAAIlH,EAAY0vB,mBAAmB,kCAAkC1tB,OAAO8E,IAapF,OATEwgC,EADE7pC,KAAKw9B,UAAY1W,EACPyf,EAAOU,OAAOjnC,KAAKw9B,QAAQ6M,sBAAsB5gC,EAAKC,IAEtD68B,EAAOU,UAGhB,EAAI/kC,EAAYgkB,UAAU2jB,IAC7B7pC,KAAK4lC,UAAUl3B,IAAIjF,EAAKogC,GAGnBA,GAETG,gBAAiB,SAAyB3gC,EAAKwgC,GAC7C,IACIS,EAAcT,EAAUjY,OACxB1nB,EAASlK,KAAKqnB,MAAMnlB,EAAYsH,IAAIxI,IAAIspC,EAAa,IAEzD,KAAK,EAAIpoC,EAAYgkB,UAAUhc,GAC7B,MAAM,IAAIjI,EAAM0Q,YAAY,qBAG9B,IAAIgR,EAAQzZ,EAAOme,KAAKrnB,IAAI,SACxB5D,EAAI8M,EAAOme,KAAKrnB,IAAI,KAExB,IAAKuQ,OAAOC,UAAUmS,KAAWpS,OAAOC,UAAUpU,GAChD,MAAM,IAAI6E,EAAM0Q,YAAY,oDAU9B,IAPA,IAAI4zB,EAAS,IAAI1T,EAAQyW,OAAO,CAC9B3C,MAAO,IAAI9T,EAAQ0W,MAAMr/B,GACzBE,KAAMpK,KACNwpC,cAAc,IAEZpJ,EAAO,IAAIpjC,MAAMI,GAEZY,EAAI,EAAGA,EAAIZ,IAAKY,EAAG,CAC1B,IAAIyL,EAAM88B,EAAOU,SAEjB,IAAK11B,OAAOC,UAAU/H,GACpB,MAAM,IAAIxH,EAAM0Q,YAAY,+CAA+CpO,OAAOkF,IAGpF,IAAImoB,EAAS2U,EAAOU,SAEpB,IAAK11B,OAAOC,UAAUogB,GACpB,MAAM,IAAI3vB,EAAM0Q,YAAY,+CAA+CpO,OAAOqtB,IAGpFwO,EAAKpiC,GAAKyL,EAKZ,IAFA,IAAIi8B,EAAU,IAAI1oC,MAAMI,GAEfmtC,EAAM,EAAGA,EAAMntC,IAAKmtC,EAAK,CAChC,IAAIp6B,EAAMo2B,EAAOU,SAOjB,GANAvB,EAAQ6E,GAAOp6B,EAEXo2B,EAAOM,gBAAgB3kC,EAAYmjB,KAA2B,WAApBkhB,EAAOM,KAAKlhB,KACxD4gB,EAAOpI,UAGL,EAAIj8B,EAAYgkB,UAAU/V,GAA9B,CAIA,IAAIq6B,EAAOpK,EAAKmK,GACZnD,EAAQpnC,KAAK0lC,QAAQ8E,GAErBpD,GAASA,EAAMxV,SAAW0Y,GAAelD,EAAM19B,MAAQ6gC,GACzDvqC,KAAK4lC,UAAUl3B,IAAI87B,EAAMr6B,IAM7B,QAAkBtB,KAFlBg7B,EAAYnE,EAAQmE,EAAUngC,MAG5B,MAAM,IAAInH,EAAY0vB,mBAAmB,gCAAgC1tB,OAAO8E,IAGlF,OAAOwgC,GAETY,gBAAiB,SAAyBt6B,EAAK2W,GAC7C,IAAI4jB,EAAU1qC,KAEd,OAAOvD,EAAgCF,EAAoBgJ,MAAK,SAASolC,IACvE,OAAOpuC,EAAoBuJ,MAAK,SAAmB8kC,GACjD,OACE,OAAQA,EAAU5kC,KAAO4kC,EAAU/rC,MACjC,KAAK,EACH,KAAMsR,aAAejO,EAAYsH,KAAM,CACrCohC,EAAU/rC,KAAO,EACjB,MAGF,OAAO+rC,EAAUvkC,OAAO,SAAUqkC,EAAQhjB,WAAWvX,EAAK2W,IAE5D,KAAK,EACH,OAAO8jB,EAAUvkC,OAAO,SAAU8J,GAEpC,KAAK,EACL,IAAK,MACH,OAAOy6B,EAAUtkC,UAGtBqkC,MApBEluC,IAuBTirB,WAAY,SAAoBre,EAAKyd,GACnC,IAAI+jB,EAAU7qC,KAEd,OAAOvD,EAAgCF,EAAoBgJ,MAAK,SAASulC,IACvE,OAAOvuC,EAAoBuJ,MAAK,SAAmBilC,GACjD,OACE,OAAQA,EAAU/kC,KAAO+kC,EAAUlsC,MACjC,KAAK,EAEH,OADAksC,EAAU/kC,KAAO,EACV+kC,EAAU1kC,OAAO,SAAUwkC,EAAQxjB,MAAMhe,EAAKyd,IAEvD,KAAK,EAIH,GAHAikB,EAAU/kC,KAAO,EACjB+kC,EAAU1f,GAAK0f,EAAiB,MAAE,GAE9BA,EAAU1f,cAAc9oB,EAAY+oB,qBAAsB,CAC5Dyf,EAAUlsC,KAAO,EACjB,MAGF,MAAMksC,EAAU1f,GAElB,KAAK,EAEH,OADA0f,EAAUlsC,KAAO,GACVgsC,EAAQ5mC,WAAWsnB,aAAawf,EAAU1f,GAAGxB,MAAOkhB,EAAU1f,GAAGvB,KAE1E,KAAK,GACH,OAAOihB,EAAU1kC,OAAO,SAAUwkC,EAAQnjB,WAAWre,EAAKyd,IAE5D,KAAK,GACL,IAAK,MACH,OAAOikB,EAAUzkC,UAGtBwkC,EAAU,KAAM,CAAC,CAAC,EAAG,QA/BnBruC,IAkCT2gC,cAAe,WACb,OAAOp9B,KAAK69B,OAGTjF,EA7xBE,GAgyBXr4B,EAAQq4B,KAAOA,EAEf,IAAIoS,EAAgC,WAClC,SAASA,EAAiBnN,EAAMzzB,EAAMwa,GACpCzoB,EAAgB6D,KAAMgrC,GAElBhrC,KAAKtC,cAAgBstC,IACvB,EAAI/oC,EAAMsQ,aAAa,uCAGzBvS,KAAK69B,KAAOA,EACZ79B,KAAKoK,KAAOA,EACZpK,KAAKirC,MAAQrmB,EAwIf,OArIA1oB,EAAa8uC,EAAkB,CAAC,CAC9BxpC,IAAK,SACLpD,MAAO,WACL,IAAIiqB,EAAOhrB,OAAOkE,OAAO,MAEzB,IAAKvB,KAAK69B,KACR,OAAOxV,EAGT,IAAIje,EAAOpK,KAAKoK,KACZ6zB,EAAY,IAAI/7B,EAAYmkB,OAChC4X,EAAUxV,IAAIzoB,KAAK69B,MAGnB,IAFA,IAAIE,EAAQ,CAAC/9B,KAAK69B,MAEXE,EAAMhgC,OAAS,GAAG,CACvB,IAAIoS,EAAM/F,EAAKuqB,WAAWoJ,EAAMI,SAEhC,IAAK,EAAIj8B,EAAY0jB,QAAQzV,GAI7B,GAAIA,EAAI4X,IAAI,QAGV,IAFA,IAAIgc,EAAO5zB,EAAInP,IAAI,QAEVhD,EAAI,EAAG6mB,EAAKkf,EAAKhmC,OAAQC,EAAI6mB,EAAI7mB,IAAK,CAC7C,IAAIumC,EAAMR,EAAK/lC,GAEf,GAAIigC,EAAUlW,IAAIwc,GAChB,MAAM,IAAItiC,EAAM0Q,YAAY,uBAAwBpO,OAAOvE,KAAKirC,MAAO,YAGzElN,EAAMt5B,KAAK8/B,GACXtG,EAAUxV,IAAI8b,OAXlB,CAiBA,IAAImB,EAAUv1B,EAAInP,IAAIhB,KAAKirC,OAE3B,GAAIjuC,MAAMC,QAAQyoC,GAChB,IAAK,IAAIwF,EAAM,EAAGC,EAAMzF,EAAQ3nC,OAAQmtC,EAAMC,EAAKD,GAAO,EACxD7iB,EAAKje,EAAKuqB,WAAW+Q,EAAQwF,KAAS9gC,EAAKuqB,WAAW+Q,EAAQwF,EAAM,KAK1E,OAAO7iB,IAER,CACD7mB,IAAK,MACLpD,MAAO,SAAaoD,GAClB,IAAKxB,KAAK69B,KACR,OAAO,KAQT,IALA,IAAIzzB,EAAOpK,KAAKoK,KACZghC,EAAgBhhC,EAAKuqB,WAAW30B,KAAK69B,MACrC5M,EAAY,EAGTma,EAAcrjB,IAAI,SAAS,CAChC,KAAMkJ,EAHS,GAKb,OADA,EAAIhvB,EAAMsG,MAAM,mCAAoChE,OAAOvE,KAAKirC,MAAO,YAChE,KAGT,IAAIlH,EAAOqH,EAAcpqC,IAAI,QAE7B,IAAKhE,MAAMC,QAAQ8mC,GACjB,OAAO,KAMT,IAHA,IAAItjC,EAAI,EACJQ,EAAI8iC,EAAKhmC,OAAS,EAEf0C,GAAKQ,GAAG,CACb,IAAIP,EAAID,EAAIQ,GAAK,EAEboqC,EADMjhC,EAAKuqB,WAAWoP,EAAKrjC,IACdM,IAAI,UAErB,GAAIQ,EAAM4I,EAAKuqB,WAAW0W,EAAO,IAC/BpqC,EAAIP,EAAI,MACH,MAAIc,EAAM4I,EAAKuqB,WAAW0W,EAAO,KAEjC,CACLD,EAAgBhhC,EAAKuqB,WAAWoP,EAAKrjC,IACrC,MAHAD,EAAIC,EAAI,GAOZ,GAAID,EAAIQ,EACN,OAAO,KAIX,IAAIykC,EAAU0F,EAAcpqC,IAAIhB,KAAKirC,OAErC,GAAIjuC,MAAMC,QAAQyoC,GAAU,CAI1B,IAHA,IAAI4F,EAAK,EACLC,EAAK7F,EAAQ3nC,OAAS,EAEnButC,GAAMC,GAAI,CACf,IAAIC,EAAMF,EAAKC,GAAM,EACjBE,EAAKD,GAAa,EAANA,GAEZE,EAAathC,EAAKuqB,WAAW+Q,EAAQ+F,IAEzC,GAAIjqC,EAAMkqC,EACRH,EAAKE,EAAK,MACL,MAAIjqC,EAAMkqC,GAGf,OAAOthC,EAAKuqB,WAAW+Q,EAAQ+F,EAAK,IAFpCH,EAAKG,EAAK,IAMd,EAAIxpC,EAAMiJ,MAAM,kDAAmD3G,OAAO/C,EAAK,OAAU,OAAQ+C,OAAOvE,KAAKirC,MAAO,YAEpH,IAAK,IAAIU,EAAM,EAAGC,EAAKlG,EAAQ3nC,OAAQ4tC,EAAMC,EAAID,GAAO,EAGtD,GAFkBvhC,EAAKuqB,WAAW+Q,EAAQiG,MAEtBnqC,EAElB,OADA,EAAIS,EAAMsG,MAAM,QAAShE,OAAO/C,EAAK,qCAAwC,mCAAoC+C,OAAOvE,KAAKirC,MAAO,YAC7H7gC,EAAKuqB,WAAW+Q,EAAQiG,EAAM,IAK3C,OAAO,SAIJX,EAlJ2B,GAqJhCpL,EAAwB,SAAUiM,GACpCzvC,EAAUwjC,EAAUiM,GAEpB,IAAIC,EAAW3sC,EAAaygC,GAE5B,SAASA,EAAS/B,EAAMzzB,GAGtB,OAFAjO,EAAgB6D,KAAM4/B,GAEfkM,EAAStuC,KAAKwC,KAAM69B,EAAMzzB,EAAM,SAGzC,OAAOw1B,EAXmB,CAY1BoL,GAEE3K,EAA0B,SAAU0L,GACtC3vC,EAAUikC,EAAY0L,GAEtB,IAAIC,EAAW7sC,EAAakhC,GAE5B,SAASA,EAAWxC,EAAMzzB,GAGxB,OAFAjO,EAAgB6D,KAAMqgC,GAEf2L,EAASxuC,KAAKwC,KAAM69B,EAAMzzB,EAAM,QAGzC,OAAOi2B,EAXqB,CAY5B2K,GAEEhO,EAAW,WACb,SAASA,EAASa,EAAMzzB,GACjByzB,IAAS,EAAI37B,EAAY0jB,QAAQiY,KAItC79B,KAAKoK,KAAOA,EACZpK,KAAK69B,KAAOA,EAERA,EAAK9V,IAAI,QACX/nB,KAAKyiC,GAAK5E,EAAK78B,IAAI,OAGrBhB,KAAKisC,YAAcpO,EAAK9V,IAAI,SAAU,EAAI9lB,EAAM0P,mBAAmBksB,EAAK78B,IAAI,SAAW,GAEnF68B,EAAK9V,IAAI,QACX,EAAI9lB,EAAMsG,MAAM,iDAGlBvI,KAAKksC,kBAAmB,EAEnBrO,EAAK9V,IAAI,QACZ/nB,KAAKksC,kBAAmB,GACxB,EAAIjqC,EAAMsG,MAAM,wDAIpB,SAAS4jC,EAAiB9jB,GACxB,OAAIA,EAAKN,IAAI,MACJM,EAAKrnB,IAAI,MACPqnB,EAAKN,IAAI,KACXM,EAAKrnB,IAAI,KACPqnB,EAAKN,IAAI,QACXM,EAAKrnB,IAAI,QACPqnB,EAAKN,IAAI,OACXM,EAAKrnB,IAAI,OACPqnB,EAAKN,IAAI,OACXM,EAAKrnB,IAAI,OAGX,KAgDT,OA7CAg8B,EAAS1/B,UAAY,CACf8uC,eACF,IAAKpsC,KAAKqsC,WAAarsC,KAAK69B,KAAM,CAChC,IAAIuO,EAAWD,EAAiBnsC,KAAK69B,OAAS,UAC9C79B,KAAKqsC,WAAY,EAAIpqC,EAAM0P,mBAAmBy6B,GAAUh7B,QAAQ,QAAS,MAAMA,QAAQ,QAAS,KAAKA,QAAQ,MAAO,KAGtH,OAAOpR,KAAKqsC,WAGV/X,cACF,IAAKt0B,KAAKksC,iBACR,OAAO,MAGJlsC,KAAKssC,YAActsC,KAAK69B,OAC3B79B,KAAKssC,WAAaH,EAAiBnsC,KAAK69B,KAAK78B,IAAI,QAGnD,IAAIszB,EAAU,KAEd,GAAIt0B,KAAKssC,WAAY,CACnB,IACIC,EADOvsC,KAAKoK,KACGuqB,WAAW30B,KAAKssC,YAE/BC,IAAW,EAAIrqC,EAAYgkB,UAAUqmB,GACvCjY,EAAUiY,EAAQpmB,YAElB,EAAIlkB,EAAMsG,MAAM,2EAGlB,EAAItG,EAAMsG,MAAM,uDAGlB,OAAO+rB,GAGLoO,mBACF,MAAO,CACL0J,SAAUpsC,KAAKosC,SACf9X,QAASt0B,KAAKs0B,WAKb0I,EAxFM,GA2Ffz8B,EAAQy8B,SAAWA,EAEnB,IAAIjI,EAAe,WACjB,SAASyX,EAAgBpuC,GACvB,OAAOA,aAAiB8D,EAAYsH,KAAOpL,aAAiB8D,EAAYokB,MAAQtpB,MAAMC,QAAQmB,KAAU,EAAI8D,EAAYgkB,UAAU9nB,GAGpI,SAASquC,EAAYpI,EAAMZ,GACzB,GAAIY,aAAgBniC,EAAYokB,OAAQ,EAAIpkB,EAAYgkB,UAAUme,GAIhE,IAHA,IAAIhc,EAAOgc,aAAgBniC,EAAYokB,KAAO+d,EAAOA,EAAKhc,KACtDqkB,EAAWrkB,EAAKR,UAEX7pB,EAAI,EAAG6mB,EAAK6nB,EAAS3uC,OAAQC,EAAI6mB,EAAI7mB,IAAK,CACjD,IAAI2uC,EAAWtkB,EAAKT,OAAO8kB,EAAS1uC,IAEhCwuC,EAAgBG,IAClBlJ,EAAah/B,KAAKkoC,QAGjB,GAAI3vC,MAAMC,QAAQonC,GACvB,IAAK,IAAIuI,EAAM,EAAGC,EAAOxI,EAAKtmC,OAAQ6uC,EAAMC,EAAMD,IAAO,CACvD,IAAIxuC,EAAQimC,EAAKuI,GAEbJ,EAAgBpuC,IAClBqlC,EAAah/B,KAAKrG,IAM1B,SAAS22B,EAAa1M,EAAMP,EAAM1d,GAChCpK,KAAKqoB,KAAOA,EACZroB,KAAK8nB,KAAOA,EACZ9nB,KAAKoK,KAAOA,EACZpK,KAAK8sC,OAAS,KAkKhB,OA/JA/X,EAAaz3B,UAAY,CACvB23B,KAAM,WACJ,IAAI8X,EAAU/sC,KAEd,OAAOvD,EAAgCF,EAAoBgJ,MAAK,SAASynC,IACvE,IAAIllB,EAAMO,EAAMob,EAAczlC,EAAG6mB,EAAI8nB,EACrC,OAAOpwC,EAAoBuJ,MAAK,SAAoBmnC,GAClD,OACE,OAAQA,EAAWjnC,KAAOinC,EAAWpuC,MACnC,KAAK,EACH,GAAOkuC,EAAQ3iC,KAAKF,OAAOujB,kBAAmBsf,EAAQ3iC,KAAKF,OAAOujB,kBAAoB,CACpFwf,EAAWpuC,KAAO,EAClB,MAGF,OAAOouC,EAAW5mC,OAAO,cAAUwI,GAErC,KAAK,EAKH,IAJAiZ,EAAOilB,EAAQjlB,KAAMO,EAAO0kB,EAAQ1kB,KACpC0kB,EAAQD,OAAS,IAAI5qC,EAAYmkB,OACjCod,EAAe,GAEVzlC,EAAI,EAAG6mB,EAAKiD,EAAK/pB,OAAQC,EAAI6mB,EAAI7mB,SAGnB6Q,KAFjB89B,EAAWtkB,EAAKT,OAAOE,EAAK9pB,MAG1BylC,EAAah/B,KAAKkoC,GAItB,OAAOM,EAAW5mC,OAAO,SAAU0mC,EAAQG,MAAMzJ,IAEnD,KAAK,EACL,IAAK,MACH,OAAOwJ,EAAW3mC,UAGvB0mC,MAjCEvwC,IAoCTywC,MAAO,SAAezJ,GACpB,IAAI0J,EAAUntC,KAEd,OAAOvD,EAAgCF,EAAoBgJ,MAAK,SAAS6nC,IACvE,IAAIC,EAAgBC,EAAiBzJ,EAAa0J,EAAaC,EAAkBxvC,EAAG6mB,EAAI3a,EAAQujC,EAAKC,EAAMrJ,EAE3G,OAAO9nC,EAAoBuJ,MAAK,SAAoB6nC,GAClD,OACE,OAAQA,EAAW3nC,KAAO2nC,EAAW9uC,MACnC,KAAK,EACHwuC,EAAiB,GACjBC,EAAkB,GAEpB,KAAK,EACH,IAAK7J,EAAa1lC,OAAQ,CACxB4vC,EAAW9uC,KAAO,GAClB,MAKF,MAFAglC,EAAcJ,EAAaK,iBAEE5hC,EAAYsH,KAAM,CAC7CmkC,EAAW9uC,KAAO,GAClB,MAGF,IAAKsuC,EAAQL,OAAO/kB,IAAI8b,GAAc,CACpC8J,EAAW9uC,KAAO,EAClB,MAGF,OAAO8uC,EAAWtnC,OAAO,WAAY,GAEvC,KAAK,EACHsnC,EAAW3nC,KAAO,EAElBmnC,EAAQL,OAAOrkB,IAAIob,GAEnBA,EAAcsJ,EAAQ/iC,KAAKid,MAAMwc,GACjC8J,EAAW9uC,KAAO,GAClB,MAEF,KAAK,GAIH,GAHA8uC,EAAW3nC,KAAO,GAClB2nC,EAAWtiB,GAAKsiB,EAAkB,MAAE,GAEhCA,EAAWtiB,cAAc9oB,EAAY+oB,qBAAsB,CAC7DqiB,EAAW9uC,KAAO,GAClB,MAGF,MAAM8uC,EAAWtiB,GAEnB,KAAK,GACHgiB,EAAe5oC,KAAKo/B,GACpByJ,EAAgB7oC,KAAK,CACnBolB,MAAO8jB,EAAWtiB,GAAGxB,MACrBC,IAAK6jB,EAAWtiB,GAAGvB,MAGvB,KAAK,GACH,GAAI+Z,GAAeA,EAAY+J,eAAgB,CAI7C,IAHAL,EAAc1J,EAAY+J,iBAC1BJ,GAAmB,EAEdxvC,EAAI,EAAG6mB,EAAK0oB,EAAYxvC,OAAQC,EAAI6mB,EAAI7mB,KAC3CkM,EAASqjC,EAAYvvC,IAEVyvB,kBAAoBvjB,EAAOujB,oBACpC+f,GAAmB,EACnBF,EAAgB7oC,KAAK,CACnBolB,MAAO3f,EAAOQ,MACdof,IAAK5f,EAAO4f,OAKd0jB,GACFH,EAAe5oC,KAAKo/B,GAIxB4I,EAAY5I,EAAaJ,GACzBkK,EAAW9uC,KAAO,EAClB,MAEF,KAAK,GACH,IAAKyuC,EAAgBvvC,OAAQ,CAC3B4vC,EAAW9uC,KAAO,GAClB,MAIF,OADA8uC,EAAW9uC,KAAO,GACXsuC,EAAQ/iC,KAAKF,OAAO8hB,QAAQ6hB,cAAcP,GAEnD,KAAK,GACH,IAAKG,EAAM,EAAGC,EAAOL,EAAetvC,OAAQ0vC,EAAMC,EAAMD,KACtDpJ,EAAOgJ,EAAeI,cAEFvrC,EAAYsH,KAC9B2jC,EAAQL,OAAOpkB,OAAO2b,GAI1B,OAAOsJ,EAAWtnC,OAAO,SAAU8mC,EAAQD,MAAMG,IAEnD,KAAK,GAEH,OADAF,EAAQL,OAAS,KACVa,EAAWtnC,OAAO,cAAUwI,GAErC,KAAK,GACL,IAAK,MACH,OAAO8+B,EAAWrnC,UAGvB8mC,EAAW,KAAM,CAAC,CAAC,EAAG,SAhHpB3wC,KAoHJs4B,EAlMU,GAqMnBx0B,EAAQw0B,aAAeA,GAEtB,SAAUv0B,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQ+oC,OAAS/oC,EAAQi5B,cAAgBj5B,EAAQgpC,WAAQ,EAEzD,IAAIvgB,EAAU3oB,EAAoB,IAE9B4B,EAAQ5B,EAAoB,GAE5B6B,EAAc7B,EAAoB,GAElCkC,EAAclC,EAAoB,GAElCytC,EAAgBztC,EAAoB,IAEpC0tC,EAAgB1tC,EAAoB,IAEpC2tC,EAAe3tC,EAAoB,IAEnC4tC,EAAc5tC,EAAoB,IAKtC,SAAS6tC,EAAe/jC,GAKtB,IAJA,IAAIgkC,EAAchkC,EAAMpM,OACpB2lB,EAAI,EACJT,EAAI,EAECjlB,EAAI,EAAGA,EAAImwC,IAAenwC,EAEjCilB,GADAS,GAAgB,IAAXvZ,EAAMnM,GAIb,OAAOilB,EAAI,OAAS,GAAKS,EAAI,MAG/B,IAAI4lB,EAAsB,WACxB,SAASA,EAAO8E,GACd,IAAIzH,EAAQyH,EAAOzH,MACfv8B,EAAOgkC,EAAOhkC,KACdikC,EAAsBD,EAAO5E,aAC7BA,OAAuC,IAAxB6E,GAAyCA,EACxDC,EAAsBF,EAAO3oC,aAC7BA,OAAuC,IAAxB6oC,GAAyCA,EAE5DnyC,EAAgB6D,KAAMspC,GAEtBtpC,KAAK2mC,MAAQA,EACb3mC,KAAKoK,KAAOA,EACZpK,KAAKwpC,aAAeA,EACpBxpC,KAAKyF,aAAeA,EACpBzF,KAAKuuC,WAAalxC,OAAOkE,OAAO,MAChCvB,KAAKwuC,SAmrBP,OAhrBAtyC,EAAaotC,EAAQ,CAAC,CACpB9nC,IAAK,SACLpD,MAAO,WACL4B,KAAK6mC,KAAO7mC,KAAK2mC,MAAMM,SACvBjnC,KAAK+mC,KAAO/mC,KAAK2mC,MAAMM,WAExB,CACDzlC,IAAK,QACLpD,MAAO,WACD4B,KAAK+mC,gBAAgB7kC,EAAYmjB,KAAyB,OAAlBrlB,KAAK+mC,KAAKphB,KACpD3lB,KAAK6mC,KAAO7mC,KAAK+mC,KACjB/mC,KAAK+mC,KAAO,OAEZ/mC,KAAK6mC,KAAO7mC,KAAK+mC,KACjB/mC,KAAK+mC,KAAO/mC,KAAK2mC,MAAMM,YAG1B,CACDzlC,IAAK,WACLpD,MAAO,WACL,IAEE,OADA4B,KAAKm+B,SACE,EACP,MAAO9/B,GACP,GAAIA,aAAakE,EAAY+oB,qBAC3B,MAAMjtB,EAGR,OAAO,KAGV,CACDmD,IAAK,SACLpD,MAAO,WACL,IAAIqwC,EAAkBxuC,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,GAAmBA,UAAU,GAAK,KACtF4mC,EAAO7mC,KAAK6mC,KAGhB,GAFA7mC,KAAKm+B,QAED0I,aAAgB3kC,EAAYmjB,IAC9B,OAAQwhB,EAAKlhB,KACX,IAAK,KACH,OAAO3lB,KAAK0uC,gBAAgBD,GAE9B,IAAK,IAGH,IAFA,IAAIE,EAAQ,KAEJ,EAAIzsC,EAAYwjB,OAAO1lB,KAAK6mC,KAAM,QAAS,EAAI3kC,EAAYsjB,OAAOxlB,KAAK6mC,OAC7E8H,EAAMlqC,KAAKzE,KAAKinC,OAAOwH,IAGzB,IAAI,EAAIvsC,EAAYsjB,OAAOxlB,KAAK6mC,MAAO,CACrC,IAAK7mC,KAAKyF,aACR,MAAM,IAAIxD,EAAM0Q,YAAY,4BAG9B,OAAOg8B,EAIT,OADA3uC,KAAKm+B,QACEwQ,EAET,IAAK,KAGH,IAFA,IAAItmB,EAAO,IAAInmB,EAAYokB,KAAKtmB,KAAKoK,QAE7B,EAAIlI,EAAYwjB,OAAO1lB,KAAK6mC,KAAM,SAAU,EAAI3kC,EAAYsjB,OAAOxlB,KAAK6mC,OAC9E,IAAK,EAAI3kC,EAAY2jB,QAAQ7lB,KAAK6mC,MAAlC,CAMA,IAAIrlC,EAAMxB,KAAK6mC,KAAKlpC,KAGpB,GAFAqC,KAAKm+B,SAED,EAAIj8B,EAAYsjB,OAAOxlB,KAAK6mC,MAC9B,MAGFxe,EAAK3Z,IAAIlN,EAAKxB,KAAKinC,OAAOwH,SAZxB,EAAIxsC,EAAMiJ,MAAM,mDAChBlL,KAAKm+B,QAcT,IAAI,EAAIj8B,EAAYsjB,OAAOxlB,KAAK6mC,MAAO,CACrC,IAAK7mC,KAAKyF,aACR,MAAM,IAAIxD,EAAM0Q,YAAY,iCAG9B,OAAO0V,EAGT,OAAI,EAAInmB,EAAYwjB,OAAO1lB,KAAK+mC,KAAM,UAC7B/mC,KAAKwpC,aAAexpC,KAAK4uC,WAAWvmB,EAAMomB,GAAmBpmB,GAGtEroB,KAAKm+B,QACE9V,GAET,QACE,OAAOwe,EAIb,GAAIt1B,OAAOC,UAAUq1B,GAAO,CAC1B,GAAIt1B,OAAOC,UAAUxR,KAAK6mC,QAAS,EAAI3kC,EAAYwjB,OAAO1lB,KAAK+mC,KAAM,KAAM,CACzE,IAAI19B,EAAMnH,EAAYsH,IAAIxI,IAAI6lC,EAAM7mC,KAAK6mC,MAIzC,OAFA7mC,KAAKm+B,QACLn+B,KAAKm+B,QACE90B,EAGT,OAAOw9B,EAGT,MAAoB,iBAATA,GACL4H,EACKA,EAAgBI,cAAchI,GAMlCA,IAER,CACDrlC,IAAK,6BACLpD,MAAO,SAAoC8L,GAazC,IAZA,IASI8nB,EACA8c,EAHA9F,EAAW9+B,EAAOmE,IAClB0gC,EAAQ,GAIwB,KAA5B/c,EAAK9nB,EAAO6iB,YAClB,GAAc,IAAVgiB,EACFA,EAdI,KAcI/c,EAAW,EAAI,OAClB,GAAc,IAAV+c,EACTA,EAfI,KAeI/c,EAAW,EAAI,OAIvB,IAFA,EAAI/vB,EAAM0M,QAAkB,IAAVogC,GAhBV,KAkBJ/c,GAjBC,KAiBeA,GAhBf,KAgB4BA,EAAW,CAC1C8c,EAAa5kC,EAAOmE,IAGpB,IAFA,IAAI2gC,EAAiB9kC,EAAOmuB,UAjB1B,IAmBOr6B,EAAI,EAAG6mB,EAAKmqB,EAAejxC,OAAQC,EAAI6mB,EAAI7mB,IAGlD,IArBE,KAmBFg0B,EAAKgd,EAAehxC,KAnBlB,IAqBgBgxC,EAAehxC,EAAI,KAxBpC,KA4BGg0B,GA3BH,KA2BgBA,IAAcA,EA7B3B,IA6ByCA,EAAK,KAAO,CACvD+c,EAAQ,EACR,MAIJ,GAAc,IAAVA,EACF,WAGFA,EAAQ,GAKF,IAAR/c,KACF,EAAI/vB,EAAMsG,MAAM,+FAEZumC,KACF,EAAI7sC,EAAMsG,MAAM,4DAChB2B,EAAO2vB,OAAO3vB,EAAOmE,IAAMygC,MAI/B,IAAIG,EAAY,EAShB,OARA/kC,EAAO2vB,MAAMoV,GACbjd,EAAK9nB,EAAOglC,WACZhlC,EAAO2vB,KAAKoV,IAEP,EAAI1sC,EAAYwvB,cAAcC,IACjCid,IAGK/kC,EAAOmE,IAAM4gC,EAAYjG,IAEjC,CACDxnC,IAAK,+BACLpD,MAAO,SAAsC8L,GAM3C,IALA,IAEI+Y,EACAksB,EAHAnG,EAAW9+B,EAAOmE,IAClB+gC,GAAW,GAIoB,KAA3BnsB,EAAI/Y,EAAO6iB,YACjB,GAAU,MAAN9J,EAAJ,CAIA,OAAQ/Y,EAAO6iB,WACb,KAAK,EACH,MAEF,KAAK,IACH7iB,EAAO2vB,MAAM,GACb,MAEF,KAAK,IACHuV,GAAW,EACX,MAEF,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,KACHD,EAAejlC,EAAOmlC,aAEH,EACjBnlC,EAAO2vB,KAAKsV,EAAe,GAE3BjlC,EAAO2vB,MAAM,GAMnB,GAAIuV,EACF,MAIJ,IAAIrxC,EAASmM,EAAOmE,IAAM26B,EAE1B,OAAW,IAAP/lB,IACF,EAAIhhB,EAAMsG,MAAM,oFAChB2B,EAAO2vB,MAAM97B,GACNiC,KAAKsvC,2BAA2BplC,KAGzClK,KAAKuvC,mBAAmBrlC,GACjBnM,KAER,CACDyD,IAAK,mCACLpD,MAAO,SAA0C8L,GAM/C,IALA,IAGI8nB,EADAgX,EAAW9+B,EAAOmE,KAGc,KAA5B2jB,EAAK9nB,EAAO6iB,YAClB,GANU,MAMNiF,EAAc,CAChB,IAAIwd,EAAWtlC,EAAOmE,IAGtB,IAFA2jB,EAAK9nB,EAAOglC,YAEL,EAAI3sC,EAAYwvB,cAAcC,IACnC9nB,EAAO2vB,OACP7H,EAAK9nB,EAAOglC,WAGd,GAdK,KAcDld,EAAW,CACb9nB,EAAO2vB,OACP,MAGF,GAAI3vB,EAAOmE,IAAMmhC,EAAU,CACzB,IAAIC,EAAUvlC,EAAOmuB,UAAU,GAE/B,GAAmB,KAAfoX,EAAQ,IAA8B,KAAfA,EAAQ,GACjC,OAMR,IAAI1xC,EAASmM,EAAOmE,IAAM26B,EAE1B,OAAY,IAARhX,IACF,EAAI/vB,EAAMsG,MAAM,wFAChB2B,EAAO2vB,MAAM97B,GACNiC,KAAKsvC,2BAA2BplC,KAGzClK,KAAKuvC,mBAAmBrlC,GACjBnM,KAER,CACDyD,IAAK,oCACLpD,MAAO,SAA2C8L,GAKhD,IAJA,IAEI8nB,EADAgX,EAAW9+B,EAAOmE,KAGc,KAA5B2jB,EAAK9nB,EAAO6iB,YAJX,KAKHiF,IAKN,IAAIj0B,EAASmM,EAAOmE,IAAM26B,EAE1B,OAAY,IAARhX,IACF,EAAI/vB,EAAMsG,MAAM,yFAChB2B,EAAO2vB,MAAM97B,GACNiC,KAAKsvC,2BAA2BplC,KAGzClK,KAAKuvC,mBAAmBrlC,GACjBnM,KAER,CACDyD,IAAK,qBACLpD,MAAO,SAA4B8L,GAMjC,IALA,IAGI8nB,EADA+c,EAAQ,GAGwB,KAA5B/c,EAAK9nB,EAAO6iB,YAClB,GAAc,IAAVgiB,EACFA,EAPI,KAOI/c,EAAW,EAAI,OAClB,GAAc,IAAV+c,EACTA,EARI,KAQI/c,EAAW,EAAI,OAClB,GAAc,IAAV+c,EACT,QAIL,CACDvtC,IAAK,kBACLpD,MAAO,SAAyBqwC,GAM9B,IALA,IAGIiB,EAHA/I,EAAQ3mC,KAAK2mC,MACbz8B,EAASy8B,EAAMz8B,OACfme,EAAO,IAAInmB,EAAYokB,KAAKtmB,KAAKoK,QAG7B,EAAIlI,EAAYwjB,OAAO1lB,KAAK6mC,KAAM,SAAU,EAAI3kC,EAAYsjB,OAAOxlB,KAAK6mC,OAAO,CACrF,KAAK,EAAI3kC,EAAY2jB,QAAQ7lB,KAAK6mC,MAChC,MAAM,IAAI5kC,EAAM0Q,YAAY,wCAG9B,IAAInR,EAAMxB,KAAK6mC,KAAKlpC,KAGpB,GAFAqC,KAAKm+B,SAED,EAAIj8B,EAAYsjB,OAAOxlB,KAAK6mC,MAC9B,MAGFxe,EAAK3Z,IAAIlN,EAAKxB,KAAKinC,OAAOwH,KAGO,IAA/B9H,EAAMgJ,sBACRD,EAAaxlC,EAAOmE,IAAMs4B,EAAMgJ,qBAGlC,IACIC,EADAlY,EAASrP,EAAKrnB,IAAI,SAAU,KAGhC,IAAI,EAAIkB,EAAY2jB,QAAQ6R,GAC1BkY,EAAalY,EAAO/5B,UACf,GAAIX,MAAMC,QAAQy6B,GAAS,CAChC,IAAImY,EAAa7vC,KAAKoK,KAAKuqB,WAAW+C,EAAO,KAEzC,EAAIx1B,EAAY2jB,QAAQgqB,KAC1BD,EAAaC,EAAWlyC,MAI5B,IACII,EADAirC,EAAW9+B,EAAOmE,IAIpBtQ,EADiB,cAAf6xC,GAA6C,QAAfA,EACvB5vC,KAAK8vC,6BAA6B5lC,GACnB,kBAAf0lC,GAAiD,QAAfA,EAClC5vC,KAAK+vC,iCAAiC7lC,GACvB,mBAAf0lC,GAAkD,QAAfA,EACnC5vC,KAAKgwC,kCAAkC9lC,GAEvClK,KAAKsvC,2BAA2BplC,GAG3C,IACI+lC,EADAC,EAAchmC,EAAO+/B,cAAcjB,EAAUjrC,EAAQsqB,GAGzD,GAAItqB,EA3cgB,KA2cgB2xC,EA1cjB,KA0ckD,CACnE,IAAIS,EAAaD,EAAY/pB,WAC7B+pB,EAAYxW,QACZ,IAAI0W,EAAmBlmC,EAAOmE,IAC9BnE,EAAOmE,IAAMs4B,EAAMgJ,oBACnB,IAAIU,EAAYnmC,EAAOic,SAASupB,GAChCxlC,EAAOmE,IAAM+hC,EACbH,EAAW/B,EAAeiC,GAAc,IAAMjC,EAAemC,GAC7D,IAAIvG,EAAa9pC,KAAKuuC,WAAW0B,GAEjC,QAAmBphC,IAAfi7B,EAIF,OAHA9pC,KAAK+mC,KAAO7kC,EAAYmjB,IAAIrkB,IAAI,MAChChB,KAAKm+B,QACL2L,EAAWpQ,QACJoQ,EAkBX,OAdI2E,IACFyB,EAAczB,EAAgB6B,aAAaJ,EAAanyC,KAG1DmyC,EAAclwC,KAAK03B,OAAOwY,EAAa7nB,EAAMtqB,IACjCsqB,KAAOA,OAEFxZ,IAAbohC,IACFC,EAAYD,SAAW,UAAU1rC,OAAOxG,EAAQ,KAAKwG,OAAO0rC,GAC5DjwC,KAAKuuC,WAAW0B,GAAYC,GAG9BlwC,KAAK+mC,KAAO7kC,EAAYmjB,IAAIrkB,IAAI,MAChChB,KAAKm+B,QACE+R,IAER,CACD1uC,IAAK,oBACLpD,MAAO,SAA2B4qC,EAAUhR,GAC1C,IAAI9tB,EAASlK,KAAK2mC,MAAMz8B,OACxBA,EAAOmE,IAAM26B,EAIb,IAHA,IACI7Q,EAAkBH,EAAUj6B,OAEzBmM,EAAOmE,IAAMnE,EAAO4f,KAAK,CAC9B,IAAIsO,EAAYluB,EAAOmuB,UAJD,MAKlBC,EAAaF,EAAUr6B,OAASo6B,EAEpC,GAAIG,GAAc,EAChB,MAKF,IAFA,IAAIjqB,EAAM,EAEHA,EAAMiqB,GAAY,CAGvB,IAFA,IAAIE,EAAI,EAEDA,EAAIL,GAAmBC,EAAU/pB,EAAMmqB,KAAOR,EAAUQ,IAC7DA,IAGF,GAAIA,GAAKL,EAEP,OADAjuB,EAAOmE,KAAOA,EACPnE,EAAOmE,IAAM26B,EAGtB36B,IAGFnE,EAAOmE,KAAOiqB,EAGhB,OAAQ,IAET,CACD92B,IAAK,aACLpD,MAAO,SAAoBiqB,EAAMomB,GAC/B,IAAI9H,EAAQ3mC,KAAK2mC,MACbz8B,EAASy8B,EAAMz8B,OACnBy8B,EAAM4J,iBACN,IAAIvH,EAAW9+B,EAAOmE,IAAM,EACxBtQ,EAASsqB,EAAKrnB,IAAI,UAUtB,GARKuQ,OAAOC,UAAUzT,MACpB,EAAIkE,EAAMiJ,MAAM,eAAgB3G,OAAOxG,EAAQ,gBAC/CA,EAAS,GAGXmM,EAAOmE,IAAM26B,EAAWjrC,EACxB4oC,EAAM6J,WAEFxwC,KAAKywC,aAAc,EAAIvuC,EAAYwjB,OAAO1lB,KAAK+mC,KAAM,aACvD/mC,KAAKm+B,YACA,CACL,IAAIuS,EAAsB,IAAIjtC,WAAW,CAAC,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,MAEtFktC,EAAe3wC,KAAK4wC,kBAAkB5H,EAAU0H,GAEpD,GAAIC,EAAe,EAAG,CAGpB,IAFA,IAES3yC,EAAI,EAAGA,GAFK,EAEgBA,IAAK,CACxC,IAAI8rB,EAAM4mB,EAAoB3yC,OAASC,EACnC6yC,EAAsBH,EAAoBjzC,MAAM,EAAGqsB,GAEnDgnB,EAAc9wC,KAAK4wC,kBAAkB5H,EAAU6H,GAEnD,GAAIC,GAAe,EAAG,CACpB,IAAIC,EAAW7mC,EAAOmuB,UAAUvO,EAAM,GAAGA,GAEzC,KAAK,EAAIvnB,EAAYwvB,cAAcgf,GACjC,OAGF,EAAI9uC,EAAMiJ,MAAM,UAAW3G,QAAO,EAAItC,EAAM2M,eAAeiiC,GAAsB,WAAc,oCAC/FF,EAAeG,EACf,OAIJ,GAAIH,EAAe,EACjB,MAAM,IAAI1uC,EAAM0Q,YAAY,8BAIhC5U,EAAS4yC,EACThK,EAAM6J,WACNxwC,KAAKm+B,QACLn+B,KAAKm+B,QAYP,OATAn+B,KAAKm+B,QACLj0B,EAASA,EAAO+/B,cAAcjB,EAAUjrC,EAAQsqB,GAE5ComB,IACFvkC,EAASukC,EAAgB6B,aAAapmC,EAAQnM,KAGhDmM,EAASlK,KAAK03B,OAAOxtB,EAAQme,EAAMtqB,IAC5BsqB,KAAOA,EACPne,IAER,CACD1I,IAAK,SACLpD,MAAO,SAAgB8L,EAAQme,EAAMtqB,GACnC,IAAI25B,EAASrP,EAAKrnB,IAAI,SAAU,KAC5B0jC,EAASrc,EAAKrnB,IAAI,cAAe,MAErC,IAAI,EAAIkB,EAAY2jB,QAAQ6R,GAK1B,OAJI16B,MAAMC,QAAQynC,KAChB,EAAIziC,EAAMsG,MAAM,2EAGXvI,KAAKgxC,WAAW9mC,EAAQwtB,EAAO/5B,KAAMI,EAAQ2mC,GAGtD,IAAIoM,EAAc/yC,EAElB,GAAIf,MAAMC,QAAQy6B,GAIhB,IAHA,IAAIuZ,EAAcvZ,EACdwZ,EAAcxM,EAET1mC,EAAI,EAAG6mB,EAAKosB,EAAYlzC,OAAQC,EAAI6mB,IAAM7mB,EAAG,CAGpD,GAFA05B,EAAS13B,KAAKoK,KAAKuqB,WAAWsc,EAAYjzC,MAErC,EAAIkE,EAAY2jB,QAAQ6R,GAC3B,MAAM,IAAIz1B,EAAM0Q,YAAY,oBAAqBpO,OAAOmzB,EAAQ,MAGlEgN,EAAS,KAEL1nC,MAAMC,QAAQi0C,IAAgBlzC,KAAKkzC,IACrCxM,EAAS1kC,KAAKoK,KAAKuqB,WAAWuc,EAAYlzC,KAG5CkM,EAASlK,KAAKgxC,WAAW9mC,EAAQwtB,EAAO/5B,KAAMmzC,EAAapM,GAC3DoM,EAAc,KAIlB,OAAO5mC,IAER,CACD1I,IAAK,aACLpD,MAAO,SAAoB8L,EAAQvM,EAAMmzC,EAAapM,GACpD,GAAoB,IAAhBoM,EAEF,OADA,EAAI7uC,EAAMsG,MAAM,UAAWhE,OAAO5G,EAAM,cACjC,IAAIqrB,EAAQ6L,WAGrB,IACE,IAAIsc,EAAkBnxC,KAAKoK,KAAKC,MAAMw7B,YAEtC,GAAa,gBAATloC,GAAmC,OAATA,EAG5B,OAFAwzC,EAAgBlvC,EAAM6Q,WAAW6G,QAAS,EAEtC+qB,EACK,IAAI1b,EAAQooB,gBAAgB,IAAIpoB,EAAQqoB,YAAYnnC,EAAQ4mC,GAAcA,EAAapM,GAGzF,IAAI1b,EAAQqoB,YAAYnnC,EAAQ4mC,GAGzC,GAAa,cAATnzC,GAAiC,QAATA,EAAgB,CAC1CwzC,EAAgBlvC,EAAM6Q,WAAW8G,MAAO,EACxC,IAAI03B,EAAc,EAElB,OAAI5M,GACEA,EAAO3c,IAAI,iBACbupB,EAAc5M,EAAO1jC,IAAI,gBAGpB,IAAIgoB,EAAQooB,gBAAgB,IAAIpoB,EAAQuoB,UAAUrnC,EAAQ4mC,EAAaQ,GAAcR,EAAapM,IAGpG,IAAI1b,EAAQuoB,UAAUrnC,EAAQ4mC,EAAaQ,GAGpD,MAAa,cAAT3zC,GAAiC,QAATA,GAC1BwzC,EAAgBlvC,EAAM6Q,WAAW+G,MAAO,EACjC,IAAIm0B,EAAawD,WAAWtnC,EAAQ4mC,EAAa5mC,EAAOme,KAAMqc,IAG1D,cAAT/mC,GAAiC,QAATA,GAC1BwzC,EAAgBlvC,EAAM6Q,WAAWgH,MAAO,EACjC,IAAIm0B,EAAYwD,UAAUvnC,EAAQ4mC,EAAa5mC,EAAOme,KAAMqc,IAGxD,kBAAT/mC,GAAqC,QAATA,GAC9BwzC,EAAgBlvC,EAAM6Q,WAAWkH,MAAO,EACjC,IAAIgP,EAAQ0oB,cAAcxnC,EAAQ4mC,IAG9B,mBAATnzC,GAAsC,QAATA,GAC/BwzC,EAAgBlvC,EAAM6Q,WAAWmH,MAAO,EACjC,IAAI+O,EAAQ2oB,eAAeznC,EAAQ4mC,IAG/B,mBAATnzC,GAAsC,QAATA,GAC/BwzC,EAAgBlvC,EAAM6Q,WAAWoH,MAAO,EACjC,IAAI4zB,EAAc8D,eAAe1nC,EAAQ4mC,EAAapM,IAGlD,oBAAT/mC,GAAuC,OAATA,GAChCwzC,EAAgBlvC,EAAM6Q,WAAWqH,MAAO,EACjC,IAAI6O,EAAQ6oB,gBAAgB3nC,EAAQ4mC,IAGhC,gBAATnzC,GACFwzC,EAAgBlvC,EAAM6Q,WAAWiH,OAAQ,EAClC,IAAIg0B,EAAc+D,YAAY5nC,EAAQ4mC,EAAa5mC,EAAOme,KAAMqc,MAGzE,EAAIziC,EAAMsG,MAAM,WAAYhE,OAAO5G,EAAM,wBAClCuM,GACP,MAAOrD,GACP,GAAIA,aAActE,EAAY+oB,qBAC5B,MAAMzkB,EAIR,OADA,EAAI5E,EAAMsG,MAAM,oBAAqBhE,OAAOsC,EAAI,MACzC,IAAImiB,EAAQ6L,gBAKlByU,EAnsBiB,GAssB1B/oC,EAAQ+oC,OAASA,EACjB,IAAIyI,EAAe,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEjxB,SAASC,EAAWhgB,GAClB,OAAIA,GAAM,IAAQA,GAAM,GACV,GAALA,EAGLA,GAAM,IAAQA,GAAM,IAAQA,GAAM,IAAQA,GAAM,IAC7B,GAAR,GAALA,IAGF,EAGV,IAAIuX,EAAqB,WACvB,SAASA,EAAMr/B,GACb,IAAI+nC,EAAgBhyC,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,GAAmBA,UAAU,GAAK,KAExF9D,EAAgB6D,KAAMupC,GAEtBvpC,KAAKkK,OAASA,EACdlK,KAAKwwC,WACLxwC,KAAKiP,OAAS,GACdjP,KAAKiyC,cAAgBA,EACrBjyC,KAAKkyC,kBAAoB,EACzBlyC,KAAK2vC,qBAAuB,EAgf9B,OA7eAzzC,EAAaqtC,EAAO,CAAC,CACnB/nC,IAAK,WACLpD,MAAO,WACL,OAAO4B,KAAKmyC,YAAcnyC,KAAKkK,OAAO6iB,YAEvC,CACDvrB,IAAK,WACLpD,MAAO,WACL,OAAO4B,KAAKkK,OAAOglC,aAEpB,CACD1tC,IAAK,YACLpD,MAAO,WACL,IAAI4zB,EAAKhyB,KAAKmyC,YACVC,GAAY,EACZC,EAAW,EACXC,EAAO,EAcX,GAZW,KAAPtgB,GACFsgB,GAAQ,EAGG,MAFXtgB,EAAKhyB,KAAKwwC,cAGRxe,EAAKhyB,KAAKwwC,aAEI,KAAPxe,IACTsgB,EAAO,EACPtgB,EAAKhyB,KAAKwwC,YAGD,KAAPxe,GAAsB,KAAPA,EACjB,GACEA,EAAKhyB,KAAKwwC,iBACI,KAAPxe,GAAsB,KAAPA,GAQ1B,GALW,KAAPA,IACFqgB,EAAW,GACXrgB,EAAKhyB,KAAKwwC,YAGRxe,EAAK,IAAQA,EAAK,GAAM,CAC1B,GAAiB,KAAbqgB,GAA4B,IAATC,KAAe,EAAI/vC,EAAYwvB,cAAcC,KAAe,IAARA,GAEzE,OADA,EAAI/vB,EAAMsG,MAAM,8DACT,EAGT,MAAM,IAAItG,EAAM0Q,YAAY,mBAAmBpO,OAAOwK,OAAOC,aAAagjB,GAAK,eAAeztB,OAAOytB,EAAI,MAG3GsgB,EAAOA,GAAQ,EAKf,IAJA,IAAIC,EAAYvgB,EAAK,GACjBwgB,EAAa,EACbC,EAAiB,GAEbzgB,EAAKhyB,KAAKwwC,aAAe,GAC/B,GAAIxe,GAAM,IAAQA,GAAM,GAAM,CAC5B,IAAI0gB,EAAe1gB,EAAK,GAEpBogB,EACFI,EAA0B,GAAbA,EAAkBE,GAEd,IAAbL,IACFA,GAAY,IAGdE,EAAwB,GAAZA,EAAiBG,QAE1B,GAAW,KAAP1gB,EAAa,CACtB,GAAiB,IAAbqgB,EAGF,MAFAA,EAAW,OAIR,GAAW,KAAPrgB,GACT,EAAI/vB,EAAMsG,MAAM,wDACX,IAAW,KAAPypB,GAAsB,MAAPA,EAYxB,MATA,GAAW,MAFXA,EAAKhyB,KAAK2yC,aAEgB,KAAP3gB,EACjBygB,EAAwB,KAAPzgB,GAAe,EAAI,EACpChyB,KAAKwwC,gBACA,GAAIxe,EAAK,IAAQA,EAAK,GAC3B,MAGFogB,GAAY,EAchB,OARiB,IAAbC,IACFE,GAAaF,GAGXD,IACFG,GAAa5pC,KAAK62B,IAAI,GAAIiT,EAAiBD,IAGtCF,EAAOC,IAEf,CACD/wC,IAAK,YACLpD,MAAO,WACL,IAAIw0C,EAAW,EACXz0C,GAAO,EACP8Q,EAASjP,KAAKiP,OAClBA,EAAOlR,OAAS,EAGhB,IAFA,IAAIi0B,EAAKhyB,KAAKwwC,aAED,CACX,IAAIqC,GAAe,EAEnB,OAAa,EAAL7gB,GACN,KAAM,GACJ,EAAI/vB,EAAMsG,MAAM,uBAChBpK,GAAO,EACP,MAEF,KAAK,KACDy0C,EACF3jC,EAAOxK,KAAK,KACZ,MAEF,KAAK,GACgB,KAAbmuC,GACJ5yC,KAAKwwC,WACLryC,GAAO,GAEP8Q,EAAOxK,KAAK,KAGd,MAEF,KAAK,GAGH,OAFAutB,EAAKhyB,KAAKwwC,YAGR,KAAM,GACJ,EAAIvuC,EAAMsG,MAAM,uBAChBpK,GAAO,EACP,MAEF,KAAK,IACH8Q,EAAOxK,KAAK,MACZ,MAEF,KAAK,IACHwK,EAAOxK,KAAK,MACZ,MAEF,KAAK,IACHwK,EAAOxK,KAAK,MACZ,MAEF,KAAK,GACHwK,EAAOxK,KAAK,MACZ,MAEF,KAAK,IACHwK,EAAOxK,KAAK,MACZ,MA2CF,QACEwK,EAAOxK,KAAKsK,OAAOC,aAAagjB,IAChC,MArCF,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,IAAIN,EAAS,GAALM,EAER6gB,GAAe,GADf7gB,EAAKhyB,KAAKwwC,aAGA,IAAQxe,GAAM,KACtBN,GAAKA,GAAK,IAAW,GAALM,IAChBA,EAAKhyB,KAAKwwC,aAEA,IAAQxe,GAAM,KACtB6gB,GAAe,EACfnhB,GAAKA,GAAK,IAAW,GAALM,KAIpB/iB,EAAOxK,KAAKsK,OAAOC,aAAa0iB,IAChC,MAEF,KAAK,GACqB,KAApB1xB,KAAK2yC,YACP3yC,KAAKwwC,WAKT,KAAK,IAQP,MAEF,QACEvhC,EAAOxK,KAAKsK,OAAOC,aAAagjB,IAIpC,GAAI7zB,EACF,MAGG00C,IACH7gB,EAAKhyB,KAAKwwC,YAId,OAAOvhC,EAAOvK,KAAK,MAEpB,CACDlD,IAAK,UACLpD,MAAO,WACL,IAAI4zB,EAAI8gB,EACJ7jC,EAASjP,KAAKiP,OAGlB,IAFAA,EAAOlR,OAAS,GAERi0B,EAAKhyB,KAAKwwC,aAAe,IAAMuB,EAAa/f,IAClD,GAAW,KAAPA,EAAa,CAGf,GAFAA,EAAKhyB,KAAKwwC,WAENuB,EAAa/f,GAAK,EACpB,EAAI/vB,EAAMsG,MAAM,8EAChB0G,EAAOxK,KAAK,KACZ,MAGF,IAAIitB,EAAIsgB,EAAWhgB,GAEnB,IAAW,IAAPN,EAAU,CACZohB,EAAa9gB,EAEb,IAAI+gB,EAAKf,EADThgB,EAAKhyB,KAAKwwC,YAGV,IAAY,IAARuC,EAAW,CAIb,IAHA,EAAI9wC,EAAMsG,MAAM,iCAAiChE,OAAOwK,OAAOC,aAAagjB,GAAK,MAAQ,0BACzF/iB,EAAOxK,KAAK,IAAKsK,OAAOC,aAAa8jC,IAEjCf,EAAa/f,GACf,MAGF/iB,EAAOxK,KAAKsK,OAAOC,aAAagjB,IAChC,SAGF/iB,EAAOxK,KAAKsK,OAAOC,aAAa0iB,GAAK,EAAIqhB,SAEzC9jC,EAAOxK,KAAK,IAAKsK,OAAOC,aAAagjB,SAGvC/iB,EAAOxK,KAAKsK,OAAOC,aAAagjB,IAQpC,OAJI/iB,EAAOlR,OAAS,MAClB,EAAIkE,EAAMsG,MAAM,kDAAkDhE,OAAO0K,EAAOlR,SAG3EmE,EAAYqjB,KAAKvkB,IAAIiO,EAAOvK,KAAK,OAEzC,CACDlD,IAAK,iBACLpD,MAAO,SAAwB4zB,GACC,GAE1BhyB,KAAKkyC,oBAKLlyC,KAAKkyC,kBAPqB,IAW9B,EAAIjwC,EAAMsG,MAAM,8CAA8ChE,OAAOytB,KARnE,EAAI/vB,EAAMsG,MAAM,4DAUnB,CACD/G,IAAK,eACLpD,MAAO,WACL,IAAI6Q,EAASjP,KAAKiP,OAClBA,EAAOlR,OAAS,EAChB,IAEIi1C,EAAYC,EAFZjhB,EAAKhyB,KAAKmyC,YACVe,GAAa,EAIjB,IAFAlzC,KAAKkyC,kBAAoB,IAEZ,CACX,GAAIlgB,EAAK,EAAG,EACV,EAAI/vB,EAAMsG,MAAM,2BAChB,MACK,GAAW,KAAPypB,EAAa,CACtBhyB,KAAKwwC,WACL,MACK,GAAyB,IAArBuB,EAAa/f,GAAjB,CAIL,GAAIkhB,GAGF,IAAoB,KAFpBF,EAAahB,EAAWhgB,IAED,CACrBhyB,KAAKmzC,eAAenhB,GAEpBA,EAAKhyB,KAAKwwC,WACV,cAEG,CAGL,IAAqB,KAFrByC,EAAcjB,EAAWhgB,IAED,CACtBhyB,KAAKmzC,eAAenhB,GAEpBA,EAAKhyB,KAAKwwC,WACV,SAGFvhC,EAAOxK,KAAKsK,OAAOC,aAAagkC,GAAc,EAAIC,IAGpDC,GAAcA,EACdlhB,EAAKhyB,KAAKwwC,gBA1BVxe,EAAKhyB,KAAKwwC,WA8Bd,OAAOvhC,EAAOvK,KAAK,MAEpB,CACDlD,IAAK,SACLpD,MAAO,WAIL,IAHA,IAAIg1C,GAAU,EACVphB,EAAKhyB,KAAKmyC,cAED,CACX,GAAIngB,EAAK,EACP,OAAO9vB,EAAYujB,IAGrB,GAAI2tB,EACS,KAAPphB,GAAsB,KAAPA,IACjBohB,GAAU,QAEP,GAAW,KAAPphB,EACTohB,GAAU,OACL,GAAyB,IAArBrB,EAAa/f,GACtB,MAGFA,EAAKhyB,KAAKwwC,WAGZ,OAAa,EAALxe,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,OAAOhyB,KAAKqzC,YAEd,KAAK,GACH,OAAOrzC,KAAKszC,YAEd,KAAK,GACH,OAAOtzC,KAAKuzC,UAEd,KAAK,GAEH,OADAvzC,KAAKwwC,WACEtuC,EAAYmjB,IAAIrkB,IAAI,KAE7B,KAAK,GAEH,OADAhB,KAAKwwC,WACEtuC,EAAYmjB,IAAIrkB,IAAI,KAE7B,KAAK,GAGH,OAAW,MAFXgxB,EAAKhyB,KAAKwwC,aAGRxwC,KAAKwwC,WACEtuC,EAAYmjB,IAAIrkB,IAAI,OAGtBhB,KAAKwzC,eAEd,KAAK,GAGH,OAAW,MAFXxhB,EAAKhyB,KAAKwwC,aAGRxwC,KAAKwwC,WACEtuC,EAAYmjB,IAAIrkB,IAAI,OAGtBkB,EAAYmjB,IAAIrkB,IAAI,KAE7B,KAAK,IAEH,OADAhB,KAAKwwC,WACEtuC,EAAYmjB,IAAIrkB,IAAI,KAE7B,KAAK,IAEH,OADAhB,KAAKwwC,WACEtuC,EAAYmjB,IAAIrkB,IAAI,KAE7B,KAAK,GAEH,MADAhB,KAAKwwC,WACC,IAAIvuC,EAAM0Q,YAAY,sBAAsBpO,OAAOytB,IAO7D,IAJA,IAAI7gB,EAAMpC,OAAOC,aAAagjB,GAC1BigB,EAAgBjyC,KAAKiyC,cACrBwB,EAAoBxB,QAAwCpjC,IAAvBojC,EAAc9gC,IAE/C6gB,EAAKhyB,KAAKwwC,aAAe,IAAMuB,EAAa/f,IAAK,CACvD,IAAI0hB,EAAkBviC,EAAMpC,OAAOC,aAAagjB,GAEhD,GAAIyhB,QAAwD5kC,IAAnCojC,EAAcyB,GACrC,MAGF,GAAmB,MAAfviC,EAAIpT,OACN,MAAM,IAAIkE,EAAM0Q,YAAY,2BAA2BpO,OAAO4M,EAAIpT,SAGpEoT,EAAMuiC,EACND,EAAoBxB,QAAwCpjC,IAAvBojC,EAAc9gC,GAGrD,MAAY,SAARA,GAIQ,UAARA,IAIQ,SAARA,EACK,MAGG,OAARA,IACFnR,KAAK2vC,oBAAsB3vC,KAAKkK,OAAOmE,KAGlCnM,EAAYmjB,IAAIrkB,IAAImQ,OAE5B,CACD3P,IAAK,iBACLpD,MAAO,WAGL,IAFA,IAAI4zB,EAAKhyB,KAAKmyC,YAEPngB,GAAM,GAAG,CACd,GAAW,KAAPA,EAAa,CAGJ,MAFXA,EAAKhyB,KAAKwwC,aAGRxwC,KAAKwwC,WAGP,MACK,GAAW,KAAPxe,EAAa,CACtBhyB,KAAKwwC,WACL,MAGFxe,EAAKhyB,KAAKwwC,gBAKTjH,EA3fgB,GA8fzBhpC,EAAQgpC,MAAQA,EAEhB,IAAI/P,EAA6B,WAC/B,SAASA,IACPr9B,EAAgB6D,KAAMw5B,GAgExB,OA7DAt9B,EAAas9B,EAAe,KAAM,CAAC,CACjCh4B,IAAK,SACLpD,MAAO,SAAgB8L,GACrB,SAASypC,EAAOC,EAASj2C,GACvB,IAAIk2C,EAAiB5zC,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAChFkQ,EAAMyjC,EAAQ5yC,IAAIrD,GAEtB,GAAI4T,OAAOC,UAAUrB,KAAS0jC,EAAiB1jC,GAAO,EAAIA,EAAM,GAC9D,OAAOA,EAGT,MAAM,IAAIlN,MAAM,QAASsB,OAAO5G,EAAM,qCAAwC,0BAsBhF,IAQIwS,EAAKpS,EARLwoC,EAAS,IAAI+C,EAAO,CACtB3C,MAAO,IAAI4C,EAAMr/B,GACjBE,KAAM,OAEJ8/B,EAAO3D,EAAOU,SACdkD,EAAO5D,EAAOU,SACdmD,EAAO7D,EAAOU,SACd2M,EAAUrN,EAAOU,SAGrB,KAAM11B,OAAOC,UAAU04B,IAAS34B,OAAOC,UAAU24B,KAAS,EAAIjoC,EAAYwjB,OAAO0kB,EAAM,SAAU,EAAIloC,EAAY0jB,QAAQguB,KAAY,EAAI3xC,EAAMmO,OAAOD,EAAMyjC,EAAQ5yC,IAAI,gBAAkBmP,EAAM,GAC9L,OAAO,KACF,IAAKpS,EAAS41C,EAAOC,EAAS,QAAU1pC,EAAOnM,OACpD,MAAM,IAAIkF,MAAM,uFAGlB,MAAO,CACLlF,OAAQA,EACR+1C,MArCF,SAAkBF,GAChB,IACIG,EADAD,EAAQF,EAAQ5yC,IAAI,KAGxB,GAAIhE,MAAMC,QAAQ62C,KAA4C,KAAhCC,EAAcD,EAAM/1C,SAAiC,IAAhBg2C,GAAoB,CACrF,IAAK,IAAI/jC,EAAQ,EAAGA,EAAQ+jC,EAAa/jC,IAAS,CAChD,IAAIgkC,EAAOF,EAAM9jC,GAEjB,KAAMuB,OAAOC,UAAUwiC,IAASA,EAAO,GACrC,MAAM,IAAI/wC,MAAM,SAASsB,OAAOyL,EAAO,kDAI3C,OAAO8jC,EAGT,MAAM,IAAI7wC,MAAM,0DAqBTgxC,CAASL,GAChB1X,kBAAmByX,EAAOC,EAAS,KACnCM,SAAUP,EAAOC,EAAS,KAC1BhuC,SAAU+tC,EAAOC,EAAS,KAC1BO,sBAAuBR,EAAOC,EAAS,KACvC3X,UAAW2X,EAAQ7rB,IAAI,KAAO4rB,EAAOC,EAAS,KAAK,GAAQ,OAK1Dpa,EAlEwB,GAqEjCj5B,EAAQi5B,cAAgBA,GAEvB,SAAUh5B,EAAQD,EAASF,GAC5B,aAEAhD,OAAOyD,eAAeP,EAAS,aAAc,CAC3CnC,OAAO,IAETmC,EAAQgxC,UAAYhxC,EAAQ6zC,aAAe7zC,EAAQq0B,sBAAwBr0B,EAAQ4pB,OAAS5pB,EAAQsxC,gBAAkBtxC,EAAQ6wC,gBAAkB7wC,EAAQs0B,WAAat0B,EAAQ8wC,YAAc9wC,EAAQ8zC,aAAe9zC,EAAQ+zC,cAAgB/zC,EAAQoxC,eAAiBpxC,EAAQmxC,mBAAgB,EAE3R,IAAIzvC,EAAQ5B,EAAoB,GAE5B6B,EAAc7B,EAAoB,GAElCkC,EAAclC,EAAoB,GAElC8pB,EAAS,WACX,SAASA,EAAOoqB,EAAa7pC,EAAO3M,EAAQsqB,GAC1CroB,KAAKmK,MAAQoqC,aAAuB9wC,WAAa8wC,EAAc,IAAI9wC,WAAW8wC,GAC9Ev0C,KAAK0K,MAAQA,GAAS,EACtB1K,KAAKqO,IAAMrO,KAAK0K,MAChB1K,KAAK8pB,IAAMpf,EAAQ3M,GAAUiC,KAAKmK,MAAMpM,OACxCiC,KAAKqoB,KAAOA,EAqGd,OAlGA8B,EAAO7sB,UAAY,CACbS,aACF,OAAOiC,KAAK8pB,IAAM9pB,KAAK0K,OAGrB8pC,cACF,OAAuB,IAAhBx0C,KAAKjC,QAGdgvB,QAAS,WACP,OAAI/sB,KAAKqO,KAAOrO,KAAK8pB,KACX,EAGH9pB,KAAKmK,MAAMnK,KAAKqO,QAEzBghC,UAAW,WACT,IAAIviB,EAAK9sB,KAAK+sB,UACVjI,EAAK9kB,KAAK+sB,UAEd,OAAY,IAARD,IAAqB,IAARhI,GACP,GAGFgI,GAAM,GAAKhI,GAErB2vB,SAAU,WAKR,OAJSz0C,KAAK+sB,WAIA,KAHL/sB,KAAK+sB,WAGa,KAFlB/sB,KAAK+sB,WAE0B,GAD/B/sB,KAAK+sB,WAGhB5G,SAAU,SAAkBpoB,GAC1B,IAAIivB,EAAe/sB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAC9EkK,EAAQnK,KAAKmK,MACbkE,EAAMrO,KAAKqO,IACX4e,EAASjtB,KAAK8pB,IAElB,IAAK/rB,EAAQ,CACX,IAAI22C,EAAavqC,EAAMiF,SAASf,EAAK4e,GAErC,OAAOD,EAAe,IAAII,kBAAkBsnB,GAAcA,EAG5D,IAAI5qB,EAAMzb,EAAMtQ,EAEZ+rB,EAAMmD,IACRnD,EAAMmD,GAGRjtB,KAAKqO,IAAMyb,EACX,IAAI1a,EAAWjF,EAAMiF,SAASf,EAAKyb,GACnC,OAAOkD,EAAe,IAAII,kBAAkBhe,GAAYA,GAE1D8/B,SAAU,WACR,IAAI7hB,EAAartB,KAAK+sB,UAMtB,OAJoB,IAAhBM,GACFrtB,KAAKqO,MAGAgf,GAETgL,UAAW,SAAmBt6B,GAC5B,IAAIivB,EAAe/sB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAC9EkK,EAAQnK,KAAKmmB,SAASpoB,EAAQivB,GAElC,OADAhtB,KAAKqO,KAAOlE,EAAMpM,OACXoM,GAET2xB,aAAc,SAAsBjS,EAAOC,GASzC,OARID,EAAQ,IACVA,EAAQ,GAGNC,EAAM9pB,KAAK8pB,MACbA,EAAM9pB,KAAK8pB,KAGN9pB,KAAKmK,MAAMiF,SAASya,EAAOC,IAEpC+P,KAAM,SAAqBz8B,GACpBA,IACHA,EAAI,GAGN4C,KAAKqO,KAAOjR,GAEds8B,MAAO,WACL15B,KAAKqO,IAAMrO,KAAK0K,OAElBsvB,UAAW,WACTh6B,KAAK0K,MAAQ1K,KAAKqO,KAEpB47B,cAAe,SAA8Bv/B,EAAO3M,EAAQsqB,GAC1D,OAAO,IAAI8B,EAAOnqB,KAAKmK,MAAM0Y,OAAQnY,EAAO3M,EAAQsqB,KAGjD8B,EA3GI,GA8Gb5pB,EAAQ4pB,OAASA,EAEjB,IAAIiqB,EAAe,WACjB,SAASA,EAAajjC,GACpB,IAAIhH,GAAQ,EAAIlI,EAAMuM,eAAe2C,GACrCgZ,EAAO3sB,KAAKwC,KAAMmK,GAIpB,OADAiqC,EAAa92C,UAAY6sB,EAAO7sB,UACzB82C,EAPU,GAUnB7zC,EAAQ6zC,aAAeA,EAEvB,IAAIC,EAAe,WACjB,IAAIM,EAAc,IAAIlxC,WAAW,GAEjC,SAAS4wC,EAAaO,GAQpB,GAPA50C,KAAK60C,oBAAsBD,GAAwB,EACnD50C,KAAKqO,IAAM,EACXrO,KAAK80C,aAAe,EACpB90C,KAAK+0C,KAAM,EACX/0C,KAAK6iB,OAAS8xB,EACd30C,KAAKg1C,gBAAkB,IAEnBJ,EACF,KAAO50C,KAAKg1C,gBAAkBJ,GAC5B50C,KAAKg1C,iBAAmB,EAwI9B,OAnIAX,EAAa/2C,UAAY,CACnBk3C,cACF,MAAQx0C,KAAK+0C,KAA6B,IAAtB/0C,KAAK80C,cACvB90C,KAAKi1C,YAGP,OAA6B,IAAtBj1C,KAAK80C,cAGdI,aAAc,SAAmCC,GAC/C,IAAItyB,EAAS7iB,KAAK6iB,OAElB,GAAIsyB,GAAatyB,EAAOhV,WACtB,OAAOgV,EAKT,IAFA,IAAIuyB,EAAOp1C,KAAKg1C,gBAETI,EAAOD,GACZC,GAAQ,EAGV,IAAIC,EAAU,IAAI5xC,WAAW2xC,GAE7B,OADAC,EAAQ3mC,IAAImU,GACL7iB,KAAK6iB,OAASwyB,GAEvBtoB,QAAS,WAGP,IAFA,IAAI1e,EAAMrO,KAAKqO,IAERrO,KAAK80C,cAAgBzmC,GAAK,CAC/B,GAAIrO,KAAK+0C,IACP,OAAQ,EAGV/0C,KAAKi1C,YAGP,OAAOj1C,KAAK6iB,OAAO7iB,KAAKqO,QAE1BghC,UAAW,WACT,IAAIviB,EAAK9sB,KAAK+sB,UACVjI,EAAK9kB,KAAK+sB,UAEd,OAAY,IAARD,IAAqB,IAARhI,GACP,GAGFgI,GAAM,GAAKhI,GAErB2vB,SAAU,WAKR,OAJSz0C,KAAK+sB,WAIA,KAHL/sB,KAAK+sB,WAGa,KAFlB/sB,KAAK+sB,WAE0B,GAD/B/sB,KAAK+sB,WAGhB5G,SAAU,SAAkBpoB,GAC1B,IACI+rB,EADAkD,EAAe/sB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAE9EoO,EAAMrO,KAAKqO,IAEf,GAAItQ,EAAQ,CAIV,IAHAiC,KAAKk1C,aAAa7mC,EAAMtQ,GACxB+rB,EAAMzb,EAAMtQ,GAEJiC,KAAK+0C,KAAO/0C,KAAK80C,aAAehrB,GACtC9pB,KAAKi1C,YAGP,IAAIK,EAASt1C,KAAK80C,aAEdhrB,EAAMwrB,IACRxrB,EAAMwrB,OAEH,CACL,MAAQt1C,KAAK+0C,KACX/0C,KAAKi1C,YAGPnrB,EAAM9pB,KAAK80C,aAGb90C,KAAKqO,IAAMyb,EACX,IAAI1a,EAAWpP,KAAK6iB,OAAOzT,SAASf,EAAKyb,GACzC,OAAOkD,GAAkB5d,aAAoBge,kBAAuDhe,EAAlC,IAAIge,kBAAkBhe,IAE1F8/B,SAAU,WACR,IAAI7hB,EAAartB,KAAK+sB,UAMtB,OAJoB,IAAhBM,GACFrtB,KAAKqO,MAGAgf,GAETgL,UAAW,SAAmBt6B,GAC5B,IAAIivB,EAAe/sB,UAAUlC,OAAS,QAAsB8Q,IAAjB5O,UAAU,IAAmBA,UAAU,GAC9EkK,EAAQnK,KAAKmmB,SAASpoB,EAAQivB,GAElC,OADAhtB,KAAKqO,KAAOlE,EAAMpM,OACXoM,GAET8/B,cAAe,SAAoCv/B,EAAO3M,EAAQsqB,GAGhE,IAFA,IAAIyB,EAAMpf,EAAQ3M,EAEXiC,KAAK80C,cAAgBhrB,IAAQ9pB,KAAK+0C,KACvC/0C,KAAKi1C,YAGP,OAAO,IAAI9qB,EAAOnqB,KAAK6iB,OAAQnY,EAAO3M,EAAQsqB,IAEhDyT,aAAc,SAAsBjS,EAAOC,IACzC,EAAI7nB,EAAMsQ,aAAa,8CAEzBsnB,KAAM,SAA2Bz8B,GAC1BA,IACHA,EAAI,GAGN4C,KAAKqO,KAAOjR,GAEds8B,MAAO,WACL15B,KAAKqO,IAAM,GAEbu/B,eAAgB,WACd,OAAI5tC,KAAKmR,KAAOnR,KAAKmR,IAAIy8B,eAChB5tC,KAAKmR,IAAIy8B,iBAGX,KAGJyG,EArJU,GAwJnB9zC,EAAQ8zC,aAAeA,EAEvB,IAAIzf,EAAwB,WAC1B,SAASA,EAAsBJ,GAC7Bx0B,KAAKw0B,QAAUA,EAGf,IAFA,IAAIsc,EAAc,EAET9yC,EAAI,EAAG6mB,EAAK2P,EAAQz2B,OAAQC,EAAI6mB,EAAI7mB,IAAK,CAChD,IAAIkM,EAASsqB,EAAQx2B,GAGnB8yC,GADE5mC,aAAkBmqC,EACLnqC,EAAO2qC,oBAEP3qC,EAAOnM,OAI1Bs2C,EAAa72C,KAAKwC,KAAM8wC,GAoC1B,OAjCAlc,EAAsBt3B,UAAYD,OAAOkE,OAAO8yC,EAAa/2C,WAE7Ds3B,EAAsBt3B,UAAU23C,UAAY,WAC1C,IAAIzgB,EAAUx0B,KAAKw0B,QAEnB,GAAuB,IAAnBA,EAAQz2B,OAAZ,CAKA,IACIqK,EADSosB,EAAQ2J,QACFhY,WACf2uB,EAAe90C,KAAK80C,aACpBS,EAAYT,EAAe1sC,EAAMrK,OACxBiC,KAAKk1C,aAAaK,GACxB7mC,IAAItG,EAAO0sC,GAClB90C,KAAK80C,aAAeS,OAVlBv1C,KAAK+0C,KAAM,GAafngB,EAAsBt3B,UAAUswC,eAAiB,WAG/C,IAFA,IAAIL,EAAc,GAETvvC,EAAI,EAAG6mB,EAAK7kB,KAAKw0B,QAAQz2B,OAAQC,EAAI6mB,EAAI7mB,IAAK,CACrD,IAAIkM,EAASlK,KAAKw0B,QAAQx2B,GAEtBkM,EAAO0jC,gBACTL,EAAY9oC,KAAKvE,MAAMqtC,EAAavxC,EAAmBkO,EAAO0jC,mBAIlE,OAAOL,GAGF3Y,EAnDmB,GAsD5Br0B,EAAQq0B,sBAAwBA,EAEhC,IAAIyc,EAAc,WAChB,IAAImE,EAAiB,IAAIC,WAAW,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAC/FC,EAAe,IAAID,WAAW,CAAC,EAAS,EAAS,EAAS,EAAS,EAAS,EAAS,EAAS,GAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,IAAS,IAAS,MAC7SE,EAAa,IAAIF,WAAW,CAAC,EAAS,EAAS,EAAS,EAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,SAClSG,EAAkB,CAAC,IAAIH,WAAW,CAAC,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,O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AO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,OAC9WC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,IAdzB,GAcwC,CAAC,IAdzC,GAcwD,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53CC,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CA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CF,CACDpuB,GAAI,EACJouB,EAAG,IACD,CAAC,CACHpuB,GAAI,EACJouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,EAAG,GACF,CACDpuB,GAAI,EACJouB,EAAG,IACD,CAAC,CACHpuB,GAAI,EACJouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,EAAG,GACF,CACDpuB,GAAI,EACJouB,EAAG,GACF,CACDpuB,GAAI,EACJouB,EAAG,GACF,CACDpuB,GAAI,EACJouB,EAAG,KAEDC,EAAsB,CAAC,CACzBC,OAAQ,CAAC,CACPtuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,EAAG,IAELG,UAAW,CAAC,CACVvuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,EAAG,GACF,CACDpuB,EAAG,EACHouB,EAAG,GACF,CACDpuB,EAAG,EACHouB,EAAG,GACF,CACDpuB,GAAI,EACJouB,EAAG,GACF,CACDpuB,EAAG,EACHouB,EAAG,GACF,CACDpuB,EAAG,EACHouB,EAAG,KAEJ,CACDE,OAAQ,CAAC,CACPtuB,GAAI,EACJouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,EAAG,IAELG,UAAW,CAAC,CACVvuB,EAAG,EACHouB,GAAI,GACH,CACDpuB,GAAI,EACJouB,EAAG,GACF,CACD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,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,EACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,EACJC,KAAM,G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AM,IAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,EAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,KACphDzD,KAAKm5E,OAAS,IAAI11E,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,MACxhDzD,KAAKo5E,KAAO,IAAIx2D,YAAY,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WA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EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,KACjBA,EAAW,QAAI,KACfA,EAAW,QAAI,KACfA,EAAW,QAAI,KACfA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,MACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA,EAAa,UAAI,KACjBA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A,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,KACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,KACXA,EAAO,IAAI,MACXA,EAAO,IAAI,KACXA,EAAO,IAAI,MACXA,EAAQ,KAAI,MACZA,EAAO,IAAI,MACXA,EAAQ,KAAI,MACZA,EAAO,IAAI,KACXA,EAAO,IAAI,KACXA,EAAO,IAAI,KACXA,EAAO,IAAI,MACXA,EAAO,IAAI,KACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAO,IAAI,MACXA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,KACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZA,EAAQ,KAAI,MACZ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,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ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K,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,OACPC,IAAK,QACJ,CACDD,MAAO,OACPC,IAAK,QACJ,CACDD,MAAO,QACPC,IAAK,SACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,OACPC,IAAK,QACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,OACPC,IAAK,QACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,OACPC,IAAK,QACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,KACPC,IAAK,MACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,KACPC,IAAK,OACJ,CACDD,MAAO,MACPC,IAAK,OACJ,CACDD,MAAO,OACPC,IAAK,SA+BH2gF,EAAwBj6E,GAAsB,SAAUrvB,GAC1DA,EAAE,KAAU,KACZA,EAAE,KAAU,KACZA,EAAE,KAAU,KACZA,EAAE,KAAU,IACZA,EAAE,KAAU,KACZA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,OACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,UACdA,EAAE,KAAY,SACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,K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M,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC14CC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,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EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAQ,KAAI,IACZA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAM,GAAI,IACVA,EAAM,GAAI,IACVA,EAAM,GAAI,IACVA,EAAM,GAAI,IACVA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAQ,KAAI,IACZA,EAAO,IAAI,IACXA,EAAQ,KAAI,IACZA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAQ,KAAI,IACZA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAQ,KAAI,IACZA,EAAO,IAAI,IACXA,EAAQ,KAAI,IACZA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAO,IAAI,IACXA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,EAAQ,KAAI,IACZA,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","sources":["webpack://mi-frontend/./node_modules/pdfjs-dist/build/pdf.worker.js"],"sourcesContent":["var _get = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/get\");\n\nvar _toConsumableArray = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nvar _assertThisInitialized = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/assertThisInitialized\");\n\nvar _createClass = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _classCallCheck = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _inherits = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/getPrototypeOf\");\n\nvar _regeneratorRuntime = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/regenerator\");\n\nvar _slicedToArray = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _asyncToGenerator = require(\"C:/Projects/Moving In/Source Code/FrontEndApp-017-gatsby/mi-frontend/node_modules/@babel/runtime/helpers/asyncToGenerator\");\n\nrequire(\"core-js/modules/esnext.promise.all-settled.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/build/pdf.worker\", [], factory);else if (typeof exports === 'object') exports[\"pdfjs-dist/build/pdf.worker\"] = factory();else root[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(this, function () {\n return (\n /******/\n function (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __w_pdfjs_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __w_pdfjs_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __w_pdfjs_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/\n if (!__w_pdfjs_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n enumerable: true,\n get: getter\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // define __esModule on exports\n\n /******/\n\n\n __w_pdfjs_require__.r = function (exports) {\n /******/\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/\n Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n\n /******/\n // create a fake namespace object\n\n /******/\n // mode & 1: value is a module id, require it\n\n /******/\n // mode & 2: merge all properties of value into the ns\n\n /******/\n // mode & 4: return value when already ns object\n\n /******/\n // mode & 8|1: behave like require\n\n /******/\n\n\n __w_pdfjs_require__.t = function (value, mode) {\n /******/\n if (mode & 1) value = __w_pdfjs_require__(value);\n /******/\n\n if (mode & 8) return value;\n /******/\n\n if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value;\n /******/\n\n var ns = Object.create(null);\n /******/\n\n __w_pdfjs_require__.r(ns);\n /******/\n\n\n Object.defineProperty(ns, 'default', {\n enumerable: true,\n value: value\n });\n /******/\n\n if (mode & 2 && typeof value != 'string') for (var key in value) {\n __w_pdfjs_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n }\n /******/\n\n return ns;\n /******/\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __w_pdfjs_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __w_pdfjs_require__.p = \"\";\n /******/\n\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n /******/\n }([\n /* 0 */\n\n /***/\n\n /* 1 */\n\n /***/\n\n /* 2 */\n\n /***/\n\n /* 3 */\n\n /***/\n\n /* 4 */\n\n /***/\n\n /* 5 */\n\n /***/\n\n /* 6 */\n\n /***/\n\n /* 7 */\n\n /***/\n\n /* 8 */\n\n /***/\n\n /* 9 */\n\n /***/\n\n /* 10 */\n\n /***/\n\n /* 11 */\n\n /***/\n\n /* 12 */\n\n /***/\n\n /* 13 */\n\n /***/\n\n /* 14 */\n\n /***/\n\n /* 15 */\n\n /***/\n\n /* 16 */\n\n /***/\n\n /* 17 */\n\n /***/\n\n /* 18 */\n\n /***/\n\n /* 19 */\n\n /***/\n\n /* 20 */\n\n /***/\n\n /* 21 */\n\n /***/\n\n /* 22 */\n\n /***/\n\n /* 23 */\n\n /***/\n\n /* 24 */\n\n /***/\n\n /* 25 */\n\n /***/\n\n /* 26 */\n\n /***/\n\n /* 27 */\n\n /***/\n\n /* 28 */\n\n /***/\n\n /* 29 */\n\n /***/\n\n /* 30 */\n\n /***/\n\n /* 31 */\n\n /***/\n\n /* 32 */\n\n /***/\n\n /* 33 */\n\n /***/\n\n /* 34 */\n\n /***/\n\n /* 35 */\n\n /***/\n\n /* 36 */\n\n /***/\n\n /* 37 */\n\n /***/\n\n /* 38 */\n\n /***/\n\n /* 39 */\n\n /***/\n\n /* 40 */\n\n /***/\n\n /* 41 */\n\n /***/\n\n /* 42 */\n\n /***/\n\n /* 43 */\n\n /***/\n\n /* 44 */\n\n /***/\n\n /* 45 */\n\n /***/\n\n /* 46 */\n\n /***/\n\n /******/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var pdfjsVersion = '2.4.456';\n var pdfjsBuild = '228a591c';\n\n var pdfjsCoreWorker = __w_pdfjs_require__(1);\n\n exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.WorkerMessageHandler = exports.WorkerTask = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _pdf_manager = __w_pdfjs_require__(5);\n\n var _is_node = __w_pdfjs_require__(44);\n\n var _message_handler = __w_pdfjs_require__(45);\n\n var _worker_stream = __w_pdfjs_require__(46);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var WorkerTask = function WorkerTaskClosure() {\n function WorkerTask(name) {\n this.name = name;\n this.terminated = false;\n this._capability = (0, _util.createPromiseCapability)();\n }\n\n WorkerTask.prototype = {\n get finished() {\n return this._capability.promise;\n },\n\n finish: function finish() {\n this._capability.resolve();\n },\n terminate: function terminate() {\n this.terminated = true;\n },\n ensureNotTerminated: function ensureNotTerminated() {\n if (this.terminated) {\n throw new Error(\"Worker task was terminated\");\n }\n }\n };\n return WorkerTask;\n }();\n\n exports.WorkerTask = WorkerTask;\n var WorkerMessageHandler = {\n setup: function setup(handler, port) {\n var testMessageProcessed = false;\n handler.on(\"test\", function wphSetupTest(data) {\n if (testMessageProcessed) {\n return;\n }\n\n testMessageProcessed = true;\n\n if (!(data instanceof Uint8Array)) {\n handler.send(\"test\", null);\n return;\n }\n\n var supportTransfers = data[0] === 255;\n handler.postMessageTransfers = supportTransfers;\n handler.send(\"test\", {\n supportTransfers: supportTransfers\n });\n });\n handler.on(\"configure\", function wphConfigure(data) {\n (0, _util.setVerbosityLevel)(data.verbosity);\n });\n handler.on(\"GetDocRequest\", function wphSetupDoc(data) {\n return WorkerMessageHandler.createDocumentHandler(data, port);\n });\n },\n createDocumentHandler: function createDocumentHandler(docParams, port) {\n var pdfManager;\n var terminated = false;\n var cancelXHRs = null;\n var WorkerTasks = [];\n var verbosity = (0, _util.getVerbosityLevel)();\n var apiVersion = docParams.apiVersion;\n var workerVersion = '2.4.456';\n\n if (apiVersion !== workerVersion) {\n throw new Error(\"The API version \\\"\".concat(apiVersion, \"\\\" does not match \") + \"the Worker version \\\"\".concat(workerVersion, \"\\\".\"));\n }\n\n var enumerableProperties = [];\n\n for (var property in []) {\n enumerableProperties.push(property);\n }\n\n if (enumerableProperties.length) {\n throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \" + enumerableProperties.join(\", \") + \"; thus breaking e.g. `for...in` iteration of `Array`s.\");\n }\n\n var docId = docParams.docId;\n var docBaseUrl = docParams.docBaseUrl;\n var workerHandlerName = docParams.docId + \"_worker\";\n var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n handler.postMessageTransfers = docParams.postMessageTransfers;\n\n function ensureNotTerminated() {\n if (terminated) {\n throw new Error(\"Worker was terminated\");\n }\n }\n\n function startWorkerTask(task) {\n WorkerTasks.push(task);\n }\n\n function finishWorkerTask(task) {\n task.finish();\n var i = WorkerTasks.indexOf(task);\n WorkerTasks.splice(i, 1);\n }\n\n function loadDocument(_x) {\n return _loadDocument.apply(this, arguments);\n }\n\n function _loadDocument() {\n _loadDocument = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(recoveryMode) {\n var _yield$Promise$all, _yield$Promise$all2, numPages, fingerprint;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return pdfManager.ensureDoc(\"checkHeader\");\n\n case 2:\n _context.next = 4;\n return pdfManager.ensureDoc(\"parseStartXRef\");\n\n case 4:\n _context.next = 6;\n return pdfManager.ensureDoc(\"parse\", [recoveryMode]);\n\n case 6:\n if (recoveryMode) {\n _context.next = 9;\n break;\n }\n\n _context.next = 9;\n return pdfManager.ensureDoc(\"checkFirstPage\");\n\n case 9:\n _context.next = 11;\n return Promise.all([pdfManager.ensureDoc(\"numPages\"), pdfManager.ensureDoc(\"fingerprint\")]);\n\n case 11:\n _yield$Promise$all = _context.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n numPages = _yield$Promise$all2[0];\n fingerprint = _yield$Promise$all2[1];\n return _context.abrupt(\"return\", {\n numPages: numPages,\n fingerprint: fingerprint\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadDocument.apply(this, arguments);\n }\n\n function getPdfManager(data, evaluatorOptions) {\n var pdfManagerCapability = (0, _util.createPromiseCapability)();\n var pdfManager;\n var source = data.source;\n\n if (source.data) {\n try {\n pdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(pdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n return pdfManagerCapability.promise;\n }\n\n var pdfStream,\n cachedChunks = [];\n\n try {\n pdfStream = new _worker_stream.PDFWorkerStream(handler);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n return pdfManagerCapability.promise;\n }\n\n var fullRequest = pdfStream.getFullReader();\n fullRequest.headersReady.then(function () {\n if (!fullRequest.isRangeSupported) {\n return;\n }\n\n var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n pdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n msgHandler: handler,\n password: source.password,\n length: fullRequest.contentLength,\n disableAutoFetch: disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize\n }, evaluatorOptions, docBaseUrl);\n\n for (var i = 0; i < cachedChunks.length; i++) {\n pdfManager.sendProgressiveData(cachedChunks[i]);\n }\n\n cachedChunks = [];\n pdfManagerCapability.resolve(pdfManager);\n cancelXHRs = null;\n }).catch(function (reason) {\n pdfManagerCapability.reject(reason);\n cancelXHRs = null;\n });\n var loaded = 0;\n\n var flushChunks = function flushChunks() {\n var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n\n if (source.length && pdfFile.length !== source.length) {\n (0, _util.warn)(\"reported HTTP length is different from actual\");\n }\n\n try {\n pdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(pdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n cachedChunks = [];\n };\n\n var readPromise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n ensureNotTerminated();\n\n if (chunk.done) {\n if (!pdfManager) {\n flushChunks();\n }\n\n cancelXHRs = null;\n return;\n }\n\n var data = chunk.value;\n loaded += (0, _util.arrayByteLength)(data);\n\n if (!fullRequest.isStreamingSupported) {\n handler.send(\"DocProgress\", {\n loaded: loaded,\n total: Math.max(loaded, fullRequest.contentLength || 0)\n });\n }\n\n if (pdfManager) {\n pdfManager.sendProgressiveData(data);\n } else {\n cachedChunks.push(data);\n }\n\n fullRequest.read().then(readChunk, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n fullRequest.read().then(readChunk, reject);\n });\n readPromise.catch(function (e) {\n pdfManagerCapability.reject(e);\n cancelXHRs = null;\n });\n\n cancelXHRs = function cancelXHRs(reason) {\n pdfStream.cancelAllRequests(reason);\n };\n\n return pdfManagerCapability.promise;\n }\n\n function setupDoc(data) {\n function onSuccess(doc) {\n ensureNotTerminated();\n handler.send(\"GetDoc\", {\n pdfInfo: doc\n });\n }\n\n function onFailure(ex) {\n ensureNotTerminated();\n\n if (ex instanceof _util.PasswordException) {\n var task = new WorkerTask(\"PasswordException: response \".concat(ex.code));\n startWorkerTask(task);\n handler.sendWithPromise(\"PasswordRequest\", ex).then(function (data) {\n finishWorkerTask(task);\n pdfManager.updatePassword(data.password);\n pdfManagerReady();\n }).catch(function () {\n finishWorkerTask(task);\n handler.send(\"DocException\", ex);\n });\n } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {\n handler.send(\"DocException\", ex);\n } else {\n handler.send(\"DocException\", new _util.UnknownErrorException(ex.message, ex.toString()));\n }\n }\n\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function loadFailure(ex) {\n ensureNotTerminated();\n\n if (!(ex instanceof _core_utils.XRefParseException)) {\n onFailure(ex);\n return;\n }\n\n pdfManager.requestLoadedStream();\n pdfManager.onLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n }, onFailure);\n }\n\n ensureNotTerminated();\n var evaluatorOptions = {\n forceDataSchema: data.disableCreateObjectURL,\n maxImageSize: data.maxImageSize,\n disableFontFace: data.disableFontFace,\n nativeImageDecoderSupport: data.nativeImageDecoderSupport,\n ignoreErrors: data.ignoreErrors,\n isEvalSupported: data.isEvalSupported\n };\n getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n if (terminated) {\n newPdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n throw new Error(\"Worker was terminated\");\n }\n\n pdfManager = newPdfManager;\n pdfManager.onLoadedStream().then(function (stream) {\n handler.send(\"DataLoaded\", {\n length: stream.bytes.byteLength\n });\n });\n }).then(pdfManagerReady, onFailure);\n }\n\n handler.on(\"GetPage\", function wphSetupGetPage(data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return Promise.all([pdfManager.ensure(page, \"rotate\"), pdfManager.ensure(page, \"ref\"), pdfManager.ensure(page, \"userUnit\"), pdfManager.ensure(page, \"view\")]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 4),\n rotate = _ref2[0],\n ref = _ref2[1],\n userUnit = _ref2[2],\n view = _ref2[3];\n\n return {\n rotate: rotate,\n ref: ref,\n userUnit: userUnit,\n view: view\n };\n });\n });\n });\n handler.on(\"GetPageIndex\", function wphSetupGetPageIndex(data) {\n var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);\n\n var catalog = pdfManager.pdfDocument.catalog;\n return catalog.getPageIndex(ref);\n });\n handler.on(\"GetDestinations\", function wphSetupGetDestinations(data) {\n return pdfManager.ensureCatalog(\"destinations\");\n });\n handler.on(\"GetDestination\", function wphSetupGetDestination(data) {\n return pdfManager.ensureCatalog(\"getDestination\", [data.id]);\n });\n handler.on(\"GetPageLabels\", function wphSetupGetPageLabels(data) {\n return pdfManager.ensureCatalog(\"pageLabels\");\n });\n handler.on(\"GetPageLayout\", function wphSetupGetPageLayout(data) {\n return pdfManager.ensureCatalog(\"pageLayout\");\n });\n handler.on(\"GetPageMode\", function wphSetupGetPageMode(data) {\n return pdfManager.ensureCatalog(\"pageMode\");\n });\n handler.on(\"GetViewerPreferences\", function (data) {\n return pdfManager.ensureCatalog(\"viewerPreferences\");\n });\n handler.on(\"GetOpenAction\", function (data) {\n return pdfManager.ensureCatalog(\"openAction\");\n });\n handler.on(\"GetAttachments\", function wphSetupGetAttachments(data) {\n return pdfManager.ensureCatalog(\"attachments\");\n });\n handler.on(\"GetJavaScript\", function wphSetupGetJavaScript(data) {\n return pdfManager.ensureCatalog(\"javaScript\");\n });\n handler.on(\"GetOutline\", function wphSetupGetOutline(data) {\n return pdfManager.ensureCatalog(\"documentOutline\");\n });\n handler.on(\"GetPermissions\", function (data) {\n return pdfManager.ensureCatalog(\"permissions\");\n });\n handler.on(\"GetMetadata\", function wphSetupGetMetadata(data) {\n return Promise.all([pdfManager.ensureDoc(\"documentInfo\"), pdfManager.ensureCatalog(\"metadata\")]);\n });\n handler.on(\"GetData\", function wphSetupGetData(data) {\n pdfManager.requestLoadedStream();\n return pdfManager.onLoadedStream().then(function (stream) {\n return stream.bytes;\n });\n });\n handler.on(\"GetStats\", function wphSetupGetStats(data) {\n return pdfManager.pdfDocument.xref.stats;\n });\n handler.on(\"GetAnnotations\", function (_ref3) {\n var pageIndex = _ref3.pageIndex,\n intent = _ref3.intent;\n return pdfManager.getPage(pageIndex).then(function (page) {\n return page.getAnnotationsData(intent);\n });\n });\n handler.on(\"GetOperatorList\", function wphSetupRenderPage(data, sink) {\n var pageIndex = data.pageIndex;\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"GetOperatorList: page \".concat(pageIndex));\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.getOperatorList({\n handler: handler,\n sink: sink,\n task: task,\n intent: data.intent,\n renderInteractiveForms: data.renderInteractiveForms\n }).then(function (operatorListInfo) {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getOperatorList: time=\") + \"\".concat(Date.now() - start, \"ms, len=\").concat(operatorListInfo.length));\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n sink.error(reason);\n });\n });\n }, this);\n handler.on(\"GetTextContent\", function wphExtractText(data, sink) {\n var pageIndex = data.pageIndex;\n\n sink.onPull = function (desiredSize) {};\n\n sink.onCancel = function (reason) {};\n\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"GetTextContent: page \" + pageIndex);\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.extractTextContent({\n handler: handler,\n task: task,\n sink: sink,\n normalizeWhitespace: data.normalizeWhitespace,\n combineTextItems: data.combineTextItems\n }).then(function () {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getTextContent: time=\") + \"\".concat(Date.now() - start, \"ms\"));\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n sink.error(reason);\n });\n });\n });\n handler.on(\"FontFallback\", function (data) {\n return pdfManager.fontFallback(data.id, handler);\n });\n handler.on(\"Cleanup\", function wphCleanup(data) {\n return pdfManager.cleanup();\n });\n handler.on(\"Terminate\", function wphTerminate(data) {\n terminated = true;\n var waitOn = [];\n\n if (pdfManager) {\n pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n var cleanupPromise = pdfManager.cleanup();\n waitOn.push(cleanupPromise);\n pdfManager = null;\n } else {\n (0, _primitives.clearPrimitiveCaches)();\n }\n\n if (cancelXHRs) {\n cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n WorkerTasks.forEach(function (task) {\n waitOn.push(task.finished);\n task.terminate();\n });\n return Promise.all(waitOn).then(function () {\n handler.destroy();\n handler = null;\n });\n });\n handler.on(\"Ready\", function wphReady(data) {\n setupDoc(docParams);\n docParams = null;\n });\n return workerHandlerName;\n },\n initializeFromPort: function initializeFromPort(port) {\n var handler = new _message_handler.MessageHandler(\"worker\", \"main\", port);\n WorkerMessageHandler.setup(handler, port);\n handler.send(\"ready\", null);\n }\n };\n exports.WorkerMessageHandler = WorkerMessageHandler;\n\n function isMessagePort(maybePort) {\n return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n }\n\n if (typeof window === \"undefined\" && !_is_node.isNodeJS && typeof self !== \"undefined\" && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.arrayByteLength = arrayByteLength;\n exports.arraysToBytes = arraysToBytes;\n exports.assert = assert;\n exports.bytesToString = bytesToString;\n exports.createPromiseCapability = createPromiseCapability;\n exports.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isArrayEqual = isArrayEqual;\n exports.isBool = isBool;\n exports.isEmptyObj = isEmptyObj;\n exports.isNum = isNum;\n exports.isString = isString;\n exports.isSameOrigin = isSameOrigin;\n exports.createValidAbsoluteUrl = createValidAbsoluteUrl;\n exports.removeNullCharacters = removeNullCharacters;\n exports.setVerbosityLevel = setVerbosityLevel;\n exports.shadow = shadow;\n exports.string32 = string32;\n exports.stringToBytes = stringToBytes;\n exports.stringToPDFString = stringToPDFString;\n exports.stringToUTF8String = stringToUTF8String;\n exports.utf8StringToString = utf8StringToString;\n exports.warn = warn;\n exports.unreachable = unreachable;\n exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n __w_pdfjs_require__(3);\n\n var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n var NativeImageDecoding = {\n NONE: \"none\",\n DECODE: \"decode\",\n DISPLAY: \"display\"\n };\n exports.NativeImageDecoding = NativeImageDecoding;\n var PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n };\n exports.PermissionFlag = PermissionFlag;\n var TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n };\n exports.TextRenderingMode = TextRenderingMode;\n var ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n exports.ImageKind = ImageKind;\n var AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n };\n exports.AnnotationType = AnnotationType;\n var AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n };\n exports.AnnotationStateModelType = AnnotationStateModelType;\n var AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n };\n exports.AnnotationMarkedState = AnnotationMarkedState;\n var AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n };\n exports.AnnotationReviewState = AnnotationReviewState;\n var AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n };\n exports.AnnotationReplyType = AnnotationReplyType;\n var AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n };\n exports.AnnotationFlag = AnnotationFlag;\n var AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n };\n exports.AnnotationFieldFlag = AnnotationFieldFlag;\n var AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n var StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n };\n exports.StreamType = StreamType;\n var FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n };\n exports.FontType = FontType;\n var VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n };\n exports.VerbosityLevel = VerbosityLevel;\n var CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n exports.CMapCompressionType = CMapCompressionType;\n var OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n };\n exports.OPS = OPS;\n var UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\"\n };\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n var PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n exports.PasswordResponses = PasswordResponses;\n var verbosity = VerbosityLevel.WARNINGS;\n\n function setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n }\n\n function getVerbosityLevel() {\n return verbosity;\n }\n\n function info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n }\n\n function warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n }\n\n function unreachable(msg) {\n throw new Error(msg);\n }\n\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n\n function isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n }\n\n function _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n }\n\n function createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n }\n\n var BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n }();\n\n exports.BaseException = BaseException;\n\n var PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n }(BaseException);\n\n exports.PasswordException = PasswordException;\n\n var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n }(BaseException);\n\n exports.UnknownErrorException = UnknownErrorException;\n\n var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n }(BaseException);\n\n exports.InvalidPDFException = InvalidPDFException;\n\n var MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n }(BaseException);\n\n exports.MissingPDFException = MissingPDFException;\n\n var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n }(BaseException);\n\n exports.UnexpectedResponseException = UnexpectedResponseException;\n\n var FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n }(BaseException);\n\n exports.FormatError = FormatError;\n\n var AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.apply(this, arguments);\n }\n\n return AbortException;\n }(BaseException);\n\n exports.AbortException = AbortException;\n var NullCharactersRegExp = /\\x00/g;\n\n function removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n }\n\n function bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n }\n\n function stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n }\n\n function arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n }\n\n function arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n }\n\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n\n function isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n }\n\n var IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n };\n exports.IsLittleEndianCached = IsLittleEndianCached;\n\n function isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n }\n\n var IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n };\n exports.IsEvalSupportedCached = IsEvalSupportedCached;\n var rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\n var Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n }, {\n key: \"apply3dTransform\",\n value: function apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n }();\n\n exports.Util = Util;\n var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\n function stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n }\n\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n\n function isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n }\n\n function isBool(v) {\n return typeof v === \"boolean\";\n }\n\n function isNum(v) {\n return typeof v === \"number\";\n }\n\n function isString(v) {\n return typeof v === \"string\";\n }\n\n function isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n }\n\n function isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n }\n\n function createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n }\n\n var createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n }();\n\n exports.createObjectURL = createObjectURL;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n ;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.clearPrimitiveCaches = clearPrimitiveCaches;\n exports.isEOF = isEOF;\n exports.isCmd = isCmd;\n exports.isDict = isDict;\n exports.isName = isName;\n exports.isRef = isRef;\n exports.isRefsEqual = isRefsEqual;\n exports.isStream = isStream;\n exports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var EOF = {};\n exports.EOF = EOF;\n\n var Name = function NameClosure() {\n var nameCache = Object.create(null);\n\n function Name(name) {\n this.name = name;\n }\n\n Name.prototype = {};\n\n Name.get = function Name_get(name) {\n var nameValue = nameCache[name];\n return nameValue ? nameValue : nameCache[name] = new Name(name);\n };\n\n Name._clearCache = function () {\n nameCache = Object.create(null);\n };\n\n return Name;\n }();\n\n exports.Name = Name;\n\n var Cmd = function CmdClosure() {\n var cmdCache = Object.create(null);\n\n function Cmd(cmd) {\n this.cmd = cmd;\n }\n\n Cmd.prototype = {};\n\n Cmd.get = function Cmd_get(cmd) {\n var cmdValue = cmdCache[cmd];\n return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n };\n\n Cmd._clearCache = function () {\n cmdCache = Object.create(null);\n };\n\n return Cmd;\n }();\n\n exports.Cmd = Cmd;\n\n var Dict = function DictClosure() {\n var nonSerializable = function nonSerializableClosure() {\n return nonSerializable;\n };\n\n function Dict(xref) {\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable;\n }\n\n Dict.prototype = {\n assignXref: function Dict_assignXref(newXref) {\n this.xref = newXref;\n },\n get: function get(key1, key2, key3) {\n var value = this._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n\n if (value === undefined && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n\n if (value instanceof Ref && this.xref) {\n return this.xref.fetch(value, this.suppressEncryption);\n }\n\n return value;\n },\n getAsync: function getAsync(key1, key2, key3) {\n var _this4 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var value;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n value = _this4._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = _this4._map[key2];\n\n if (value === undefined && key3 !== undefined) {\n value = _this4._map[key3];\n }\n }\n\n if (!(value instanceof Ref && _this4.xref)) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", _this4.xref.fetchAsync(value, _this4.suppressEncryption));\n\n case 4:\n return _context2.abrupt(\"return\", value);\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n getArray: function getArray(key1, key2, key3) {\n var value = this.get(key1, key2, key3);\n\n if (!Array.isArray(value) || !this.xref) {\n return value;\n }\n\n value = value.slice();\n\n for (var i = 0, ii = value.length; i < ii; i++) {\n if (!(value[i] instanceof Ref)) {\n continue;\n }\n\n value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n }\n\n return value;\n },\n getRaw: function Dict_getRaw(key) {\n return this._map[key];\n },\n getKeys: function Dict_getKeys() {\n return Object.keys(this._map);\n },\n set: function Dict_set(key, value) {\n this._map[key] = value;\n },\n has: function Dict_has(key) {\n return this._map[key] !== undefined;\n },\n forEach: function Dict_forEach(callback) {\n for (var key in this._map) {\n callback(key, this.get(key));\n }\n }\n };\n Dict.empty = new Dict(null);\n\n Dict.merge = function (xref, dictArray) {\n var mergedDict = new Dict(xref);\n\n for (var i = 0, ii = dictArray.length; i < ii; i++) {\n var dict = dictArray[i];\n\n if (!isDict(dict)) {\n continue;\n }\n\n for (var keyName in dict._map) {\n if (mergedDict._map[keyName] !== undefined) {\n continue;\n }\n\n mergedDict._map[keyName] = dict._map[keyName];\n }\n }\n\n return mergedDict;\n };\n\n return Dict;\n }();\n\n exports.Dict = Dict;\n\n var Ref = function RefClosure() {\n var refCache = Object.create(null);\n\n function Ref(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n\n Ref.prototype = {\n toString: function Ref_toString() {\n if (this.gen === 0) {\n return \"\".concat(this.num, \"R\");\n }\n\n return \"\".concat(this.num, \"R\").concat(this.gen);\n }\n };\n\n Ref.get = function (num, gen) {\n var key = gen === 0 ? \"\".concat(num, \"R\") : \"\".concat(num, \"R\").concat(gen);\n var refValue = refCache[key];\n return refValue ? refValue : refCache[key] = new Ref(num, gen);\n };\n\n Ref._clearCache = function () {\n refCache = Object.create(null);\n };\n\n return Ref;\n }();\n\n exports.Ref = Ref;\n\n var RefSet = function RefSetClosure() {\n function RefSet() {\n this.dict = Object.create(null);\n }\n\n RefSet.prototype = {\n has: function RefSet_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSet_put(ref) {\n this.dict[ref.toString()] = true;\n },\n remove: function RefSet_remove(ref) {\n delete this.dict[ref.toString()];\n }\n };\n return RefSet;\n }();\n\n exports.RefSet = RefSet;\n\n var RefSetCache = function RefSetCacheClosure() {\n function RefSetCache() {\n this.dict = Object.create(null);\n }\n\n RefSetCache.prototype = {\n get: function RefSetCache_get(ref) {\n return this.dict[ref.toString()];\n },\n has: function RefSetCache_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSetCache_put(ref, obj) {\n this.dict[ref.toString()] = obj;\n },\n putAlias: function RefSetCache_putAlias(ref, aliasRef) {\n this.dict[ref.toString()] = this.get(aliasRef);\n },\n forEach: function RefSetCache_forEach(callback) {\n for (var i in this.dict) {\n callback(this.dict[i]);\n }\n },\n clear: function RefSetCache_clear() {\n this.dict = Object.create(null);\n }\n };\n return RefSetCache;\n }();\n\n exports.RefSetCache = RefSetCache;\n\n function isEOF(v) {\n return v === EOF;\n }\n\n function isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n }\n\n function isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n }\n\n function isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type));\n }\n\n function isRef(v) {\n return v instanceof Ref;\n }\n\n function isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n }\n\n function isStream(v) {\n return typeof v === \"object\" && v !== null && v.getBytes !== undefined;\n }\n\n function clearPrimitiveCaches() {\n Cmd._clearCache();\n\n Name._clearCache();\n\n Ref._clearCache();\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _chunked_stream = __w_pdfjs_require__(6);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _document = __w_pdfjs_require__(8);\n\n var _stream = __w_pdfjs_require__(11);\n\n var BasePdfManager = /*#__PURE__*/function () {\n function BasePdfManager() {\n _classCallCheck(this, BasePdfManager);\n\n if (this.constructor === BasePdfManager) {\n (0, _util.unreachable)(\"Cannot initialize BasePdfManager.\");\n }\n }\n\n _createClass(BasePdfManager, [{\n key: \"docId\",\n get: function get() {\n return this._docId;\n }\n }, {\n key: \"password\",\n get: function get() {\n return this._password;\n }\n }, {\n key: \"docBaseUrl\",\n get: function get() {\n var docBaseUrl = null;\n\n if (this._docBaseUrl) {\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n\n if (absoluteUrl) {\n docBaseUrl = absoluteUrl.href;\n } else {\n (0, _util.warn)(\"Invalid absolute docBaseUrl: \\\"\".concat(this._docBaseUrl, \"\\\".\"));\n }\n }\n\n return (0, _util.shadow)(this, \"docBaseUrl\", docBaseUrl);\n }\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n (0, _util.unreachable)(\"Abstract method `onLoadedStream` called\");\n }\n }, {\n key: \"ensureDoc\",\n value: function ensureDoc(prop, args) {\n return this.ensure(this.pdfDocument, prop, args);\n }\n }, {\n key: \"ensureXRef\",\n value: function ensureXRef(prop, args) {\n return this.ensure(this.pdfDocument.xref, prop, args);\n }\n }, {\n key: \"ensureCatalog\",\n value: function ensureCatalog(prop, args) {\n return this.ensure(this.pdfDocument.catalog, prop, args);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n return this.pdfDocument.getPage(pageIndex);\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.pdfDocument.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this.pdfDocument.cleanup();\n }\n }, {\n key: \"ensure\",\n value: function () {\n var _ensure = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(obj, prop, args) {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n (0, _util.unreachable)(\"Abstract method `ensure` called\");\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n function ensure(_x2, _x3, _x4) {\n return _ensure.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method `requestRange` called\");\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n (0, _util.unreachable)(\"Abstract method `requestLoadedStream` called\");\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n (0, _util.unreachable)(\"Abstract method `sendProgressiveData` called\");\n }\n }, {\n key: \"updatePassword\",\n value: function updatePassword(password) {\n this._password = password;\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {\n (0, _util.unreachable)(\"Abstract method `terminate` called\");\n }\n }]);\n\n return BasePdfManager;\n }();\n\n var LocalPdfManager = /*#__PURE__*/function (_BasePdfManager) {\n _inherits(LocalPdfManager, _BasePdfManager);\n\n var _super8 = _createSuper(LocalPdfManager);\n\n function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n var _this5;\n\n _classCallCheck(this, LocalPdfManager);\n\n _this5 = _super8.call(this);\n _this5._docId = docId;\n _this5._password = password;\n _this5._docBaseUrl = docBaseUrl;\n _this5.evaluatorOptions = evaluatorOptions;\n var stream = new _stream.Stream(data);\n _this5.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this5), stream);\n _this5._loadedStreamPromise = Promise.resolve(stream);\n return _this5;\n }\n\n _createClass(LocalPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(obj, prop, args) {\n var value;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n value = obj[prop];\n\n if (!(typeof value === \"function\")) {\n _context4.next = 3;\n break;\n }\n\n return _context4.abrupt(\"return\", value.apply(obj, args));\n\n case 3:\n return _context4.abrupt(\"return\", value);\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function ensure(_x5, _x6, _x7) {\n return _ensure2.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return Promise.resolve();\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {}\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamPromise;\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {}\n }]);\n\n return LocalPdfManager;\n }(BasePdfManager);\n\n exports.LocalPdfManager = LocalPdfManager;\n\n var NetworkPdfManager = /*#__PURE__*/function (_BasePdfManager2) {\n _inherits(NetworkPdfManager, _BasePdfManager2);\n\n var _super9 = _createSuper(NetworkPdfManager);\n\n function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n var _this6;\n\n _classCallCheck(this, NetworkPdfManager);\n\n _this6 = _super9.call(this);\n _this6._docId = docId;\n _this6._password = args.password;\n _this6._docBaseUrl = docBaseUrl;\n _this6.msgHandler = args.msgHandler;\n _this6.evaluatorOptions = evaluatorOptions;\n _this6.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {\n msgHandler: args.msgHandler,\n length: args.length,\n disableAutoFetch: args.disableAutoFetch,\n rangeChunkSize: args.rangeChunkSize\n });\n _this6.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this6), _this6.streamManager.getStream());\n return _this6;\n }\n\n _createClass(NetworkPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(obj, prop, args) {\n var value;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.prev = 0;\n value = obj[prop];\n\n if (!(typeof value === \"function\")) {\n _context5.next = 4;\n break;\n }\n\n return _context5.abrupt(\"return\", value.apply(obj, args));\n\n case 4:\n return _context5.abrupt(\"return\", value);\n\n case 7:\n _context5.prev = 7;\n _context5.t0 = _context5[\"catch\"](0);\n\n if (_context5.t0 instanceof _core_utils.MissingDataException) {\n _context5.next = 11;\n break;\n }\n\n throw _context5.t0;\n\n case 11:\n _context5.next = 13;\n return this.requestRange(_context5.t0.begin, _context5.t0.end);\n\n case 13:\n return _context5.abrupt(\"return\", this.ensure(obj, prop, args));\n\n case 14:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this, [[0, 7]]);\n }));\n\n function ensure(_x8, _x9, _x10) {\n return _ensure3.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return this.streamManager.requestRange(begin, end);\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n this.streamManager.requestAllChunks();\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n this.streamManager.onReceiveData({\n chunk: chunk\n });\n }\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this.streamManager.onLoadedStream();\n }\n }, {\n key: \"terminate\",\n value: function terminate(reason) {\n this.streamManager.abort(reason);\n }\n }]);\n\n return NetworkPdfManager;\n }(BasePdfManager);\n\n exports.NetworkPdfManager = NetworkPdfManager;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var ChunkedStream = /*#__PURE__*/function () {\n function ChunkedStream(length, chunkSize, manager) {\n _classCallCheck(this, ChunkedStream);\n\n this.bytes = new Uint8Array(length);\n this.start = 0;\n this.pos = 0;\n this.end = length;\n this.chunkSize = chunkSize;\n this.loadedChunks = [];\n this.numChunksLoaded = 0;\n this.numChunks = Math.ceil(length / chunkSize);\n this.manager = manager;\n this.progressiveDataLength = 0;\n this.lastSuccessfulEnsureByteChunk = -1;\n }\n\n _createClass(ChunkedStream, [{\n key: \"getMissingChunks\",\n value: function getMissingChunks() {\n var chunks = [];\n\n for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n chunks.push(chunk);\n }\n }\n\n return chunks;\n }\n }, {\n key: \"getBaseStreams\",\n value: function getBaseStreams() {\n return [this];\n }\n }, {\n key: \"allChunksLoaded\",\n value: function allChunksLoaded() {\n return this.numChunksLoaded === this.numChunks;\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(begin, chunk) {\n var chunkSize = this.chunkSize;\n\n if (begin % chunkSize !== 0) {\n throw new Error(\"Bad begin offset: \".concat(begin));\n }\n\n var end = begin + chunk.byteLength;\n\n if (end % chunkSize !== 0 && end !== this.bytes.length) {\n throw new Error(\"Bad end offset: \".concat(end));\n }\n\n this.bytes.set(new Uint8Array(chunk), begin);\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n }, {\n key: \"onReceiveProgressiveData\",\n value: function onReceiveProgressiveData(data) {\n var position = this.progressiveDataLength;\n var beginChunk = Math.floor(position / this.chunkSize);\n this.bytes.set(new Uint8Array(data), position);\n position += data.byteLength;\n this.progressiveDataLength = position;\n var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n }, {\n key: \"ensureByte\",\n value: function ensureByte(pos) {\n if (pos < this.progressiveDataLength) {\n return;\n }\n\n var chunk = Math.floor(pos / this.chunkSize);\n\n if (chunk === this.lastSuccessfulEnsureByteChunk) {\n return;\n }\n\n if (!this.loadedChunks[chunk]) {\n throw new _core_utils.MissingDataException(pos, pos + 1);\n }\n\n this.lastSuccessfulEnsureByteChunk = chunk;\n }\n }, {\n key: \"ensureRange\",\n value: function ensureRange(begin, end) {\n if (begin >= end) {\n return;\n }\n\n if (end <= this.progressiveDataLength) {\n return;\n }\n\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n throw new _core_utils.MissingDataException(begin, end);\n }\n }\n }\n }, {\n key: \"nextEmptyChunk\",\n value: function nextEmptyChunk(beginChunk) {\n var numChunks = this.numChunks;\n\n for (var i = 0; i < numChunks; ++i) {\n var chunk = (beginChunk + i) % numChunks;\n\n if (!this.loadedChunks[chunk]) {\n return chunk;\n }\n }\n\n return null;\n }\n }, {\n key: \"hasChunk\",\n value: function hasChunk(chunk) {\n return !!this.loadedChunks[chunk];\n }\n }, {\n key: \"length\",\n get: function get() {\n return this.end - this.start;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return this.length === 0;\n }\n }, {\n key: \"getByte\",\n value: function getByte() {\n var pos = this.pos;\n\n if (pos >= this.end) {\n return -1;\n }\n\n if (pos >= this.progressiveDataLength) {\n this.ensureByte(pos);\n }\n\n return this.bytes[this.pos++];\n }\n }, {\n key: \"getUint16\",\n value: function getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n }\n }, {\n key: \"getInt32\",\n value: function getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n }, {\n key: \"getBytes\",\n value: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n if (strEnd > this.progressiveDataLength) {\n this.ensureRange(pos, strEnd);\n }\n\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(pos, end);\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n }, {\n key: \"peekByte\",\n value: function peekByte() {\n var peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n }\n }, {\n key: \"peekBytes\",\n value: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n }\n }, {\n key: \"getByteRange\",\n value: function getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(begin, end);\n }\n\n return this.bytes.subarray(begin, end);\n }\n }, {\n key: \"skip\",\n value: function skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.pos = this.start;\n }\n }, {\n key: \"moveStart\",\n value: function moveStart() {\n this.start = this.pos;\n }\n }, {\n key: \"makeSubStream\",\n value: function makeSubStream(start, length, dict) {\n if (length) {\n if (start + length > this.progressiveDataLength) {\n this.ensureRange(start, start + length);\n }\n } else {\n if (start >= this.progressiveDataLength) {\n this.ensureByte(start);\n }\n }\n\n function ChunkedStreamSubstream() {}\n\n ChunkedStreamSubstream.prototype = Object.create(this);\n\n ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(this.start / chunkSize);\n var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n var missingChunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n missingChunks.push(chunk);\n }\n }\n\n return missingChunks;\n };\n\n ChunkedStreamSubstream.prototype.allChunksLoaded = function () {\n if (this.numChunksLoaded === this.numChunks) {\n return true;\n }\n\n return this.getMissingChunks().length === 0;\n };\n\n var subStream = new ChunkedStreamSubstream();\n subStream.pos = subStream.start = start;\n subStream.end = start + length || this.end;\n subStream.dict = dict;\n return subStream;\n }\n }]);\n\n return ChunkedStream;\n }();\n\n exports.ChunkedStream = ChunkedStream;\n\n var ChunkedStreamManager = /*#__PURE__*/function () {\n function ChunkedStreamManager(pdfNetworkStream, args) {\n _classCallCheck(this, ChunkedStreamManager);\n\n this.length = args.length;\n this.chunkSize = args.rangeChunkSize;\n this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n this.pdfNetworkStream = pdfNetworkStream;\n this.disableAutoFetch = args.disableAutoFetch;\n this.msgHandler = args.msgHandler;\n this.currRequestId = 0;\n this.chunksNeededByRequest = Object.create(null);\n this.requestsByChunk = Object.create(null);\n this.promisesByRequest = Object.create(null);\n this.progressiveDataLength = 0;\n this.aborted = false;\n this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(ChunkedStreamManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"sendRequest\",\n value: function sendRequest(begin, end) {\n var _this7 = this;\n\n var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n\n if (!rangeReader.isStreamingSupported) {\n rangeReader.onProgress = this.onProgress.bind(this);\n }\n\n var chunks = [],\n loaded = 0;\n var promise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n if (!chunk.done) {\n var data = chunk.value;\n chunks.push(data);\n loaded += (0, _util.arrayByteLength)(data);\n\n if (rangeReader.isStreamingSupported) {\n _this7.onProgress({\n loaded: loaded\n });\n }\n\n rangeReader.read().then(readChunk, reject);\n return;\n }\n\n var chunkData = (0, _util.arraysToBytes)(chunks);\n chunks = null;\n resolve(chunkData);\n } catch (e) {\n reject(e);\n }\n };\n\n rangeReader.read().then(readChunk, reject);\n });\n promise.then(function (data) {\n if (_this7.aborted) {\n return;\n }\n\n _this7.onReceiveData({\n chunk: data,\n begin: begin\n });\n });\n }\n }, {\n key: \"requestAllChunks\",\n value: function requestAllChunks() {\n var missingChunks = this.stream.getMissingChunks();\n\n this._requestChunks(missingChunks);\n\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"_requestChunks\",\n value: function _requestChunks(chunks) {\n var requestId = this.currRequestId++;\n var chunksNeeded = Object.create(null);\n this.chunksNeededByRequest[requestId] = chunksNeeded;\n\n var _iterator = _createForOfIteratorHelper(chunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _chunk = _step.value;\n\n if (!this.stream.hasChunk(_chunk)) {\n chunksNeeded[_chunk] = true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if ((0, _util.isEmptyObj)(chunksNeeded)) {\n return Promise.resolve();\n }\n\n var capability = (0, _util.createPromiseCapability)();\n this.promisesByRequest[requestId] = capability;\n var chunksToRequest = [];\n\n for (var chunk in chunksNeeded) {\n chunk = chunk | 0;\n\n if (!(chunk in this.requestsByChunk)) {\n this.requestsByChunk[chunk] = [];\n chunksToRequest.push(chunk);\n }\n\n this.requestsByChunk[chunk].push(requestId);\n }\n\n if (!chunksToRequest.length) {\n return capability.promise;\n }\n\n var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n\n var _iterator2 = _createForOfIteratorHelper(groupedChunksToRequest),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var groupedChunk = _step2.value;\n var begin = groupedChunk.beginChunk * this.chunkSize;\n var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n this.sendRequest(begin, end);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return capability.promise;\n }\n }, {\n key: \"getStream\",\n value: function getStream() {\n return this.stream;\n }\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n end = Math.min(end, this.length);\n var beginChunk = this.getBeginChunk(begin);\n var endChunk = this.getEndChunk(end);\n var chunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n chunks.push(chunk);\n }\n\n return this._requestChunks(chunks);\n }\n }, {\n key: \"requestRanges\",\n value: function requestRanges() {\n var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var chunksToRequest = [];\n\n var _iterator3 = _createForOfIteratorHelper(ranges),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var range = _step3.value;\n var beginChunk = this.getBeginChunk(range.begin);\n var endChunk = this.getEndChunk(range.end);\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!chunksToRequest.includes(chunk)) {\n chunksToRequest.push(chunk);\n }\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n chunksToRequest.sort(function (a, b) {\n return a - b;\n });\n return this._requestChunks(chunksToRequest);\n }\n }, {\n key: \"groupChunks\",\n value: function groupChunks(chunks) {\n var groupedChunks = [];\n var beginChunk = -1;\n var prevChunk = -1;\n\n for (var i = 0, ii = chunks.length; i < ii; ++i) {\n var chunk = chunks[i];\n\n if (beginChunk < 0) {\n beginChunk = chunk;\n }\n\n if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: prevChunk + 1\n });\n beginChunk = chunk;\n }\n\n if (i + 1 === chunks.length) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: chunk + 1\n });\n }\n\n prevChunk = chunk;\n }\n\n return groupedChunks;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(args) {\n this.msgHandler.send(\"DocProgress\", {\n loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n total: this.length\n });\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(args) {\n var chunk = args.chunk;\n var isProgressive = args.begin === undefined;\n var begin = isProgressive ? this.progressiveDataLength : args.begin;\n var end = begin + chunk.byteLength;\n var beginChunk = Math.floor(begin / this.chunkSize);\n var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n\n if (isProgressive) {\n this.stream.onReceiveProgressiveData(chunk);\n this.progressiveDataLength = end;\n } else {\n this.stream.onReceiveData(begin, chunk);\n }\n\n if (this.stream.allChunksLoaded()) {\n this._loadedStreamCapability.resolve(this.stream);\n }\n\n var loadedRequests = [];\n\n for (var _chunk2 = beginChunk; _chunk2 < endChunk; ++_chunk2) {\n var requestIds = this.requestsByChunk[_chunk2] || [];\n delete this.requestsByChunk[_chunk2];\n\n var _iterator4 = _createForOfIteratorHelper(requestIds),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var requestId = _step4.value;\n var chunksNeeded = this.chunksNeededByRequest[requestId];\n\n if (_chunk2 in chunksNeeded) {\n delete chunksNeeded[_chunk2];\n }\n\n if (!(0, _util.isEmptyObj)(chunksNeeded)) {\n continue;\n }\n\n loadedRequests.push(requestId);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {\n var nextEmptyChunk;\n\n if (this.stream.numChunksLoaded === 1) {\n var lastChunk = this.stream.numChunks - 1;\n\n if (!this.stream.hasChunk(lastChunk)) {\n nextEmptyChunk = lastChunk;\n }\n } else {\n nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n }\n\n if (Number.isInteger(nextEmptyChunk)) {\n this._requestChunks([nextEmptyChunk]);\n }\n }\n\n for (var _i4 = 0, _loadedRequests = loadedRequests; _i4 < _loadedRequests.length; _i4++) {\n var _requestId = _loadedRequests[_i4];\n var capability = this.promisesByRequest[_requestId];\n delete this.promisesByRequest[_requestId];\n capability.resolve();\n }\n\n this.msgHandler.send(\"DocProgress\", {\n loaded: this.stream.numChunksLoaded * this.chunkSize,\n total: this.length\n });\n }\n }, {\n key: \"onError\",\n value: function onError(err) {\n this._loadedStreamCapability.reject(err);\n }\n }, {\n key: \"getBeginChunk\",\n value: function getBeginChunk(begin) {\n return Math.floor(begin / this.chunkSize);\n }\n }, {\n key: \"getEndChunk\",\n value: function getEndChunk(end) {\n return Math.floor((end - 1) / this.chunkSize) + 1;\n }\n }, {\n key: \"abort\",\n value: function abort(reason) {\n this.aborted = true;\n\n if (this.pdfNetworkStream) {\n this.pdfNetworkStream.cancelAllRequests(reason);\n }\n\n for (var requestId in this.promisesByRequest) {\n this.promisesByRequest[requestId].reject(reason);\n }\n }\n }]);\n\n return ChunkedStreamManager;\n }();\n\n exports.ChunkedStreamManager = ChunkedStreamManager;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getLookupTableFactory = getLookupTableFactory;\n exports.getInheritableProperty = getInheritableProperty;\n exports.toRomanNumerals = toRomanNumerals;\n exports.log2 = log2;\n exports.readInt8 = readInt8;\n exports.readUint16 = readUint16;\n exports.readUint32 = readUint32;\n exports.isWhiteSpace = isWhiteSpace;\n exports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n function getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\n }\n\n var MissingDataException = /*#__PURE__*/function (_util$BaseException) {\n _inherits(MissingDataException, _util$BaseException);\n\n var _super10 = _createSuper(MissingDataException);\n\n function MissingDataException(begin, end) {\n var _this8;\n\n _classCallCheck(this, MissingDataException);\n\n _this8 = _super10.call(this, \"Missing data [\".concat(begin, \", \").concat(end, \")\"));\n _this8.begin = begin;\n _this8.end = end;\n return _this8;\n }\n\n return MissingDataException;\n }(_util.BaseException);\n\n exports.MissingDataException = MissingDataException;\n\n var XRefEntryException = /*#__PURE__*/function (_util$BaseException2) {\n _inherits(XRefEntryException, _util$BaseException2);\n\n var _super11 = _createSuper(XRefEntryException);\n\n function XRefEntryException() {\n _classCallCheck(this, XRefEntryException);\n\n return _super11.apply(this, arguments);\n }\n\n return XRefEntryException;\n }(_util.BaseException);\n\n exports.XRefEntryException = XRefEntryException;\n\n var XRefParseException = /*#__PURE__*/function (_util$BaseException3) {\n _inherits(XRefParseException, _util$BaseException3);\n\n var _super12 = _createSuper(XRefParseException);\n\n function XRefParseException() {\n _classCallCheck(this, XRefParseException);\n\n return _super12.apply(this, arguments);\n }\n\n return XRefParseException;\n }(_util.BaseException);\n\n exports.XRefParseException = XRefParseException;\n\n function getInheritableProperty(_ref4) {\n var dict = _ref4.dict,\n key = _ref4.key,\n _ref4$getArray = _ref4.getArray,\n getArray = _ref4$getArray === void 0 ? false : _ref4$getArray,\n _ref4$stopWhenFound = _ref4.stopWhenFound,\n stopWhenFound = _ref4$stopWhenFound === void 0 ? true : _ref4$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n (0, _util.warn)(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get(\"Parent\");\n }\n\n return values;\n }\n\n var ROMAN_NUMBER_MAP = [\"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\", \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\", \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"];\n\n function toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(Number.isInteger(number) && number > 0, \"The number should be a positive integer.\");\n var romanBuf = [];\n var pos;\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push(\"M\");\n }\n\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join(\"\");\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n }\n\n function log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n }\n\n function readInt8(data, offset) {\n return data[offset] << 24 >> 24;\n }\n\n function readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n }\n\n function isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFDocument = exports.Page = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _obj = __w_pdfjs_require__(9);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _stream = __w_pdfjs_require__(11);\n\n var _annotation = __w_pdfjs_require__(23);\n\n var _crypto = __w_pdfjs_require__(21);\n\n var _parser = __w_pdfjs_require__(10);\n\n var _operator_list = __w_pdfjs_require__(24);\n\n var _evaluator = __w_pdfjs_require__(25);\n\n var _function = __w_pdfjs_require__(39);\n\n var DEFAULT_USER_UNIT = 1.0;\n var LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\n function isAnnotationRenderable(annotation, intent) {\n return intent === \"display\" && annotation.viewable || intent === \"print\" && annotation.printable;\n }\n\n var Page = /*#__PURE__*/function () {\n function Page(_ref5) {\n var pdfManager = _ref5.pdfManager,\n xref = _ref5.xref,\n pageIndex = _ref5.pageIndex,\n pageDict = _ref5.pageDict,\n ref = _ref5.ref,\n fontCache = _ref5.fontCache,\n builtInCMapCache = _ref5.builtInCMapCache,\n pdfFunctionFactory = _ref5.pdfFunctionFactory;\n\n _classCallCheck(this, Page);\n\n this.pdfManager = pdfManager;\n this.pageIndex = pageIndex;\n this.pageDict = pageDict;\n this.xref = xref;\n this.ref = ref;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n var idCounters = {\n obj: 0\n };\n this.idFactory = {\n createObjId: function createObjId() {\n return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n },\n getDocId: function getDocId() {\n return \"g_\".concat(pdfManager.docId);\n }\n };\n }\n\n _createClass(Page, [{\n key: \"_getInheritableProperty\",\n value: function _getInheritableProperty(key) {\n var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var value = (0, _core_utils.getInheritableProperty)({\n dict: this.pageDict,\n key: key,\n getArray: getArray,\n stopWhenFound: false\n });\n\n if (!Array.isArray(value)) {\n return value;\n }\n\n if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {\n return value[0];\n }\n\n return _primitives.Dict.merge(this.xref, value);\n }\n }, {\n key: \"content\",\n get: function get() {\n return this.pageDict.get(\"Contents\");\n }\n }, {\n key: \"resources\",\n get: function get() {\n return (0, _util.shadow)(this, \"resources\", this._getInheritableProperty(\"Resources\") || _primitives.Dict.empty);\n }\n }, {\n key: \"_getBoundingBox\",\n value: function _getBoundingBox(name) {\n var box = this._getInheritableProperty(name, true);\n\n if (Array.isArray(box) && box.length === 4) {\n if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n return box;\n }\n\n (0, _util.warn)(\"Empty /\".concat(name, \" entry.\"));\n }\n\n return null;\n }\n }, {\n key: \"mediaBox\",\n get: function get() {\n return (0, _util.shadow)(this, \"mediaBox\", this._getBoundingBox(\"MediaBox\") || LETTER_SIZE_MEDIABOX);\n }\n }, {\n key: \"cropBox\",\n get: function get() {\n return (0, _util.shadow)(this, \"cropBox\", this._getBoundingBox(\"CropBox\") || this.mediaBox);\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n var obj = this.pageDict.get(\"UserUnit\");\n\n if (!(0, _util.isNum)(obj) || obj <= 0) {\n obj = DEFAULT_USER_UNIT;\n }\n\n return (0, _util.shadow)(this, \"userUnit\", obj);\n }\n }, {\n key: \"view\",\n get: function get() {\n var cropBox = this.cropBox,\n mediaBox = this.mediaBox;\n var view;\n\n if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {\n view = mediaBox;\n } else {\n var box = _util.Util.intersect(cropBox, mediaBox);\n\n if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n view = box;\n } else {\n (0, _util.warn)(\"Empty /CropBox and /MediaBox intersection.\");\n }\n }\n\n return (0, _util.shadow)(this, \"view\", view || mediaBox);\n }\n }, {\n key: \"rotate\",\n get: function get() {\n var rotate = this._getInheritableProperty(\"Rotate\") || 0;\n\n if (rotate % 90 !== 0) {\n rotate = 0;\n } else if (rotate >= 360) {\n rotate = rotate % 360;\n } else if (rotate < 0) {\n rotate = (rotate % 360 + 360) % 360;\n }\n\n return (0, _util.shadow)(this, \"rotate\", rotate);\n }\n }, {\n key: \"getContentStream\",\n value: function getContentStream() {\n var content = this.content;\n var stream;\n\n if (Array.isArray(content)) {\n var xref = this.xref;\n var streams = [];\n\n var _iterator5 = _createForOfIteratorHelper(content),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _stream2 = _step5.value;\n streams.push(xref.fetchIfRef(_stream2));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n stream = new _stream.StreamsSequenceStream(streams);\n } else if ((0, _primitives.isStream)(content)) {\n stream = content;\n } else {\n stream = new _stream.NullStream();\n }\n\n return stream;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n var _this9 = this;\n\n if (!this.resourcesPromise) {\n this.resourcesPromise = this.pdfManager.ensure(this, \"resources\");\n }\n\n return this.resourcesPromise.then(function () {\n var objectLoader = new _obj.ObjectLoader(_this9.resources, keys, _this9.xref);\n return objectLoader.load();\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(_ref6) {\n var _this10 = this;\n\n var handler = _ref6.handler,\n sink = _ref6.sink,\n task = _ref6.task,\n intent = _ref6.intent,\n renderInteractiveForms = _ref6.renderInteractiveForms;\n var contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n var resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler: handler,\n pageIndex: this.pageIndex,\n idFactory: this.idFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n options: this.evaluatorOptions,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n var pageListPromise = dataPromises.then(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 1),\n contentStream = _ref8[0];\n\n var opList = new _operator_list.OperatorList(intent, sink, _this10.pageIndex);\n handler.send(\"StartRenderPage\", {\n transparency: partialEvaluator.hasBlendModes(_this10.resources),\n pageIndex: _this10.pageIndex,\n intent: intent\n });\n return partialEvaluator.getOperatorList({\n stream: contentStream,\n task: task,\n resources: _this10.resources,\n operatorList: opList\n }).then(function () {\n return opList;\n });\n });\n return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n pageOpList = _ref10[0],\n annotations = _ref10[1];\n\n if (annotations.length === 0) {\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n }\n\n var opListPromises = [];\n\n var _iterator6 = _createForOfIteratorHelper(annotations),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var annotation = _step6.value;\n\n if (isAnnotationRenderable(annotation, intent)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms));\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return Promise.all(opListPromises).then(function (opLists) {\n pageOpList.addOp(_util.OPS.beginAnnotations, []);\n\n var _iterator7 = _createForOfIteratorHelper(opLists),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var opList = _step7.value;\n pageOpList.addOpList(opList);\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n pageOpList.addOp(_util.OPS.endAnnotations, []);\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\n });\n });\n }\n }, {\n key: \"extractTextContent\",\n value: function extractTextContent(_ref11) {\n var _this11 = this;\n\n var handler = _ref11.handler,\n task = _ref11.task,\n normalizeWhitespace = _ref11.normalizeWhitespace,\n sink = _ref11.sink,\n combineTextItems = _ref11.combineTextItems;\n var contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n var resourcesPromise = this.loadResources([\"ExtGState\", \"XObject\", \"Font\"]);\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n return dataPromises.then(function (_ref12) {\n var _ref13 = _slicedToArray(_ref12, 1),\n contentStream = _ref13[0];\n\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: _this11.xref,\n handler: handler,\n pageIndex: _this11.pageIndex,\n idFactory: _this11.idFactory,\n fontCache: _this11.fontCache,\n builtInCMapCache: _this11.builtInCMapCache,\n options: _this11.evaluatorOptions,\n pdfFunctionFactory: _this11.pdfFunctionFactory\n });\n return partialEvaluator.getTextContent({\n stream: contentStream,\n task: task,\n resources: _this11.resources,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sink\n });\n });\n }\n }, {\n key: \"getAnnotationsData\",\n value: function getAnnotationsData(intent) {\n return this._parsedAnnotations.then(function (annotations) {\n var annotationsData = [];\n\n for (var i = 0, ii = annotations.length; i < ii; i++) {\n if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n annotationsData.push(annotations[i].data);\n }\n }\n\n return annotationsData;\n });\n }\n }, {\n key: \"annotations\",\n get: function get() {\n return (0, _util.shadow)(this, \"annotations\", this._getInheritableProperty(\"Annots\") || []);\n }\n }, {\n key: \"_parsedAnnotations\",\n get: function get() {\n var _this12 = this;\n\n var parsedAnnotations = this.pdfManager.ensure(this, \"annotations\").then(function () {\n var annotationRefs = _this12.annotations;\n var annotationPromises = [];\n\n for (var i = 0, ii = annotationRefs.length; i < ii; i++) {\n annotationPromises.push(_annotation.AnnotationFactory.create(_this12.xref, annotationRefs[i], _this12.pdfManager, _this12.idFactory));\n }\n\n return Promise.all(annotationPromises).then(function (annotations) {\n return annotations.filter(function isDefined(annotation) {\n return !!annotation;\n });\n }, function (reason) {\n (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n return [];\n });\n });\n return (0, _util.shadow)(this, \"_parsedAnnotations\", parsedAnnotations);\n }\n }]);\n\n return Page;\n }();\n\n exports.Page = Page;\n var PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\n var STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\n var ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\n var FINGERPRINT_FIRST_BYTES = 1024;\n var EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\n var PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\n function find(stream, signature) {\n var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1024;\n var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var signatureLength = signature.length;\n var scanBytes = stream.peekBytes(limit);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n return false;\n }\n\n if (backwards) {\n var signatureEnd = signatureLength - 1;\n var pos = scanBytes.length - 1;\n\n while (pos >= signatureEnd) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos - signatureEnd;\n return true;\n }\n\n pos--;\n }\n } else {\n var _pos = 0;\n\n while (_pos <= scanLength) {\n var _j = 0;\n\n while (_j < signatureLength && scanBytes[_pos + _j] === signature[_j]) {\n _j++;\n }\n\n if (_j >= signatureLength) {\n stream.pos += _pos;\n return true;\n }\n\n _pos++;\n }\n }\n\n return false;\n }\n\n var PDFDocument = /*#__PURE__*/function () {\n function PDFDocument(pdfManager, arg) {\n _classCallCheck(this, PDFDocument);\n\n var stream;\n\n if ((0, _primitives.isStream)(arg)) {\n stream = arg;\n } else if ((0, _util.isArrayBuffer)(arg)) {\n stream = new _stream.Stream(arg);\n } else {\n throw new Error(\"PDFDocument: Unknown argument type\");\n }\n\n if (stream.length <= 0) {\n throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");\n }\n\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _obj.XRef(stream, pdfManager);\n this.pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: pdfManager.evaluatorOptions.isEvalSupported\n });\n this._pagePromises = [];\n }\n\n _createClass(PDFDocument, [{\n key: \"parse\",\n value: function parse(recoveryMode) {\n this.setup(recoveryMode);\n var version = this.catalog.catDict.get(\"Version\");\n\n if ((0, _primitives.isName)(version)) {\n this.pdfFormatVersion = version.name;\n }\n\n try {\n this.acroForm = this.catalog.catDict.get(\"AcroForm\");\n\n if (this.acroForm) {\n this.xfa = this.acroForm.get(\"XFA\");\n var fields = this.acroForm.get(\"Fields\");\n\n if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n this.acroForm = null;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch AcroForm entry; assuming no AcroForms are present\");\n this.acroForm = null;\n }\n\n try {\n var collection = this.catalog.catDict.get(\"Collection\");\n\n if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {\n this.collection = collection;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch Collection dictionary.\");\n }\n }\n }, {\n key: \"linearization\",\n get: function get() {\n var linearization = null;\n\n try {\n linearization = _parser.Linearization.create(this.stream);\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(err);\n }\n\n return (0, _util.shadow)(this, \"linearization\", linearization);\n }\n }, {\n key: \"startXRef\",\n get: function get() {\n var stream = this.stream;\n var startXRef = 0;\n\n if (this.linearization) {\n stream.reset();\n\n if (find(stream, ENDOBJ_SIGNATURE)) {\n startXRef = stream.pos + 6 - stream.start;\n }\n } else {\n var step = 1024;\n var startXRefLength = STARTXREF_SIGNATURE.length;\n var found = false,\n pos = stream.end;\n\n while (!found && pos > 0) {\n pos -= step - startXRefLength;\n\n if (pos < 0) {\n pos = 0;\n }\n\n stream.pos = pos;\n found = find(stream, STARTXREF_SIGNATURE, step, true);\n }\n\n if (found) {\n stream.skip(9);\n var ch;\n\n do {\n ch = stream.getByte();\n } while ((0, _core_utils.isWhiteSpace)(ch));\n\n var str = \"\";\n\n while (ch >= 0x20 && ch <= 0x39) {\n str += String.fromCharCode(ch);\n ch = stream.getByte();\n }\n\n startXRef = parseInt(str, 10);\n\n if (isNaN(startXRef)) {\n startXRef = 0;\n }\n }\n }\n\n return (0, _util.shadow)(this, \"startXRef\", startXRef);\n }\n }, {\n key: \"checkHeader\",\n value: function checkHeader() {\n var stream = this.stream;\n stream.reset();\n\n if (!find(stream, PDF_HEADER_SIGNATURE)) {\n return;\n }\n\n stream.moveStart();\n var MAX_PDF_VERSION_LENGTH = 12;\n var version = \"\",\n ch;\n\n while ((ch = stream.getByte()) > 0x20) {\n if (version.length >= MAX_PDF_VERSION_LENGTH) {\n break;\n }\n\n version += String.fromCharCode(ch);\n }\n\n if (!this.pdfFormatVersion) {\n this.pdfFormatVersion = version.substring(5);\n }\n }\n }, {\n key: \"parseStartXRef\",\n value: function parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n }, {\n key: \"setup\",\n value: function setup(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var linearization = this.linearization;\n var num = linearization ? linearization.numPages : this.catalog.numPages;\n return (0, _util.shadow)(this, \"numPages\", num);\n }\n }, {\n key: \"documentInfo\",\n get: function get() {\n var DocumentInfoValidators = {\n Title: _util.isString,\n Author: _util.isString,\n Subject: _util.isString,\n Keywords: _util.isString,\n Creator: _util.isString,\n Producer: _util.isString,\n CreationDate: _util.isString,\n ModDate: _util.isString,\n Trapped: _primitives.isName\n };\n var version = this.pdfFormatVersion;\n\n if (typeof version !== \"string\" || !PDF_HEADER_VERSION_REGEXP.test(version)) {\n (0, _util.warn)(\"Invalid PDF header version number: \".concat(version));\n version = null;\n }\n\n var docInfo = {\n PDFFormatVersion: version,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: !!this.acroForm,\n IsXFAPresent: !!this.xfa,\n IsCollectionPresent: !!this.collection\n };\n var infoDict;\n\n try {\n infoDict = this.xref.trailer.get(\"Info\");\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(\"The document information dictionary is invalid.\");\n }\n\n if ((0, _primitives.isDict)(infoDict)) {\n var _iterator8 = _createForOfIteratorHelper(infoDict.getKeys()),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var key = _step8.value;\n var value = infoDict.get(key);\n\n if (DocumentInfoValidators[key]) {\n if (DocumentInfoValidators[key](value)) {\n docInfo[key] = typeof value !== \"string\" ? value : (0, _util.stringToPDFString)(value);\n } else {\n (0, _util.info)(\"Bad value in document info for \\\"\".concat(key, \"\\\".\"));\n }\n } else if (typeof key === \"string\") {\n var customValue = void 0;\n\n if ((0, _util.isString)(value)) {\n customValue = (0, _util.stringToPDFString)(value);\n } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {\n customValue = value;\n } else {\n (0, _util.info)(\"Unsupported value in document info for (custom) \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n if (!docInfo[\"Custom\"]) {\n docInfo[\"Custom\"] = Object.create(null);\n }\n\n docInfo[\"Custom\"][key] = customValue;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n }\n\n return (0, _util.shadow)(this, \"documentInfo\", docInfo);\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n var hash;\n var idArray = this.xref.trailer.get(\"ID\");\n\n if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n hash = (0, _util.stringToBytes)(idArray[0]);\n } else {\n hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n }\n\n var fingerprintBuf = [];\n\n for (var i = 0, ii = hash.length; i < ii; i++) {\n var hex = hash[i].toString(16);\n fingerprintBuf.push(hex.padStart(2, \"0\"));\n }\n\n return (0, _util.shadow)(this, \"fingerprint\", fingerprintBuf.join(\"\"));\n }\n }, {\n key: \"_getLinearizationPage\",\n value: function _getLinearizationPage(pageIndex) {\n var catalog = this.catalog,\n linearization = this.linearization;\n (0, _util.assert)(linearization && linearization.pageFirst === pageIndex);\n\n var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n\n return this.xref.fetchAsync(ref).then(function (obj) {\n if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Type\") && obj.has(\"Contents\")) {\n if (ref && !catalog.pageKidsCountCache.has(ref)) {\n catalog.pageKidsCountCache.put(ref, 1);\n }\n\n return [obj, ref];\n }\n\n throw new _util.FormatError(\"The Linearization dictionary doesn't point \" + \"to a valid Page dictionary.\");\n }).catch(function (reason) {\n (0, _util.info)(reason);\n return catalog.getPageDict(pageIndex);\n });\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n var _this13 = this;\n\n if (this._pagePromises[pageIndex] !== undefined) {\n return this._pagePromises[pageIndex];\n }\n\n var catalog = this.catalog,\n linearization = this.linearization;\n var promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);\n return this._pagePromises[pageIndex] = promise.then(function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n pageDict = _ref15[0],\n ref = _ref15[1];\n\n return new Page({\n pdfManager: _this13.pdfManager,\n xref: _this13.xref,\n pageIndex: pageIndex,\n pageDict: pageDict,\n ref: ref,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n pdfFunctionFactory: _this13.pdfFunctionFactory\n });\n });\n }\n }, {\n key: \"checkFirstPage\",\n value: function checkFirstPage() {\n var _this14 = this;\n\n return this.getPage(0).catch( /*#__PURE__*/function () {\n var _ref16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(reason) {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!(reason instanceof _core_utils.XRefEntryException)) {\n _context6.next = 5;\n break;\n }\n\n _this14._pagePromises.length = 0;\n _context6.next = 4;\n return _this14.cleanup();\n\n case 4:\n throw new _core_utils.XRefParseException();\n\n case 5:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n\n return function (_x11) {\n return _ref16.apply(this, arguments);\n };\n }());\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.catalog.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function () {\n var _cleanup = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n return _context7.abrupt(\"return\", this.catalog ? this.catalog.cleanup() : (0, _primitives.clearPrimitiveCaches)());\n\n case 1:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function cleanup() {\n return _cleanup.apply(this, arguments);\n }\n\n return cleanup;\n }()\n }]);\n\n return PDFDocument;\n }();\n\n exports.PDFDocument = PDFDocument;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _parser = __w_pdfjs_require__(10);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _crypto = __w_pdfjs_require__(21);\n\n var _colorspace = __w_pdfjs_require__(22);\n\n function fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get(\"D\") : dest;\n }\n\n var Catalog = /*#__PURE__*/function () {\n function Catalog(pdfManager, xref) {\n _classCallCheck(this, Catalog);\n\n this.pdfManager = pdfManager;\n this.xref = xref;\n this.catDict = xref.getCatalogObj();\n\n if (!(0, _primitives.isDict)(this.catDict)) {\n throw new _util.FormatError(\"Catalog object is not a dictionary.\");\n }\n\n this.fontCache = new _primitives.RefSetCache();\n this.builtInCMapCache = new Map();\n this.pageKidsCountCache = new _primitives.RefSetCache();\n }\n\n _createClass(Catalog, [{\n key: \"metadata\",\n get: function get() {\n var streamRef = this.catDict.getRaw(\"Metadata\");\n\n if (!(0, _primitives.isRef)(streamRef)) {\n return (0, _util.shadow)(this, \"metadata\", null);\n }\n\n var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);\n var stream = this.xref.fetch(streamRef, suppressEncryption);\n var metadata;\n\n if (stream && (0, _primitives.isDict)(stream.dict)) {\n var type = stream.dict.get(\"Type\");\n var subtype = stream.dict.get(\"Subtype\");\n\n if ((0, _primitives.isName)(type, \"Metadata\") && (0, _primitives.isName)(subtype, \"XML\")) {\n try {\n metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)(\"Skipping invalid metadata.\");\n }\n }\n }\n\n return (0, _util.shadow)(this, \"metadata\", metadata);\n }\n }, {\n key: \"toplevelPagesDict\",\n get: function get() {\n var pagesObj = this.catDict.get(\"Pages\");\n\n if (!(0, _primitives.isDict)(pagesObj)) {\n throw new _util.FormatError(\"Invalid top-level pages dictionary.\");\n }\n\n return (0, _util.shadow)(this, \"toplevelPagesDict\", pagesObj);\n }\n }, {\n key: \"documentOutline\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readDocumentOutline();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read document outline.\");\n }\n\n return (0, _util.shadow)(this, \"documentOutline\", obj);\n }\n }, {\n key: \"_readDocumentOutline\",\n value: function _readDocumentOutline() {\n var obj = this.catDict.get(\"Outlines\");\n\n if (!(0, _primitives.isDict)(obj)) {\n return null;\n }\n\n obj = obj.getRaw(\"First\");\n\n if (!(0, _primitives.isRef)(obj)) {\n return null;\n }\n\n var root = {\n items: []\n };\n var queue = [{\n obj: obj,\n parent: root\n }];\n var processed = new _primitives.RefSet();\n processed.put(obj);\n var xref = this.xref,\n blackColor = new Uint8ClampedArray(3);\n\n while (queue.length > 0) {\n var i = queue.shift();\n var outlineDict = xref.fetchIfRef(i.obj);\n\n if (outlineDict === null) {\n continue;\n }\n\n if (!outlineDict.has(\"Title\")) {\n throw new _util.FormatError(\"Invalid outline item encountered.\");\n }\n\n var data = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: outlineDict,\n resultObj: data,\n docBaseUrl: this.pdfManager.docBaseUrl\n });\n var title = outlineDict.get(\"Title\");\n var flags = outlineDict.get(\"F\") || 0;\n var color = outlineDict.getArray(\"C\");\n var count = outlineDict.get(\"Count\");\n var rgbColor = blackColor;\n\n if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n }\n\n var outlineItem = {\n dest: data.dest,\n url: data.url,\n unsafeUrl: data.unsafeUrl,\n newWindow: data.newWindow,\n title: (0, _util.stringToPDFString)(title),\n color: rgbColor,\n count: Number.isInteger(count) ? count : undefined,\n bold: !!(flags & 2),\n italic: !!(flags & 1),\n items: []\n };\n i.parent.items.push(outlineItem);\n obj = outlineDict.getRaw(\"First\");\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: outlineItem\n });\n processed.put(obj);\n }\n\n obj = outlineDict.getRaw(\"Next\");\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: i.parent\n });\n processed.put(obj);\n }\n }\n\n return root.items.length > 0 ? root.items : null;\n }\n }, {\n key: \"permissions\",\n get: function get() {\n var permissions = null;\n\n try {\n permissions = this._readPermissions();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read permissions.\");\n }\n\n return (0, _util.shadow)(this, \"permissions\", permissions);\n }\n }, {\n key: \"_readPermissions\",\n value: function _readPermissions() {\n var encrypt = this.xref.trailer.get(\"Encrypt\");\n\n if (!(0, _primitives.isDict)(encrypt)) {\n return null;\n }\n\n var flags = encrypt.get(\"P\");\n\n if (!(0, _util.isNum)(flags)) {\n return null;\n }\n\n flags += Math.pow(2, 32);\n var permissions = [];\n\n for (var key in _util.PermissionFlag) {\n var value = _util.PermissionFlag[key];\n\n if (flags & value) {\n permissions.push(value);\n }\n }\n\n return permissions;\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var obj = this.toplevelPagesDict.get(\"Count\");\n\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Page count in top-level pages dictionary is not an integer.\");\n }\n\n return (0, _util.shadow)(this, \"numPages\", obj);\n }\n }, {\n key: \"destinations\",\n get: function get() {\n var obj = this._readDests(),\n dests = Object.create(null);\n\n if (obj instanceof NameTree) {\n var names = obj.getAll();\n\n for (var name in names) {\n dests[name] = fetchDestination(names[name]);\n }\n } else if (obj instanceof _primitives.Dict) {\n obj.forEach(function (key, value) {\n if (value) {\n dests[key] = fetchDestination(value);\n }\n });\n }\n\n return (0, _util.shadow)(this, \"destinations\", dests);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(destinationId) {\n var obj = this._readDests();\n\n if (obj instanceof NameTree || obj instanceof _primitives.Dict) {\n return fetchDestination(obj.get(destinationId) || null);\n }\n\n return null;\n }\n }, {\n key: \"_readDests\",\n value: function _readDests() {\n var obj = this.catDict.get(\"Names\");\n\n if (obj && obj.has(\"Dests\")) {\n return new NameTree(obj.getRaw(\"Dests\"), this.xref);\n } else if (this.catDict.has(\"Dests\")) {\n return this.catDict.get(\"Dests\");\n }\n\n return undefined;\n }\n }, {\n key: \"pageLabels\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readPageLabels();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read page labels.\");\n }\n\n return (0, _util.shadow)(this, \"pageLabels\", obj);\n }\n }, {\n key: \"_readPageLabels\",\n value: function _readPageLabels() {\n var obj = this.catDict.getRaw(\"PageLabels\");\n\n if (!obj) {\n return null;\n }\n\n var pageLabels = new Array(this.numPages);\n var style = null,\n prefix = \"\";\n var numberTree = new NumberTree(obj, this.xref);\n var nums = numberTree.getAll();\n var currentLabel = \"\",\n currentIndex = 1;\n\n for (var i = 0, ii = this.numPages; i < ii; i++) {\n if (i in nums) {\n var labelDict = nums[i];\n\n if (!(0, _primitives.isDict)(labelDict)) {\n throw new _util.FormatError(\"PageLabel is not a dictionary.\");\n }\n\n if (labelDict.has(\"Type\") && !(0, _primitives.isName)(labelDict.get(\"Type\"), \"PageLabel\")) {\n throw new _util.FormatError(\"Invalid type in PageLabel dictionary.\");\n }\n\n if (labelDict.has(\"S\")) {\n var s = labelDict.get(\"S\");\n\n if (!(0, _primitives.isName)(s)) {\n throw new _util.FormatError(\"Invalid style in PageLabel dictionary.\");\n }\n\n style = s.name;\n } else {\n style = null;\n }\n\n if (labelDict.has(\"P\")) {\n var p = labelDict.get(\"P\");\n\n if (!(0, _util.isString)(p)) {\n throw new _util.FormatError(\"Invalid prefix in PageLabel dictionary.\");\n }\n\n prefix = (0, _util.stringToPDFString)(p);\n } else {\n prefix = \"\";\n }\n\n if (labelDict.has(\"St\")) {\n var st = labelDict.get(\"St\");\n\n if (!(Number.isInteger(st) && st >= 1)) {\n throw new _util.FormatError(\"Invalid start in PageLabel dictionary.\");\n }\n\n currentIndex = st;\n } else {\n currentIndex = 1;\n }\n }\n\n switch (style) {\n case \"D\":\n currentLabel = currentIndex;\n break;\n\n case \"R\":\n case \"r\":\n currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === \"r\");\n break;\n\n case \"A\":\n case \"a\":\n var LIMIT = 26;\n var A_UPPER_CASE = 0x41,\n A_LOWER_CASE = 0x61;\n var baseCharCode = style === \"a\" ? A_LOWER_CASE : A_UPPER_CASE;\n var letterIndex = currentIndex - 1;\n var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n var charBuf = [];\n\n for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n charBuf.push(character);\n }\n\n currentLabel = charBuf.join(\"\");\n break;\n\n default:\n if (style) {\n throw new _util.FormatError(\"Invalid style \\\"\".concat(style, \"\\\" in PageLabel dictionary.\"));\n }\n\n currentLabel = \"\";\n }\n\n pageLabels[i] = prefix + currentLabel;\n currentIndex++;\n }\n\n return pageLabels;\n }\n }, {\n key: \"pageLayout\",\n get: function get() {\n var obj = this.catDict.get(\"PageLayout\");\n var pageLayout = \"\";\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case \"SinglePage\":\n case \"OneColumn\":\n case \"TwoColumnLeft\":\n case \"TwoColumnRight\":\n case \"TwoPageLeft\":\n case \"TwoPageRight\":\n pageLayout = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, \"pageLayout\", pageLayout);\n }\n }, {\n key: \"pageMode\",\n get: function get() {\n var obj = this.catDict.get(\"PageMode\");\n var pageMode = \"UseNone\";\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case \"UseNone\":\n case \"UseOutlines\":\n case \"UseThumbs\":\n case \"FullScreen\":\n case \"UseOC\":\n case \"UseAttachments\":\n pageMode = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, \"pageMode\", pageMode);\n }\n }, {\n key: \"viewerPreferences\",\n get: function get() {\n var _this15 = this;\n\n var ViewerPreferencesValidators = {\n HideToolbar: _util.isBool,\n HideMenubar: _util.isBool,\n HideWindowUI: _util.isBool,\n FitWindow: _util.isBool,\n CenterWindow: _util.isBool,\n DisplayDocTitle: _util.isBool,\n NonFullScreenPageMode: _primitives.isName,\n Direction: _primitives.isName,\n ViewArea: _primitives.isName,\n ViewClip: _primitives.isName,\n PrintArea: _primitives.isName,\n PrintClip: _primitives.isName,\n PrintScaling: _primitives.isName,\n Duplex: _primitives.isName,\n PickTrayByPDFSize: _util.isBool,\n PrintPageRange: Array.isArray,\n NumCopies: Number.isInteger\n };\n var obj = this.catDict.get(\"ViewerPreferences\");\n var prefs = Object.create(null);\n\n if ((0, _primitives.isDict)(obj)) {\n for (var key in ViewerPreferencesValidators) {\n if (!obj.has(key)) {\n continue;\n }\n\n var value = obj.get(key);\n\n if (!ViewerPreferencesValidators[key](value)) {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n var prefValue = void 0;\n\n switch (key) {\n case \"NonFullScreenPageMode\":\n switch (value.name) {\n case \"UseNone\":\n case \"UseOutlines\":\n case \"UseThumbs\":\n case \"UseOC\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"UseNone\";\n }\n\n break;\n\n case \"Direction\":\n switch (value.name) {\n case \"L2R\":\n case \"R2L\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"L2R\";\n }\n\n break;\n\n case \"ViewArea\":\n case \"ViewClip\":\n case \"PrintArea\":\n case \"PrintClip\":\n switch (value.name) {\n case \"MediaBox\":\n case \"CropBox\":\n case \"BleedBox\":\n case \"TrimBox\":\n case \"ArtBox\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"CropBox\";\n }\n\n break;\n\n case \"PrintScaling\":\n switch (value.name) {\n case \"None\":\n case \"AppDefault\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"AppDefault\";\n }\n\n break;\n\n case \"Duplex\":\n switch (value.name) {\n case \"Simplex\":\n case \"DuplexFlipShortEdge\":\n case \"DuplexFlipLongEdge\":\n prefValue = value.name;\n break;\n\n default:\n prefValue = \"None\";\n }\n\n break;\n\n case \"PrintPageRange\":\n var length = value.length;\n\n if (length % 2 !== 0) {\n break;\n }\n\n var isValid = value.every(function (page, i, arr) {\n return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= _this15.numPages;\n });\n\n if (isValid) {\n prefValue = value;\n }\n\n break;\n\n case \"NumCopies\":\n if (value > 0) {\n prefValue = value;\n }\n\n break;\n\n default:\n (0, _util.assert)(typeof value === \"boolean\");\n prefValue = value;\n }\n\n if (prefValue !== undefined) {\n prefs[key] = prefValue;\n } else {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n }\n }\n }\n\n return (0, _util.shadow)(this, \"viewerPreferences\", prefs);\n }\n }, {\n key: \"openAction\",\n get: function get() {\n var obj = this.catDict.get(\"OpenAction\");\n var openAction = null;\n\n if ((0, _primitives.isDict)(obj)) {\n var destDict = new _primitives.Dict(this.xref);\n destDict.set(\"A\", obj);\n var resultObj = {\n url: null,\n dest: null,\n action: null\n };\n Catalog.parseDestDictionary({\n destDict: destDict,\n resultObj: resultObj\n });\n\n if (Array.isArray(resultObj.dest)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = resultObj.dest;\n } else if (resultObj.action) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.action = resultObj.action;\n }\n } else if (Array.isArray(obj)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = obj;\n }\n\n return (0, _util.shadow)(this, \"openAction\", openAction);\n }\n }, {\n key: \"attachments\",\n get: function get() {\n var obj = this.catDict.get(\"Names\");\n var attachments = null;\n\n if (obj && obj.has(\"EmbeddedFiles\")) {\n var nameTree = new NameTree(obj.getRaw(\"EmbeddedFiles\"), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var fs = new FileSpec(names[name], this.xref);\n\n if (!attachments) {\n attachments = Object.create(null);\n }\n\n attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n }\n }\n\n return (0, _util.shadow)(this, \"attachments\", attachments);\n }\n }, {\n key: \"javaScript\",\n get: function get() {\n var obj = this.catDict.get(\"Names\");\n var javaScript = null;\n\n function appendIfJavaScriptDict(jsDict) {\n var type = jsDict.get(\"S\");\n\n if (!(0, _primitives.isName)(type, \"JavaScript\")) {\n return;\n }\n\n var js = jsDict.get(\"JS\");\n\n if ((0, _primitives.isStream)(js)) {\n js = (0, _util.bytesToString)(js.getBytes());\n } else if (!(0, _util.isString)(js)) {\n return;\n }\n\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push((0, _util.stringToPDFString)(js));\n }\n\n if (obj && obj.has(\"JavaScript\")) {\n var nameTree = new NameTree(obj.getRaw(\"JavaScript\"), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var jsDict = names[name];\n\n if ((0, _primitives.isDict)(jsDict)) {\n appendIfJavaScriptDict(jsDict);\n }\n }\n }\n\n var openAction = this.catDict.get(\"OpenAction\");\n\n if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get(\"S\"), \"JavaScript\")) {\n appendIfJavaScriptDict(openAction);\n }\n\n return (0, _util.shadow)(this, \"javaScript\", javaScript);\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n var _iterator9 = _createForOfIteratorHelper(translatedFonts),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var translatedFont = _step9.value;\n\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var _this16 = this;\n\n (0, _primitives.clearPrimitiveCaches)();\n this.pageKidsCountCache.clear();\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n var _iterator10 = _createForOfIteratorHelper(translatedFonts),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var dict = _step10.value.dict;\n delete dict.translated;\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n _this16.fontCache.clear();\n\n _this16.builtInCMapCache.clear();\n });\n }\n }, {\n key: \"getPageDict\",\n value: function getPageDict(pageIndex) {\n var capability = (0, _util.createPromiseCapability)();\n var nodesToVisit = [this.catDict.getRaw(\"Pages\")];\n var visitedNodes = new _primitives.RefSet();\n var xref = this.xref,\n pageKidsCountCache = this.pageKidsCountCache;\n var count,\n currentPageIndex = 0;\n\n function next() {\n var _loop = function _loop() {\n var currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n count = pageKidsCountCache.get(currentNode);\n\n if (count > 0 && currentPageIndex + count < pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n\n if (visitedNodes.has(currentNode)) {\n capability.reject(new _util.FormatError(\"Pages tree contains circular reference.\"));\n return {\n v: void 0\n };\n }\n\n visitedNodes.put(currentNode);\n xref.fetchAsync(currentNode).then(function (obj) {\n if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Kids\")) {\n if (pageIndex === currentPageIndex) {\n if (currentNode && !pageKidsCountCache.has(currentNode)) {\n pageKidsCountCache.put(currentNode, 1);\n }\n\n capability.resolve([obj, currentNode]);\n } else {\n currentPageIndex++;\n next();\n }\n\n return;\n }\n\n nodesToVisit.push(obj);\n next();\n }, capability.reject);\n return {\n v: void 0\n };\n }\n\n if (!(0, _primitives.isDict)(currentNode)) {\n capability.reject(new _util.FormatError(\"Page dictionary kid reference points to wrong type of object.\"));\n return {\n v: void 0\n };\n }\n\n count = currentNode.get(\"Count\");\n\n if (Number.isInteger(count) && count >= 0) {\n var objId = currentNode.objId;\n\n if (objId && !pageKidsCountCache.has(objId)) {\n pageKidsCountCache.put(objId, count);\n }\n\n if (currentPageIndex + count <= pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n }\n\n var kids = currentNode.get(\"Kids\");\n\n if (!Array.isArray(kids)) {\n if ((0, _primitives.isName)(currentNode.get(\"Type\"), \"Page\") || !currentNode.has(\"Type\") && currentNode.has(\"Contents\")) {\n if (currentPageIndex === pageIndex) {\n capability.resolve([currentNode, null]);\n return {\n v: void 0\n };\n }\n\n currentPageIndex++;\n return \"continue\";\n }\n\n capability.reject(new _util.FormatError(\"Page dictionary kids object is not an array.\"));\n return {\n v: void 0\n };\n }\n\n for (var last = kids.length - 1; last >= 0; last--) {\n nodesToVisit.push(kids[last]);\n }\n };\n\n while (nodesToVisit.length) {\n var _ret = _loop();\n\n if (_ret === \"continue\") continue;\n if (typeof _ret === \"object\") return _ret.v;\n }\n\n capability.reject(new Error(\"Page index \".concat(pageIndex, \" not found.\")));\n }\n\n next();\n return capability.promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(pageRef) {\n var xref = this.xref;\n\n function pagesBeforeRef(kidRef) {\n var total = 0,\n parentRef;\n return xref.fetchAsync(kidRef).then(function (node) {\n if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, \"Page\") && !((0, _primitives.isDict)(node) && !node.has(\"Type\") && node.has(\"Contents\"))) {\n throw new _util.FormatError(\"The reference does not point to a /Page dictionary.\");\n }\n\n if (!node) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(node)) {\n throw new _util.FormatError(\"Node must be a dictionary.\");\n }\n\n parentRef = node.getRaw(\"Parent\");\n return node.getAsync(\"Parent\");\n }).then(function (parent) {\n if (!parent) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(parent)) {\n throw new _util.FormatError(\"Parent must be a dictionary.\");\n }\n\n return parent.getAsync(\"Kids\");\n }).then(function (kids) {\n if (!kids) {\n return null;\n }\n\n var kidPromises = [];\n var found = false;\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (!(0, _primitives.isRef)(kid)) {\n throw new _util.FormatError(\"Kid must be a reference.\");\n }\n\n if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n found = true;\n break;\n }\n\n kidPromises.push(xref.fetchAsync(kid).then(function (kid) {\n if (!(0, _primitives.isDict)(kid)) {\n throw new _util.FormatError(\"Kid node must be a dictionary.\");\n }\n\n if (kid.has(\"Count\")) {\n total += kid.get(\"Count\");\n } else {\n total++;\n }\n }));\n }\n\n if (!found) {\n throw new _util.FormatError(\"Kid reference not found in parent's kids.\");\n }\n\n return Promise.all(kidPromises).then(function () {\n return [total, parentRef];\n });\n });\n }\n\n var total = 0;\n\n function next(ref) {\n return pagesBeforeRef(ref).then(function (args) {\n if (!args) {\n return total;\n }\n\n var _args8 = _slicedToArray(args, 2),\n count = _args8[0],\n parentRef = _args8[1];\n\n total += count;\n return next(parentRef);\n });\n }\n\n return next(pageRef);\n }\n }], [{\n key: \"parseDestDictionary\",\n value: function parseDestDictionary(params) {\n function addDefaultProtocolToUrl(url) {\n return url.startsWith(\"www.\") ? \"http://\".concat(url) : url;\n }\n\n function tryConvertUrlEncoding(url) {\n try {\n return (0, _util.stringToUTF8String)(url);\n } catch (e) {\n return url;\n }\n }\n\n var destDict = params.destDict;\n\n if (!(0, _primitives.isDict)(destDict)) {\n (0, _util.warn)(\"parseDestDictionary: `destDict` must be a dictionary.\");\n return;\n }\n\n var resultObj = params.resultObj;\n\n if (typeof resultObj !== \"object\") {\n (0, _util.warn)(\"parseDestDictionary: `resultObj` must be an object.\");\n return;\n }\n\n var docBaseUrl = params.docBaseUrl || null;\n var action = destDict.get(\"A\"),\n url,\n dest;\n\n if (!(0, _primitives.isDict)(action) && destDict.has(\"Dest\")) {\n action = destDict.get(\"Dest\");\n }\n\n if ((0, _primitives.isDict)(action)) {\n var actionType = action.get(\"S\");\n\n if (!(0, _primitives.isName)(actionType)) {\n (0, _util.warn)(\"parseDestDictionary: Invalid type in Action dictionary.\");\n return;\n }\n\n var actionName = actionType.name;\n\n switch (actionName) {\n case \"URI\":\n url = action.get(\"URI\");\n\n if ((0, _primitives.isName)(url)) {\n url = \"/\" + url.name;\n } else if ((0, _util.isString)(url)) {\n url = addDefaultProtocolToUrl(url);\n }\n\n break;\n\n case \"GoTo\":\n dest = action.get(\"D\");\n break;\n\n case \"Launch\":\n case \"GoToR\":\n var urlDict = action.get(\"F\");\n\n if ((0, _primitives.isDict)(urlDict)) {\n url = urlDict.get(\"F\") || null;\n } else if ((0, _util.isString)(urlDict)) {\n url = urlDict;\n }\n\n var remoteDest = action.get(\"D\");\n\n if (remoteDest) {\n if ((0, _primitives.isName)(remoteDest)) {\n remoteDest = remoteDest.name;\n }\n\n if ((0, _util.isString)(url)) {\n var baseUrl = url.split(\"#\")[0];\n\n if ((0, _util.isString)(remoteDest)) {\n url = baseUrl + \"#\" + remoteDest;\n } else if (Array.isArray(remoteDest)) {\n url = baseUrl + \"#\" + JSON.stringify(remoteDest);\n }\n }\n }\n\n var newWindow = action.get(\"NewWindow\");\n\n if ((0, _util.isBool)(newWindow)) {\n resultObj.newWindow = newWindow;\n }\n\n break;\n\n case \"Named\":\n var namedAction = action.get(\"N\");\n\n if ((0, _primitives.isName)(namedAction)) {\n resultObj.action = namedAction.name;\n }\n\n break;\n\n case \"JavaScript\":\n var jsAction = action.get(\"JS\");\n var js;\n\n if ((0, _primitives.isStream)(jsAction)) {\n js = (0, _util.bytesToString)(jsAction.getBytes());\n } else if ((0, _util.isString)(jsAction)) {\n js = jsAction;\n }\n\n if (js) {\n var URL_OPEN_METHODS = [\"app.launchURL\", \"window.open\"];\n var regex = new RegExp(\"^\\\\s*(\" + URL_OPEN_METHODS.join(\"|\").split(\".\").join(\"\\\\.\") + \")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\", \"i\");\n var jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n\n if (jsUrl && jsUrl[2]) {\n url = jsUrl[2];\n\n if (jsUrl[3] === \"true\" && jsUrl[1] === \"app.launchURL\") {\n resultObj.newWindow = true;\n }\n\n break;\n }\n }\n\n default:\n (0, _util.warn)(\"parseDestDictionary: unsupported action type \\\"\".concat(actionName, \"\\\".\"));\n break;\n }\n } else if (destDict.has(\"Dest\")) {\n dest = destDict.get(\"Dest\");\n }\n\n if ((0, _util.isString)(url)) {\n url = tryConvertUrlEncoding(url);\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n\n if (absoluteUrl) {\n resultObj.url = absoluteUrl.href;\n }\n\n resultObj.unsafeUrl = url;\n }\n\n if (dest) {\n if ((0, _primitives.isName)(dest)) {\n dest = dest.name;\n }\n\n if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n resultObj.dest = dest;\n }\n }\n }\n }]);\n\n return Catalog;\n }();\n\n exports.Catalog = Catalog;\n\n var XRef = function XRefClosure() {\n function XRef(stream, pdfManager) {\n this.stream = stream;\n this.pdfManager = pdfManager;\n this.entries = [];\n this.xrefstms = Object.create(null);\n this._cacheMap = new Map();\n this.stats = {\n streamTypes: Object.create(null),\n fontTypes: Object.create(null)\n };\n }\n\n XRef.prototype = {\n setStartXRef: function XRef_setStartXRef(startXRef) {\n this.startXRefQueue = [startXRef];\n },\n parse: function XRef_parse(recoveryMode) {\n var trailerDict;\n\n if (!recoveryMode) {\n trailerDict = this.readXRef();\n } else {\n (0, _util.warn)(\"Indexing all PDF objects\");\n trailerDict = this.indexObjects();\n }\n\n trailerDict.assignXref(this);\n this.trailer = trailerDict;\n var encrypt;\n\n try {\n encrypt = trailerDict.get(\"Encrypt\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(encrypt)) {\n var ids = trailerDict.get(\"ID\");\n var fileId = ids && ids.length ? ids[0] : \"\";\n encrypt.suppressEncryption = true;\n this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n }\n\n var root;\n\n try {\n root = trailerDict.get(\"Root\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Root\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(root) && root.has(\"Pages\")) {\n this.root = root;\n } else {\n if (!recoveryMode) {\n throw new _core_utils.XRefParseException();\n }\n\n throw new _util.FormatError(\"Invalid root reference\");\n }\n },\n processXRefTable: function XRef_processXRefTable(parser) {\n if (!(\"tableState\" in this)) {\n this.tableState = {\n entryNum: 0,\n streamPos: parser.lexer.stream.pos,\n parserBuf1: parser.buf1,\n parserBuf2: parser.buf2\n };\n }\n\n var obj = this.readXRefTable(parser);\n\n if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n throw new _util.FormatError(\"Invalid XRef table: could not find trailer dictionary\");\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict) && dict.dict) {\n dict = dict.dict;\n }\n\n if (!(0, _primitives.isDict)(dict)) {\n throw new _util.FormatError(\"Invalid XRef table: could not parse trailer dictionary\");\n }\n\n delete this.tableState;\n return dict;\n },\n readXRefTable: function XRef_readXRefTable(parser) {\n var stream = parser.lexer.stream;\n var tableState = this.tableState;\n stream.pos = tableState.streamPos;\n parser.buf1 = tableState.parserBuf1;\n parser.buf2 = tableState.parserBuf2;\n var obj;\n\n while (true) {\n if (!(\"firstEntryNum\" in tableState) || !(\"entryCount\" in tableState)) {\n if ((0, _primitives.isCmd)(obj = parser.getObj(), \"trailer\")) {\n break;\n }\n\n tableState.firstEntryNum = obj;\n tableState.entryCount = parser.getObj();\n }\n\n var first = tableState.firstEntryNum;\n var count = tableState.entryCount;\n\n if (!Number.isInteger(first) || !Number.isInteger(count)) {\n throw new _util.FormatError(\"Invalid XRef table: wrong types in subsection header\");\n }\n\n for (var i = tableState.entryNum; i < count; i++) {\n tableState.streamPos = stream.pos;\n tableState.entryNum = i;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n var entry = {};\n entry.offset = parser.getObj();\n entry.gen = parser.getObj();\n var type = parser.getObj();\n\n if (type instanceof _primitives.Cmd) {\n switch (type.cmd) {\n case \"f\":\n entry.free = true;\n break;\n\n case \"n\":\n entry.uncompressed = true;\n break;\n }\n }\n\n if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n throw new _util.FormatError(\"Invalid entry in XRef subsection: \".concat(first, \", \").concat(count));\n }\n\n if (i === 0 && entry.free && first === 1) {\n first = 0;\n }\n\n if (!this.entries[i + first]) {\n this.entries[i + first] = entry;\n }\n }\n\n tableState.entryNum = 0;\n tableState.streamPos = stream.pos;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n delete tableState.firstEntryNum;\n delete tableState.entryCount;\n }\n\n if (this.entries[0] && !this.entries[0].free) {\n throw new _util.FormatError(\"Invalid XRef table: unexpected first object\");\n }\n\n return obj;\n },\n processXRefStream: function XRef_processXRefStream(stream) {\n if (!(\"streamState\" in this)) {\n var streamParameters = stream.dict;\n var byteWidths = streamParameters.get(\"W\");\n var range = streamParameters.get(\"Index\");\n\n if (!range) {\n range = [0, streamParameters.get(\"Size\")];\n }\n\n this.streamState = {\n entryRanges: range,\n byteWidths: byteWidths,\n entryNum: 0,\n streamPos: stream.pos\n };\n }\n\n this.readXRefStream(stream);\n delete this.streamState;\n return stream.dict;\n },\n readXRefStream: function XRef_readXRefStream(stream) {\n var i, j;\n var streamState = this.streamState;\n stream.pos = streamState.streamPos;\n var byteWidths = streamState.byteWidths;\n var typeFieldWidth = byteWidths[0];\n var offsetFieldWidth = byteWidths[1];\n var generationFieldWidth = byteWidths[2];\n var entryRanges = streamState.entryRanges;\n\n while (entryRanges.length > 0) {\n var first = entryRanges[0];\n var n = entryRanges[1];\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"Invalid XRef range fields: \".concat(first, \", \").concat(n));\n }\n\n if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n throw new _util.FormatError(\"Invalid XRef entry fields length: \".concat(first, \", \").concat(n));\n }\n\n for (i = streamState.entryNum; i < n; ++i) {\n streamState.entryNum = i;\n streamState.streamPos = stream.pos;\n var type = 0,\n offset = 0,\n generation = 0;\n\n for (j = 0; j < typeFieldWidth; ++j) {\n type = type << 8 | stream.getByte();\n }\n\n if (typeFieldWidth === 0) {\n type = 1;\n }\n\n for (j = 0; j < offsetFieldWidth; ++j) {\n offset = offset << 8 | stream.getByte();\n }\n\n for (j = 0; j < generationFieldWidth; ++j) {\n generation = generation << 8 | stream.getByte();\n }\n\n var entry = {};\n entry.offset = offset;\n entry.gen = generation;\n\n switch (type) {\n case 0:\n entry.free = true;\n break;\n\n case 1:\n entry.uncompressed = true;\n break;\n\n case 2:\n break;\n\n default:\n throw new _util.FormatError(\"Invalid XRef entry type: \".concat(type));\n }\n\n if (!this.entries[first + i]) {\n this.entries[first + i] = entry;\n }\n }\n\n streamState.entryNum = 0;\n streamState.streamPos = stream.pos;\n entryRanges.splice(0, 2);\n }\n },\n indexObjects: function XRef_indexObjects() {\n var TAB = 0x9,\n LF = 0xa,\n CR = 0xd,\n SPACE = 0x20;\n var PERCENT = 0x25,\n LT = 0x3c;\n\n function readToken(data, offset) {\n var token = \"\",\n ch = data[offset];\n\n while (ch !== LF && ch !== CR && ch !== LT) {\n if (++offset >= data.length) {\n break;\n }\n\n token += String.fromCharCode(ch);\n ch = data[offset];\n }\n\n return token;\n }\n\n function skipUntil(data, offset, what) {\n var length = what.length,\n dataLength = data.length;\n var skipped = 0;\n\n while (offset < dataLength) {\n var i = 0;\n\n while (i < length && data[offset + i] === what[i]) {\n ++i;\n }\n\n if (i >= length) {\n break;\n }\n\n offset++;\n skipped++;\n }\n\n return skipped;\n }\n\n var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n var endobjRegExp = /\\bendobj[\\b\\s]$/;\n var nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n var CHECK_CONTENT_LENGTH = 25;\n var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n var objBytes = new Uint8Array([111, 98, 106]);\n var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n this.entries.length = 0;\n var stream = this.stream;\n stream.pos = 0;\n var buffer = stream.getBytes();\n var position = stream.start,\n length = buffer.length;\n var trailers = [],\n xrefStms = [];\n\n while (position < length) {\n var ch = buffer[position];\n\n if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n ++position;\n continue;\n }\n\n if (ch === PERCENT) {\n do {\n ++position;\n\n if (position >= length) {\n break;\n }\n\n ch = buffer[position];\n } while (ch !== LF && ch !== CR);\n\n continue;\n }\n\n var token = readToken(buffer, position);\n var m;\n\n if (token.startsWith(\"xref\") && (token.length === 4 || /\\s/.test(token[4]))) {\n position += skipUntil(buffer, position, trailerBytes);\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else if (m = objRegExp.exec(token)) {\n var num = m[1] | 0,\n gen = m[2] | 0;\n\n if (!this.entries[num] || this.entries[num].gen === gen) {\n this.entries[num] = {\n offset: position - stream.start,\n gen: gen,\n uncompressed: true\n };\n }\n\n var contentLength = void 0,\n startPos = position + token.length;\n\n while (startPos < buffer.length) {\n var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n contentLength = endPos - position;\n var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));\n\n if (endobjRegExp.test(tokenStr)) {\n break;\n } else {\n var objToken = nestedObjRegExp.exec(tokenStr);\n\n if (objToken && objToken[1]) {\n (0, _util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", ' + 'caused by missing \"endobj\" -- trying to recover.');\n contentLength -= objToken[1].length;\n break;\n }\n }\n\n startPos = endPos;\n }\n\n var content = buffer.subarray(position, position + contentLength);\n var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n\n if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n xrefStms.push(position - stream.start);\n this.xrefstms[position - stream.start] = 1;\n }\n\n position += contentLength;\n } else if (token.startsWith(\"trailer\") && (token.length === 7 || /\\s/.test(token[7]))) {\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else {\n position += token.length + 1;\n }\n }\n\n var i, ii;\n\n for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n this.startXRefQueue.push(xrefStms[i]);\n this.readXRef(true);\n }\n\n var trailerDict;\n\n for (i = 0, ii = trailers.length; i < ii; ++i) {\n stream.pos = trailers[i];\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true,\n recoveryMode: true\n });\n var obj = parser.getObj();\n\n if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n continue;\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict)) {\n continue;\n }\n\n var rootDict = void 0;\n\n try {\n rootDict = dict.get(\"Root\");\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n continue;\n }\n\n if (!(0, _primitives.isDict)(rootDict) || !rootDict.has(\"Pages\")) {\n continue;\n }\n\n if (dict.has(\"ID\")) {\n return dict;\n }\n\n trailerDict = dict;\n }\n\n if (trailerDict) {\n return trailerDict;\n }\n\n throw new _util.InvalidPDFException(\"Invalid PDF structure.\");\n },\n readXRef: function XRef_readXRef(recoveryMode) {\n var stream = this.stream;\n var startXRefParsedCache = Object.create(null);\n\n try {\n while (this.startXRefQueue.length) {\n var startXRef = this.startXRefQueue[0];\n\n if (startXRefParsedCache[startXRef]) {\n (0, _util.warn)(\"readXRef - skipping XRef table since it was already parsed.\");\n this.startXRefQueue.shift();\n continue;\n }\n\n startXRefParsedCache[startXRef] = true;\n stream.pos = startXRef + stream.start;\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj = parser.getObj();\n var dict;\n\n if ((0, _primitives.isCmd)(obj, \"xref\")) {\n dict = this.processXRefTable(parser);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n obj = dict.get(\"XRefStm\");\n\n if (Number.isInteger(obj)) {\n var pos = obj;\n\n if (!(pos in this.xrefstms)) {\n this.xrefstms[pos] = 1;\n this.startXRefQueue.push(pos);\n }\n }\n } else if (Number.isInteger(obj)) {\n if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), \"obj\") || !(0, _primitives.isStream)(obj = parser.getObj())) {\n throw new _util.FormatError(\"Invalid XRef stream\");\n }\n\n dict = this.processXRefStream(obj);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n if (!dict) {\n throw new _util.FormatError(\"Failed to read XRef stream\");\n }\n } else {\n throw new _util.FormatError(\"Invalid XRef stream header\");\n }\n\n obj = dict.get(\"Prev\");\n\n if (Number.isInteger(obj)) {\n this.startXRefQueue.push(obj);\n } else if ((0, _primitives.isRef)(obj)) {\n this.startXRefQueue.push(obj.num);\n }\n\n this.startXRefQueue.shift();\n }\n\n return this.topDict;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)(\"(while reading XRef): \" + e);\n }\n\n if (recoveryMode) {\n return undefined;\n }\n\n throw new _core_utils.XRefParseException();\n },\n getEntry: function XRef_getEntry(i) {\n var xrefEntry = this.entries[i];\n\n if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n return xrefEntry;\n }\n\n return null;\n },\n fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n if (obj instanceof _primitives.Ref) {\n return this.fetch(obj, suppressEncryption);\n }\n\n return obj;\n },\n fetch: function XRef_fetch(ref, suppressEncryption) {\n if (!(ref instanceof _primitives.Ref)) {\n throw new Error(\"ref object is not a reference\");\n }\n\n var num = ref.num;\n\n var cacheEntry = this._cacheMap.get(num);\n\n if (cacheEntry !== undefined) {\n if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n cacheEntry.objId = ref.toString();\n }\n\n return cacheEntry;\n }\n\n var xrefEntry = this.getEntry(num);\n\n if (xrefEntry === null) {\n this._cacheMap.set(num, xrefEntry);\n\n return xrefEntry;\n }\n\n if (xrefEntry.uncompressed) {\n xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n } else {\n xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n }\n\n if ((0, _primitives.isDict)(xrefEntry)) {\n xrefEntry.objId = ref.toString();\n } else if ((0, _primitives.isStream)(xrefEntry)) {\n xrefEntry.dict.objId = ref.toString();\n }\n\n return xrefEntry;\n },\n fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var gen = ref.gen;\n var num = ref.num;\n\n if (xrefEntry.gen !== gen) {\n throw new _core_utils.XRefEntryException(\"Inconsistent generation in XRef: \".concat(ref));\n }\n\n var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n\n if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {\n throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (obj3.cmd !== \"obj\") {\n if (obj3.cmd.startsWith(\"obj\")) {\n num = parseInt(obj3.cmd.substring(3), 10);\n\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n\n throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (this.encrypt && !suppressEncryption) {\n xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n } else {\n xrefEntry = parser.getObj();\n }\n\n if (!(0, _primitives.isStream)(xrefEntry)) {\n this._cacheMap.set(num, xrefEntry);\n }\n\n return xrefEntry;\n },\n fetchCompressed: function fetchCompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var tableOffset = xrefEntry.offset;\n var stream = this.fetch(_primitives.Ref.get(tableOffset, 0));\n\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError(\"bad ObjStm stream\");\n }\n\n var first = stream.dict.get(\"First\");\n var n = stream.dict.get(\"N\");\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"invalid first and n parameters for ObjStm stream\");\n }\n\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var nums = new Array(n);\n\n for (var i = 0; i < n; ++i) {\n var num = parser.getObj();\n\n if (!Number.isInteger(num)) {\n throw new _util.FormatError(\"invalid object number in the ObjStm stream: \".concat(num));\n }\n\n var offset = parser.getObj();\n\n if (!Number.isInteger(offset)) {\n throw new _util.FormatError(\"invalid object offset in the ObjStm stream: \".concat(offset));\n }\n\n nums[i] = num;\n }\n\n var entries = new Array(n);\n\n for (var _i5 = 0; _i5 < n; ++_i5) {\n var obj = parser.getObj();\n entries[_i5] = obj;\n\n if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === \"endobj\") {\n parser.shift();\n }\n\n if ((0, _primitives.isStream)(obj)) {\n continue;\n }\n\n var _num = nums[_i5],\n entry = this.entries[_num];\n\n if (entry && entry.offset === tableOffset && entry.gen === _i5) {\n this._cacheMap.set(_num, obj);\n }\n }\n\n xrefEntry = entries[xrefEntry.gen];\n\n if (xrefEntry === undefined) {\n throw new _core_utils.XRefEntryException(\"Bad (compressed) XRef entry: \".concat(ref));\n }\n\n return xrefEntry;\n },\n fetchIfRefAsync: function fetchIfRefAsync(obj, suppressEncryption) {\n var _this17 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (!(obj instanceof _primitives.Ref)) {\n _context8.next = 2;\n break;\n }\n\n return _context8.abrupt(\"return\", _this17.fetchAsync(obj, suppressEncryption));\n\n case 2:\n return _context8.abrupt(\"return\", obj);\n\n case 3:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8);\n }))();\n },\n fetchAsync: function fetchAsync(ref, suppressEncryption) {\n var _this18 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.prev = 0;\n return _context9.abrupt(\"return\", _this18.fetch(ref, suppressEncryption));\n\n case 4:\n _context9.prev = 4;\n _context9.t0 = _context9[\"catch\"](0);\n\n if (_context9.t0 instanceof _core_utils.MissingDataException) {\n _context9.next = 8;\n break;\n }\n\n throw _context9.t0;\n\n case 8:\n _context9.next = 10;\n return _this18.pdfManager.requestRange(_context9.t0.begin, _context9.t0.end);\n\n case 10:\n return _context9.abrupt(\"return\", _this18.fetchAsync(ref, suppressEncryption));\n\n case 11:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, null, [[0, 4]]);\n }))();\n },\n getCatalogObj: function XRef_getCatalogObj() {\n return this.root;\n }\n };\n return XRef;\n }();\n\n exports.XRef = XRef;\n\n var NameOrNumberTree = /*#__PURE__*/function () {\n function NameOrNumberTree(root, xref, type) {\n _classCallCheck(this, NameOrNumberTree);\n\n if (this.constructor === NameOrNumberTree) {\n (0, _util.unreachable)(\"Cannot initialize NameOrNumberTree.\");\n }\n\n this.root = root;\n this.xref = xref;\n this._type = type;\n }\n\n _createClass(NameOrNumberTree, [{\n key: \"getAll\",\n value: function getAll() {\n var dict = Object.create(null);\n\n if (!this.root) {\n return dict;\n }\n\n var xref = this.xref;\n var processed = new _primitives.RefSet();\n processed.put(this.root);\n var queue = [this.root];\n\n while (queue.length > 0) {\n var obj = xref.fetchIfRef(queue.shift());\n\n if (!(0, _primitives.isDict)(obj)) {\n continue;\n }\n\n if (obj.has(\"Kids\")) {\n var kids = obj.get(\"Kids\");\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (processed.has(kid)) {\n throw new _util.FormatError(\"Duplicate entry in \\\"\".concat(this._type, \"\\\" tree.\"));\n }\n\n queue.push(kid);\n processed.put(kid);\n }\n\n continue;\n }\n\n var entries = obj.get(this._type);\n\n if (Array.isArray(entries)) {\n for (var _i6 = 0, _ii = entries.length; _i6 < _ii; _i6 += 2) {\n dict[xref.fetchIfRef(entries[_i6])] = xref.fetchIfRef(entries[_i6 + 1]);\n }\n }\n }\n\n return dict;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n if (!this.root) {\n return null;\n }\n\n var xref = this.xref;\n var kidsOrEntries = xref.fetchIfRef(this.root);\n var loopCount = 0;\n var MAX_LEVELS = 10;\n\n while (kidsOrEntries.has(\"Kids\")) {\n if (++loopCount > MAX_LEVELS) {\n (0, _util.warn)(\"Search depth limit reached for \\\"\".concat(this._type, \"\\\" tree.\"));\n return null;\n }\n\n var kids = kidsOrEntries.get(\"Kids\");\n\n if (!Array.isArray(kids)) {\n return null;\n }\n\n var l = 0,\n r = kids.length - 1;\n\n while (l <= r) {\n var m = l + r >> 1;\n var kid = xref.fetchIfRef(kids[m]);\n var limits = kid.get(\"Limits\");\n\n if (key < xref.fetchIfRef(limits[0])) {\n r = m - 1;\n } else if (key > xref.fetchIfRef(limits[1])) {\n l = m + 1;\n } else {\n kidsOrEntries = xref.fetchIfRef(kids[m]);\n break;\n }\n }\n\n if (l > r) {\n return null;\n }\n }\n\n var entries = kidsOrEntries.get(this._type);\n\n if (Array.isArray(entries)) {\n var _l = 0,\n _r = entries.length - 2;\n\n while (_l <= _r) {\n var tmp = _l + _r >> 1,\n _m = tmp + (tmp & 1);\n\n var currentKey = xref.fetchIfRef(entries[_m]);\n\n if (key < currentKey) {\n _r = _m - 2;\n } else if (key > currentKey) {\n _l = _m + 2;\n } else {\n return xref.fetchIfRef(entries[_m + 1]);\n }\n }\n\n (0, _util.info)(\"Falling back to an exhaustive search, for key \\\"\".concat(key, \"\\\", \") + \"in \\\"\".concat(this._type, \"\\\" tree.\"));\n\n for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {\n var _currentKey = xref.fetchIfRef(entries[_m2]);\n\n if (_currentKey === key) {\n (0, _util.warn)(\"The \\\"\".concat(key, \"\\\" key was found at an incorrect, \") + \"i.e. out-of-order, position in \\\"\".concat(this._type, \"\\\" tree.\"));\n return xref.fetchIfRef(entries[_m2 + 1]);\n }\n }\n }\n\n return null;\n }\n }]);\n\n return NameOrNumberTree;\n }();\n\n var NameTree = /*#__PURE__*/function (_NameOrNumberTree) {\n _inherits(NameTree, _NameOrNumberTree);\n\n var _super13 = _createSuper(NameTree);\n\n function NameTree(root, xref) {\n _classCallCheck(this, NameTree);\n\n return _super13.call(this, root, xref, \"Names\");\n }\n\n return NameTree;\n }(NameOrNumberTree);\n\n var NumberTree = /*#__PURE__*/function (_NameOrNumberTree2) {\n _inherits(NumberTree, _NameOrNumberTree2);\n\n var _super14 = _createSuper(NumberTree);\n\n function NumberTree(root, xref) {\n _classCallCheck(this, NumberTree);\n\n return _super14.call(this, root, xref, \"Nums\");\n }\n\n return NumberTree;\n }(NameOrNumberTree);\n\n var FileSpec = function FileSpecClosure() {\n function FileSpec(root, xref) {\n if (!root || !(0, _primitives.isDict)(root)) {\n return;\n }\n\n this.xref = xref;\n this.root = root;\n\n if (root.has(\"FS\")) {\n this.fs = root.get(\"FS\");\n }\n\n this.description = root.has(\"Desc\") ? (0, _util.stringToPDFString)(root.get(\"Desc\")) : \"\";\n\n if (root.has(\"RF\")) {\n (0, _util.warn)(\"Related file specifications are not supported\");\n }\n\n this.contentAvailable = true;\n\n if (!root.has(\"EF\")) {\n this.contentAvailable = false;\n (0, _util.warn)(\"Non-embedded file specifications are not supported\");\n }\n }\n\n function pickPlatformItem(dict) {\n if (dict.has(\"UF\")) {\n return dict.get(\"UF\");\n } else if (dict.has(\"F\")) {\n return dict.get(\"F\");\n } else if (dict.has(\"Unix\")) {\n return dict.get(\"Unix\");\n } else if (dict.has(\"Mac\")) {\n return dict.get(\"Mac\");\n } else if (dict.has(\"DOS\")) {\n return dict.get(\"DOS\");\n }\n\n return null;\n }\n\n FileSpec.prototype = {\n get filename() {\n if (!this._filename && this.root) {\n var filename = pickPlatformItem(this.root) || \"unnamed\";\n this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, \"\\\\\").replace(/\\\\\\//g, \"/\").replace(/\\\\/g, \"/\");\n }\n\n return this._filename;\n },\n\n get content() {\n if (!this.contentAvailable) {\n return null;\n }\n\n if (!this.contentRef && this.root) {\n this.contentRef = pickPlatformItem(this.root.get(\"EF\"));\n }\n\n var content = null;\n\n if (this.contentRef) {\n var xref = this.xref;\n var fileObj = xref.fetchIfRef(this.contentRef);\n\n if (fileObj && (0, _primitives.isStream)(fileObj)) {\n content = fileObj.getBytes();\n } else {\n (0, _util.warn)(\"Embedded file specification points to non-existing/invalid \" + \"content\");\n }\n } else {\n (0, _util.warn)(\"Embedded file specification does not have a content\");\n }\n\n return content;\n },\n\n get serializable() {\n return {\n filename: this.filename,\n content: this.content\n };\n }\n\n };\n return FileSpec;\n }();\n\n exports.FileSpec = FileSpec;\n\n var ObjectLoader = function () {\n function mayHaveChildren(value) {\n return value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || (0, _primitives.isStream)(value);\n }\n\n function addChildren(node, nodesToVisit) {\n if (node instanceof _primitives.Dict || (0, _primitives.isStream)(node)) {\n var dict = node instanceof _primitives.Dict ? node : node.dict;\n var dictKeys = dict.getKeys();\n\n for (var i = 0, ii = dictKeys.length; i < ii; i++) {\n var rawValue = dict.getRaw(dictKeys[i]);\n\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n } else if (Array.isArray(node)) {\n for (var _i7 = 0, _ii2 = node.length; _i7 < _ii2; _i7++) {\n var value = node[_i7];\n\n if (mayHaveChildren(value)) {\n nodesToVisit.push(value);\n }\n }\n }\n }\n\n function ObjectLoader(dict, keys, xref) {\n this.dict = dict;\n this.keys = keys;\n this.xref = xref;\n this.refSet = null;\n }\n\n ObjectLoader.prototype = {\n load: function load() {\n var _this19 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {\n var keys, dict, nodesToVisit, i, ii, rawValue;\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n if (!(!_this19.xref.stream.allChunksLoaded || _this19.xref.stream.allChunksLoaded())) {\n _context10.next = 2;\n break;\n }\n\n return _context10.abrupt(\"return\", undefined);\n\n case 2:\n keys = _this19.keys, dict = _this19.dict;\n _this19.refSet = new _primitives.RefSet();\n nodesToVisit = [];\n\n for (i = 0, ii = keys.length; i < ii; i++) {\n rawValue = dict.getRaw(keys[i]);\n\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n\n return _context10.abrupt(\"return\", _this19._walk(nodesToVisit));\n\n case 7:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10);\n }))();\n },\n _walk: function _walk(nodesToVisit) {\n var _this20 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {\n var nodesToRevisit, pendingRequests, currentNode, baseStreams, foundMissingData, i, ii, stream, _i8, _ii3, node;\n\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n nodesToRevisit = [];\n pendingRequests = [];\n\n case 2:\n if (!nodesToVisit.length) {\n _context11.next = 22;\n break;\n }\n\n currentNode = nodesToVisit.pop();\n\n if (!(currentNode instanceof _primitives.Ref)) {\n _context11.next = 18;\n break;\n }\n\n if (!_this20.refSet.has(currentNode)) {\n _context11.next = 7;\n break;\n }\n\n return _context11.abrupt(\"continue\", 2);\n\n case 7:\n _context11.prev = 7;\n\n _this20.refSet.put(currentNode);\n\n currentNode = _this20.xref.fetch(currentNode);\n _context11.next = 18;\n break;\n\n case 12:\n _context11.prev = 12;\n _context11.t0 = _context11[\"catch\"](7);\n\n if (_context11.t0 instanceof _core_utils.MissingDataException) {\n _context11.next = 16;\n break;\n }\n\n throw _context11.t0;\n\n case 16:\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: _context11.t0.begin,\n end: _context11.t0.end\n });\n\n case 18:\n if (currentNode && currentNode.getBaseStreams) {\n baseStreams = currentNode.getBaseStreams();\n foundMissingData = false;\n\n for (i = 0, ii = baseStreams.length; i < ii; i++) {\n stream = baseStreams[i];\n\n if (stream.allChunksLoaded && !stream.allChunksLoaded()) {\n foundMissingData = true;\n pendingRequests.push({\n begin: stream.start,\n end: stream.end\n });\n }\n }\n\n if (foundMissingData) {\n nodesToRevisit.push(currentNode);\n }\n }\n\n addChildren(currentNode, nodesToVisit);\n _context11.next = 2;\n break;\n\n case 22:\n if (!pendingRequests.length) {\n _context11.next = 27;\n break;\n }\n\n _context11.next = 25;\n return _this20.xref.stream.manager.requestRanges(pendingRequests);\n\n case 25:\n for (_i8 = 0, _ii3 = nodesToRevisit.length; _i8 < _ii3; _i8++) {\n node = nodesToRevisit[_i8];\n\n if (node instanceof _primitives.Ref) {\n _this20.refSet.remove(node);\n }\n }\n\n return _context11.abrupt(\"return\", _this20._walk(nodesToRevisit));\n\n case 27:\n _this20.refSet = null;\n return _context11.abrupt(\"return\", undefined);\n\n case 29:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, null, [[7, 12]]);\n }))();\n }\n };\n return ObjectLoader;\n }();\n\n exports.ObjectLoader = ObjectLoader;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Parser = exports.Linearization = exports.Lexer = void 0;\n\n var _stream = __w_pdfjs_require__(11);\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _ccitt_stream = __w_pdfjs_require__(12);\n\n var _jbig2_stream = __w_pdfjs_require__(14);\n\n var _jpeg_stream = __w_pdfjs_require__(17);\n\n var _jpx_stream = __w_pdfjs_require__(19);\n\n var MAX_LENGTH_TO_CACHE = 1000;\n var MAX_ADLER32_LENGTH = 5552;\n\n function computeAdler32(bytes) {\n var bytesLength = bytes.length;\n var a = 1,\n b = 0;\n\n for (var i = 0; i < bytesLength; ++i) {\n a += bytes[i] & 0xff;\n b += a;\n }\n\n return b % 65521 << 16 | a % 65521;\n }\n\n var Parser = /*#__PURE__*/function () {\n function Parser(_ref17) {\n var lexer = _ref17.lexer,\n xref = _ref17.xref,\n _ref17$allowStreams = _ref17.allowStreams,\n allowStreams = _ref17$allowStreams === void 0 ? false : _ref17$allowStreams,\n _ref17$recoveryMode = _ref17.recoveryMode,\n recoveryMode = _ref17$recoveryMode === void 0 ? false : _ref17$recoveryMode;\n\n _classCallCheck(this, Parser);\n\n this.lexer = lexer;\n this.xref = xref;\n this.allowStreams = allowStreams;\n this.recoveryMode = recoveryMode;\n this.imageCache = Object.create(null);\n this.refill();\n }\n\n _createClass(Parser, [{\n key: \"refill\",\n value: function refill() {\n this.buf1 = this.lexer.getObj();\n this.buf2 = this.lexer.getObj();\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === \"ID\") {\n this.buf1 = this.buf2;\n this.buf2 = null;\n } else {\n this.buf1 = this.buf2;\n this.buf2 = this.lexer.getObj();\n }\n }\n }, {\n key: \"tryShift\",\n value: function tryShift() {\n try {\n this.shift();\n return true;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n return false;\n }\n }\n }, {\n key: \"getObj\",\n value: function getObj() {\n var cipherTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var buf1 = this.buf1;\n this.shift();\n\n if (buf1 instanceof _primitives.Cmd) {\n switch (buf1.cmd) {\n case \"BI\":\n return this.makeInlineImage(cipherTransform);\n\n case \"[\":\n var array = [];\n\n while (!(0, _primitives.isCmd)(this.buf1, \"]\") && !(0, _primitives.isEOF)(this.buf1)) {\n array.push(this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError(\"End of file inside array\");\n }\n\n return array;\n }\n\n this.shift();\n return array;\n\n case \"<<\":\n var dict = new _primitives.Dict(this.xref);\n\n while (!(0, _primitives.isCmd)(this.buf1, \">>\") && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n (0, _util.info)(\"Malformed dictionary: key must be a name object\");\n this.shift();\n continue;\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError(\"End of file inside dictionary\");\n }\n\n return dict;\n }\n\n if ((0, _primitives.isCmd)(this.buf2, \"stream\")) {\n return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n }\n\n this.shift();\n return dict;\n\n default:\n return buf1;\n }\n }\n\n if (Number.isInteger(buf1)) {\n if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, \"R\")) {\n var ref = _primitives.Ref.get(buf1, this.buf1);\n\n this.shift();\n this.shift();\n return ref;\n }\n\n return buf1;\n }\n\n if (typeof buf1 === \"string\") {\n if (cipherTransform) {\n return cipherTransform.decryptString(buf1);\n }\n\n return buf1;\n }\n\n return buf1;\n }\n }, {\n key: \"findDefaultInlineStreamEnd\",\n value: function findDefaultInlineStreamEnd(stream) {\n var E = 0x45,\n I = 0x49,\n SPACE = 0x20,\n LF = 0xa,\n CR = 0xd;\n var n = 10,\n NUL = 0x0;\n var startPos = stream.pos;\n var state = 0,\n ch,\n maybeEIPos;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else {\n (0, _util.assert)(state === 2);\n\n if (ch === SPACE || ch === LF || ch === CR) {\n maybeEIPos = stream.pos;\n var followingBytes = stream.peekBytes(n);\n\n for (var i = 0, ii = followingBytes.length; i < ii; i++) {\n ch = followingBytes[i];\n\n if (ch === NUL && followingBytes[i + 1] !== NUL) {\n continue;\n }\n\n if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {\n state = 0;\n break;\n }\n }\n\n if (state === 2) {\n break;\n }\n } else {\n state = 0;\n }\n }\n }\n\n if (ch === -1) {\n (0, _util.warn)(\"findDefaultInlineStreamEnd: \" + \"Reached the end of the stream without finding a valid EI marker\");\n\n if (maybeEIPos) {\n (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n stream.skip(-(stream.pos - maybeEIPos));\n }\n }\n\n var endOffset = 4;\n stream.skip(-endOffset);\n ch = stream.peekByte();\n stream.skip(endOffset);\n\n if (!(0, _core_utils.isWhiteSpace)(ch)) {\n endOffset--;\n }\n\n return stream.pos - endOffset - startPos;\n }\n }, {\n key: \"findDCTDecodeInlineStreamEnd\",\n value: function findDCTDecodeInlineStreamEnd(stream) {\n var startPos = stream.pos;\n var foundEOI = false,\n b,\n markerLength;\n\n while ((b = stream.getByte()) !== -1) {\n if (b !== 0xff) {\n continue;\n }\n\n switch (stream.getByte()) {\n case 0x00:\n break;\n\n case 0xff:\n stream.skip(-1);\n break;\n\n case 0xd9:\n foundEOI = true;\n break;\n\n case 0xc0:\n case 0xc1:\n case 0xc2:\n case 0xc3:\n case 0xc5:\n case 0xc6:\n case 0xc7:\n case 0xc9:\n case 0xca:\n case 0xcb:\n case 0xcd:\n case 0xce:\n case 0xcf:\n case 0xc4:\n case 0xcc:\n case 0xda:\n case 0xdb:\n case 0xdc:\n case 0xdd:\n case 0xde:\n case 0xdf:\n case 0xe0:\n case 0xe1:\n case 0xe2:\n case 0xe3:\n case 0xe4:\n case 0xe5:\n case 0xe6:\n case 0xe7:\n case 0xe8:\n case 0xe9:\n case 0xea:\n case 0xeb:\n case 0xec:\n case 0xed:\n case 0xee:\n case 0xef:\n case 0xfe:\n markerLength = stream.getUint16();\n\n if (markerLength > 2) {\n stream.skip(markerLength - 2);\n } else {\n stream.skip(-2);\n }\n\n break;\n }\n\n if (foundEOI) {\n break;\n }\n }\n\n var length = stream.pos - startPos;\n\n if (b === -1) {\n (0, _util.warn)(\"Inline DCTDecode image stream: \" + \"EOI marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"findASCII85DecodeInlineStreamEnd\",\n value: function findASCII85DecodeInlineStreamEnd(stream) {\n var TILDE = 0x7e,\n GT = 0x3e;\n var startPos = stream.pos;\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE) {\n var tildePos = stream.pos;\n ch = stream.peekByte();\n\n while ((0, _core_utils.isWhiteSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n\n if (ch === GT) {\n stream.skip();\n break;\n }\n\n if (stream.pos > tildePos) {\n var maybeEI = stream.peekBytes(2);\n\n if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {\n break;\n }\n }\n }\n }\n\n var length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)(\"Inline ASCII85Decode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"findASCIIHexDecodeInlineStreamEnd\",\n value: function findASCIIHexDecodeInlineStreamEnd(stream) {\n var GT = 0x3e;\n var startPos = stream.pos;\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n\n var length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)(\"Inline ASCIIHexDecode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"inlineStreamSkipEI\",\n value: function inlineStreamSkipEI(stream) {\n var E = 0x45,\n I = 0x49;\n var state = 0,\n ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else if (state === 2) {\n break;\n }\n }\n }\n }, {\n key: \"makeInlineImage\",\n value: function makeInlineImage(cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n var dict = new _primitives.Dict(this.xref);\n var dictLength;\n\n while (!(0, _primitives.isCmd)(this.buf1, \"ID\") && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n throw new _util.FormatError(\"Dictionary key must be a name object\");\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if (lexer.beginInlineImagePos !== -1) {\n dictLength = stream.pos - lexer.beginInlineImagePos;\n }\n\n var filter = dict.get(\"Filter\", \"F\");\n var filterName;\n\n if ((0, _primitives.isName)(filter)) {\n filterName = filter.name;\n } else if (Array.isArray(filter)) {\n var filterZero = this.xref.fetchIfRef(filter[0]);\n\n if ((0, _primitives.isName)(filterZero)) {\n filterName = filterZero.name;\n }\n }\n\n var startPos = stream.pos;\n var length;\n\n if (filterName === \"DCTDecode\" || filterName === \"DCT\") {\n length = this.findDCTDecodeInlineStreamEnd(stream);\n } else if (filterName === \"ASCII85Decode\" || filterName === \"A85\") {\n length = this.findASCII85DecodeInlineStreamEnd(stream);\n } else if (filterName === \"ASCIIHexDecode\" || filterName === \"AHx\") {\n length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n } else {\n length = this.findDefaultInlineStreamEnd(stream);\n }\n\n var imageStream = stream.makeSubStream(startPos, length, dict);\n var cacheKey;\n\n if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n var imageBytes = imageStream.getBytes();\n imageStream.reset();\n var initialStreamPos = stream.pos;\n stream.pos = lexer.beginInlineImagePos;\n var dictBytes = stream.getBytes(dictLength);\n stream.pos = initialStreamPos;\n cacheKey = computeAdler32(imageBytes) + \"_\" + computeAdler32(dictBytes);\n var cacheEntry = this.imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n this.buf2 = _primitives.Cmd.get(\"EI\");\n this.shift();\n cacheEntry.reset();\n return cacheEntry;\n }\n }\n\n if (cipherTransform) {\n imageStream = cipherTransform.createStream(imageStream, length);\n }\n\n imageStream = this.filter(imageStream, dict, length);\n imageStream.dict = dict;\n\n if (cacheKey !== undefined) {\n imageStream.cacheKey = \"inline_\".concat(length, \"_\").concat(cacheKey);\n this.imageCache[cacheKey] = imageStream;\n }\n\n this.buf2 = _primitives.Cmd.get(\"EI\");\n this.shift();\n return imageStream;\n }\n }, {\n key: \"_findStreamLength\",\n value: function _findStreamLength(startPos, signature) {\n var stream = this.lexer.stream;\n stream.pos = startPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var signatureLength = signature.length;\n\n while (stream.pos < stream.end) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n break;\n }\n\n var pos = 0;\n\n while (pos < scanLength) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos;\n return stream.pos - startPos;\n }\n\n pos++;\n }\n\n stream.pos += scanLength;\n }\n\n return -1;\n }\n }, {\n key: \"makeStream\",\n value: function makeStream(dict, cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n lexer.skipToNextLine();\n var startPos = stream.pos - 1;\n var length = dict.get(\"Length\");\n\n if (!Number.isInteger(length)) {\n (0, _util.info)(\"Bad length \\\"\".concat(length, \"\\\" in stream\"));\n length = 0;\n }\n\n stream.pos = startPos + length;\n lexer.nextChar();\n\n if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, \"endstream\")) {\n this.shift();\n } else {\n var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n\n var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n\n if (actualLength < 0) {\n var MAX_TRUNCATION = 1;\n\n for (var i = 1; i <= MAX_TRUNCATION; i++) {\n var end = ENDSTREAM_SIGNATURE.length - i;\n var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n\n if (maybeLength >= 0) {\n var lastByte = stream.peekBytes(end + 1)[end];\n\n if (!(0, _core_utils.isWhiteSpace)(lastByte)) {\n break;\n }\n\n (0, _util.info)(\"Found \\\"\".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), \"\\\" when \") + \"searching for endstream command.\");\n actualLength = maybeLength;\n break;\n }\n }\n\n if (actualLength < 0) {\n throw new _util.FormatError(\"Missing endstream command.\");\n }\n }\n\n length = actualLength;\n lexer.nextChar();\n this.shift();\n this.shift();\n }\n\n this.shift();\n stream = stream.makeSubStream(startPos, length, dict);\n\n if (cipherTransform) {\n stream = cipherTransform.createStream(stream, length);\n }\n\n stream = this.filter(stream, dict, length);\n stream.dict = dict;\n return stream;\n }\n }, {\n key: \"filter\",\n value: function filter(stream, dict, length) {\n var filter = dict.get(\"Filter\", \"F\");\n var params = dict.get(\"DecodeParms\", \"DP\");\n\n if ((0, _primitives.isName)(filter)) {\n if (Array.isArray(params)) {\n (0, _util.warn)(\"/DecodeParms should not contain an Array, \" + \"when /Filter contains a Name.\");\n }\n\n return this.makeFilter(stream, filter.name, length, params);\n }\n\n var maybeLength = length;\n\n if (Array.isArray(filter)) {\n var filterArray = filter;\n var paramsArray = params;\n\n for (var i = 0, ii = filterArray.length; i < ii; ++i) {\n filter = this.xref.fetchIfRef(filterArray[i]);\n\n if (!(0, _primitives.isName)(filter)) {\n throw new _util.FormatError(\"Bad filter name \\\"\".concat(filter, \"\\\"\"));\n }\n\n params = null;\n\n if (Array.isArray(paramsArray) && i in paramsArray) {\n params = this.xref.fetchIfRef(paramsArray[i]);\n }\n\n stream = this.makeFilter(stream, filter.name, maybeLength, params);\n maybeLength = null;\n }\n }\n\n return stream;\n }\n }, {\n key: \"makeFilter\",\n value: function makeFilter(stream, name, maybeLength, params) {\n if (maybeLength === 0) {\n (0, _util.warn)(\"Empty \\\"\".concat(name, \"\\\" stream.\"));\n return new _stream.NullStream();\n }\n\n try {\n var xrefStreamStats = this.xref.stats.streamTypes;\n\n if (name === \"FlateDecode\" || name === \"Fl\") {\n xrefStreamStats[_util.StreamType.FLATE] = true;\n\n if (params) {\n return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n }\n\n return new _stream.FlateStream(stream, maybeLength);\n }\n\n if (name === \"LZWDecode\" || name === \"LZW\") {\n xrefStreamStats[_util.StreamType.LZW] = true;\n var earlyChange = 1;\n\n if (params) {\n if (params.has(\"EarlyChange\")) {\n earlyChange = params.get(\"EarlyChange\");\n }\n\n return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n }\n\n return new _stream.LZWStream(stream, maybeLength, earlyChange);\n }\n\n if (name === \"DCTDecode\" || name === \"DCT\") {\n xrefStreamStats[_util.StreamType.DCT] = true;\n return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === \"JPXDecode\" || name === \"JPX\") {\n xrefStreamStats[_util.StreamType.JPX] = true;\n return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === \"ASCII85Decode\" || name === \"A85\") {\n xrefStreamStats[_util.StreamType.A85] = true;\n return new _stream.Ascii85Stream(stream, maybeLength);\n }\n\n if (name === \"ASCIIHexDecode\" || name === \"AHx\") {\n xrefStreamStats[_util.StreamType.AHX] = true;\n return new _stream.AsciiHexStream(stream, maybeLength);\n }\n\n if (name === \"CCITTFaxDecode\" || name === \"CCF\") {\n xrefStreamStats[_util.StreamType.CCF] = true;\n return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n }\n\n if (name === \"RunLengthDecode\" || name === \"RL\") {\n xrefStreamStats[_util.StreamType.RLX] = true;\n return new _stream.RunLengthStream(stream, maybeLength);\n }\n\n if (name === \"JBIG2Decode\") {\n xrefStreamStats[_util.StreamType.JBIG] = true;\n return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n }\n\n (0, _util.warn)(\"Filter \\\"\".concat(name, \"\\\" is not supported.\"));\n return stream;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid stream: \\\"\".concat(ex, \"\\\"\"));\n return new _stream.NullStream();\n }\n }\n }]);\n\n return Parser;\n }();\n\n exports.Parser = Parser;\n var specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 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, 0, 2, 0, 0, 0, 0, 0, 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, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n function toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0f;\n }\n\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0f) + 9;\n }\n\n return -1;\n }\n\n var Lexer = /*#__PURE__*/function () {\n function Lexer(stream) {\n var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Lexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n this.knownCommands = knownCommands;\n this._hexStringNumWarn = 0;\n this.beginInlineImagePos = -1;\n }\n\n _createClass(Lexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"peekChar\",\n value: function peekChar() {\n return this.stream.peekByte();\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var eNotation = false;\n var divideBy = 0;\n var sign = 0;\n\n if (ch === 0x2d) {\n sign = -1;\n ch = this.nextChar();\n\n if (ch === 0x2d) {\n ch = this.nextChar();\n }\n } else if (ch === 0x2b) {\n sign = 1;\n ch = this.nextChar();\n }\n\n if (ch === 0x0a || ch === 0x0d) {\n do {\n ch = this.nextChar();\n } while (ch === 0x0a || ch === 0x0d);\n }\n\n if (ch === 0x2e) {\n divideBy = 10;\n ch = this.nextChar();\n }\n\n if (ch < 0x30 || ch > 0x39) {\n if (divideBy === 10 && sign === 0 && ((0, _core_utils.isWhiteSpace)(ch) || ch === -1)) {\n (0, _util.warn)(\"Lexer.getNumber - treating a single decimal point as zero.\");\n return 0;\n }\n\n throw new _util.FormatError(\"Invalid number: \".concat(String.fromCharCode(ch), \" (charCode \").concat(ch, \")\"));\n }\n\n sign = sign || 1;\n var baseValue = ch - 0x30;\n var powerValue = 0;\n var powerValueSign = 1;\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39) {\n var currentDigit = ch - 0x30;\n\n if (eNotation) {\n powerValue = powerValue * 10 + currentDigit;\n } else {\n if (divideBy !== 0) {\n divideBy *= 10;\n }\n\n baseValue = baseValue * 10 + currentDigit;\n }\n } else if (ch === 0x2e) {\n if (divideBy === 0) {\n divideBy = 1;\n } else {\n break;\n }\n } else if (ch === 0x2d) {\n (0, _util.warn)(\"Badly formatted number: minus sign in the middle\");\n } else if (ch === 0x45 || ch === 0x65) {\n ch = this.peekChar();\n\n if (ch === 0x2b || ch === 0x2d) {\n powerValueSign = ch === 0x2d ? -1 : 1;\n this.nextChar();\n } else if (ch < 0x30 || ch > 0x39) {\n break;\n }\n\n eNotation = true;\n } else {\n break;\n }\n }\n\n if (divideBy !== 0) {\n baseValue /= divideBy;\n }\n\n if (eNotation) {\n baseValue *= Math.pow(10, powerValueSign * powerValue);\n }\n\n return sign * baseValue;\n }\n }, {\n key: \"getString\",\n value: function getString() {\n var numParen = 1;\n var done = false;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.nextChar();\n\n while (true) {\n var charBuffered = false;\n\n switch (ch | 0) {\n case -1:\n (0, _util.warn)(\"Unterminated string\");\n done = true;\n break;\n\n case 0x28:\n ++numParen;\n strBuf.push(\"(\");\n break;\n\n case 0x29:\n if (--numParen === 0) {\n this.nextChar();\n done = true;\n } else {\n strBuf.push(\")\");\n }\n\n break;\n\n case 0x5c:\n ch = this.nextChar();\n\n switch (ch) {\n case -1:\n (0, _util.warn)(\"Unterminated string\");\n done = true;\n break;\n\n case 0x6e:\n strBuf.push(\"\\n\");\n break;\n\n case 0x72:\n strBuf.push(\"\\r\");\n break;\n\n case 0x74:\n strBuf.push(\"\\t\");\n break;\n\n case 0x62:\n strBuf.push(\"\\b\");\n break;\n\n case 0x66:\n strBuf.push(\"\\f\");\n break;\n\n case 0x5c:\n case 0x28:\n case 0x29:\n strBuf.push(String.fromCharCode(ch));\n break;\n\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n var x = ch & 0x0f;\n ch = this.nextChar();\n charBuffered = true;\n\n if (ch >= 0x30 && ch <= 0x37) {\n x = (x << 3) + (ch & 0x0f);\n ch = this.nextChar();\n\n if (ch >= 0x30 && ch <= 0x37) {\n charBuffered = false;\n x = (x << 3) + (ch & 0x0f);\n }\n }\n\n strBuf.push(String.fromCharCode(x));\n break;\n\n case 0x0d:\n if (this.peekChar() === 0x0a) {\n this.nextChar();\n }\n\n break;\n\n case 0x0a:\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n if (done) {\n break;\n }\n\n if (!charBuffered) {\n ch = this.nextChar();\n }\n }\n\n return strBuf.join(\"\");\n }\n }, {\n key: \"getName\",\n value: function getName() {\n var ch, previousCh;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n if (ch === 0x23) {\n ch = this.nextChar();\n\n if (specialChars[ch]) {\n (0, _util.warn)(\"Lexer_getName: \" + \"NUMBER SIGN (#) should be followed by a hexadecimal number.\");\n strBuf.push(\"#\");\n break;\n }\n\n var x = toHexDigit(ch);\n\n if (x !== -1) {\n previousCh = ch;\n ch = this.nextChar();\n var x2 = toHexDigit(ch);\n\n if (x2 === -1) {\n (0, _util.warn)(\"Lexer_getName: Illegal digit (\".concat(String.fromCharCode(ch), \") \") + \"in hexadecimal number.\");\n strBuf.push(\"#\", String.fromCharCode(previousCh));\n\n if (specialChars[ch]) {\n break;\n }\n\n strBuf.push(String.fromCharCode(ch));\n continue;\n }\n\n strBuf.push(String.fromCharCode(x << 4 | x2));\n } else {\n strBuf.push(\"#\", String.fromCharCode(ch));\n }\n } else {\n strBuf.push(String.fromCharCode(ch));\n }\n }\n\n if (strBuf.length > 127) {\n (0, _util.warn)(\"Name token is longer than allowed by the spec: \".concat(strBuf.length));\n }\n\n return _primitives.Name.get(strBuf.join(\"\"));\n }\n }, {\n key: \"_hexStringWarn\",\n value: function _hexStringWarn(ch) {\n var MAX_HEX_STRING_NUM_WARN = 5;\n\n if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n (0, _util.warn)(\"getHexString - ignoring additional invalid characters.\");\n return;\n }\n\n if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n return;\n }\n\n (0, _util.warn)(\"getHexString - ignoring invalid character: \".concat(ch));\n }\n }, {\n key: \"getHexString\",\n value: function getHexString() {\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.currentChar;\n var isFirstHex = true;\n var firstDigit, secondDigit;\n this._hexStringNumWarn = 0;\n\n while (true) {\n if (ch < 0) {\n (0, _util.warn)(\"Unterminated hex string\");\n break;\n } else if (ch === 0x3e) {\n this.nextChar();\n break;\n } else if (specialChars[ch] === 1) {\n ch = this.nextChar();\n continue;\n } else {\n if (isFirstHex) {\n firstDigit = toHexDigit(ch);\n\n if (firstDigit === -1) {\n this._hexStringWarn(ch);\n\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n\n if (secondDigit === -1) {\n this._hexStringWarn(ch);\n\n ch = this.nextChar();\n continue;\n }\n\n strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n }\n\n isFirstHex = !isFirstHex;\n ch = this.nextChar();\n }\n }\n\n return strBuf.join(\"\");\n }\n }, {\n key: \"getObj\",\n value: function getObj() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (specialChars[ch] !== 1) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2b:\n case 0x2d:\n case 0x2e:\n return this.getNumber();\n\n case 0x28:\n return this.getString();\n\n case 0x2f:\n return this.getName();\n\n case 0x5b:\n this.nextChar();\n return _primitives.Cmd.get(\"[\");\n\n case 0x5d:\n this.nextChar();\n return _primitives.Cmd.get(\"]\");\n\n case 0x3c:\n ch = this.nextChar();\n\n if (ch === 0x3c) {\n this.nextChar();\n return _primitives.Cmd.get(\"<<\");\n }\n\n return this.getHexString();\n\n case 0x3e:\n ch = this.nextChar();\n\n if (ch === 0x3e) {\n this.nextChar();\n return _primitives.Cmd.get(\">>\");\n }\n\n return _primitives.Cmd.get(\">\");\n\n case 0x7b:\n this.nextChar();\n return _primitives.Cmd.get(\"{\");\n\n case 0x7d:\n this.nextChar();\n return _primitives.Cmd.get(\"}\");\n\n case 0x29:\n this.nextChar();\n throw new _util.FormatError(\"Illegal character: \".concat(ch));\n }\n\n var str = String.fromCharCode(ch);\n var knownCommands = this.knownCommands;\n var knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n var possibleCommand = str + String.fromCharCode(ch);\n\n if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n break;\n }\n\n if (str.length === 128) {\n throw new _util.FormatError(\"Command token too long: \".concat(str.length));\n }\n\n str = possibleCommand;\n knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n }\n\n if (str === \"true\") {\n return true;\n }\n\n if (str === \"false\") {\n return false;\n }\n\n if (str === \"null\") {\n return null;\n }\n\n if (str === \"BI\") {\n this.beginInlineImagePos = this.stream.pos;\n }\n\n return _primitives.Cmd.get(str);\n }\n }, {\n key: \"skipToNextLine\",\n value: function skipToNextLine() {\n var ch = this.currentChar;\n\n while (ch >= 0) {\n if (ch === 0x0d) {\n ch = this.nextChar();\n\n if (ch === 0x0a) {\n this.nextChar();\n }\n\n break;\n } else if (ch === 0x0a) {\n this.nextChar();\n break;\n }\n\n ch = this.nextChar();\n }\n }\n }]);\n\n return Lexer;\n }();\n\n exports.Lexer = Lexer;\n\n var Linearization = /*#__PURE__*/function () {\n function Linearization() {\n _classCallCheck(this, Linearization);\n }\n\n _createClass(Linearization, null, [{\n key: \"create\",\n value: function create(stream) {\n function getInt(linDict, name) {\n var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var obj = linDict.get(name);\n\n if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n return obj;\n }\n\n throw new Error(\"The \\\"\".concat(name, \"\\\" parameter in the linearization \") + \"dictionary is invalid.\");\n }\n\n function getHints(linDict) {\n var hints = linDict.get(\"H\");\n var hintsLength;\n\n if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n for (var index = 0; index < hintsLength; index++) {\n var hint = hints[index];\n\n if (!(Number.isInteger(hint) && hint > 0)) {\n throw new Error(\"Hint (\".concat(index, \") in the linearization dictionary is invalid.\"));\n }\n }\n\n return hints;\n }\n\n throw new Error(\"Hint array in the linearization dictionary is invalid.\");\n }\n\n var parser = new Parser({\n lexer: new Lexer(stream),\n xref: null\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n var linDict = parser.getObj();\n var obj, length;\n\n if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, \"obj\") && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get(\"Linearized\")) && obj > 0)) {\n return null;\n } else if ((length = getInt(linDict, \"L\")) !== stream.length) {\n throw new Error('The \"L\" parameter in the linearization dictionary ' + \"does not equal the stream length.\");\n }\n\n return {\n length: length,\n hints: getHints(linDict),\n objectNumberFirst: getInt(linDict, \"O\"),\n endFirst: getInt(linDict, \"E\"),\n numPages: getInt(linDict, \"N\"),\n mainXRefEntriesOffset: getInt(linDict, \"T\"),\n pageFirst: linDict.has(\"P\") ? getInt(linDict, \"P\", true) : 0\n };\n }\n }]);\n\n return Linearization;\n }();\n\n exports.Linearization = Linearization;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var Stream = function StreamClosure() {\n function Stream(arrayBuffer, start, length, dict) {\n this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n this.start = start || 0;\n this.pos = this.start;\n this.end = start + length || this.bytes.length;\n this.dict = dict;\n }\n\n Stream.prototype = {\n get length() {\n return this.end - this.start;\n },\n\n get isEmpty() {\n return this.length === 0;\n },\n\n getByte: function Stream_getByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.bytes[this.pos++];\n },\n getUint16: function Stream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function Stream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n var _subarray2 = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray2) : _subarray2;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function Stream_peekByte() {\n var peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n getByteRange: function getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n return this.bytes.subarray(begin, end);\n },\n skip: function Stream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function Stream_reset() {\n this.pos = this.start;\n },\n moveStart: function Stream_moveStart() {\n this.start = this.pos;\n },\n makeSubStream: function Stream_makeSubStream(start, length, dict) {\n return new Stream(this.bytes.buffer, start, length, dict);\n }\n };\n return Stream;\n }();\n\n exports.Stream = Stream;\n\n var StringStream = function StringStreamClosure() {\n function StringStream(str) {\n var bytes = (0, _util.stringToBytes)(str);\n Stream.call(this, bytes);\n }\n\n StringStream.prototype = Stream.prototype;\n return StringStream;\n }();\n\n exports.StringStream = StringStream;\n\n var DecodeStream = function DecodeStreamClosure() {\n var emptyBuffer = new Uint8Array(0);\n\n function DecodeStream(maybeMinBufferLength) {\n this._rawMinBufferLength = maybeMinBufferLength || 0;\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n\n if (maybeMinBufferLength) {\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n\n DecodeStream.prototype = {\n get isEmpty() {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n\n return this.bufferLength === 0;\n },\n\n ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n var buffer = this.buffer;\n\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n\n var size = this.minBufferLength;\n\n while (size < requested) {\n size *= 2;\n }\n\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return this.buffer = buffer2;\n },\n getByte: function DecodeStream_getByte() {\n var pos = this.pos;\n\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n\n this.readBlock();\n }\n\n return this.buffer[this.pos++];\n },\n getUint16: function DecodeStream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function DecodeStream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var end,\n pos = this.pos;\n\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n\n var bufEnd = this.bufferLength;\n\n if (end > bufEnd) {\n end = bufEnd;\n }\n } else {\n while (!this.eof) {\n this.readBlock();\n }\n\n end = this.bufferLength;\n }\n\n this.pos = end;\n var subarray = this.buffer.subarray(pos, end);\n return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function DecodeStream_peekByte() {\n var peekedByte = this.getByte();\n\n if (peekedByte !== -1) {\n this.pos--;\n }\n\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n var end = start + length;\n\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n\n return new Stream(this.buffer, start, length, dict);\n },\n getByteRange: function getByteRange(begin, end) {\n (0, _util.unreachable)(\"Should not call DecodeStream.getByteRange\");\n },\n skip: function DecodeStream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function DecodeStream_reset() {\n this.pos = 0;\n },\n getBaseStreams: function DecodeStream_getBaseStreams() {\n if (this.str && this.str.getBaseStreams) {\n return this.str.getBaseStreams();\n }\n\n return [];\n }\n };\n return DecodeStream;\n }();\n\n exports.DecodeStream = DecodeStream;\n\n var StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n function StreamsSequenceStream(streams) {\n this.streams = streams;\n var maybeLength = 0;\n\n for (var i = 0, ii = streams.length; i < ii; i++) {\n var stream = streams[i];\n\n if (stream instanceof DecodeStream) {\n maybeLength += stream._rawMinBufferLength;\n } else {\n maybeLength += stream.length;\n }\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n var streams = this.streams;\n\n if (streams.length === 0) {\n this.eof = true;\n return;\n }\n\n var stream = streams.shift();\n var chunk = stream.getBytes();\n var bufferLength = this.bufferLength;\n var newLength = bufferLength + chunk.length;\n var buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n };\n\n StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n var baseStreams = [];\n\n for (var i = 0, ii = this.streams.length; i < ii; i++) {\n var stream = this.streams[i];\n\n if (stream.getBaseStreams) {\n baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));\n }\n }\n\n return baseStreams;\n };\n\n return StreamsSequenceStream;\n }();\n\n exports.StreamsSequenceStream = StreamsSequenceStream;\n\n var FlateStream = function FlateStreamClosure() {\n var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n function FlateStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n var cmf = str.getByte();\n var flg = str.getByte();\n\n if (cmf === -1 || flg === -1) {\n throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if ((cmf & 0x0f) !== 0x08) {\n throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (flg & 0x20) {\n throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n this.codeSize = 0;\n this.codeBuf = 0;\n DecodeStream.call(this, maybeLength);\n }\n\n FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n var str = this.str;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n b = codeBuf & (1 << bits) - 1;\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n\n FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n var str = this.str;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n break;\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n var code = codes[codeBuf & (1 << maxLen) - 1];\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n\n if (codeLen < 1 || codeSize < codeLen) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n\n FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n var n = lengths.length;\n var maxLen = 0;\n var i;\n\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n var code2 = 0;\n var t = code;\n\n for (i = 0; i < len; ++i) {\n code2 = code2 << 1 | t & 1;\n t >>= 1;\n }\n\n for (i = code2; i < size; i += skip) {\n codes[i] = len << 16 | val;\n }\n\n ++code;\n }\n }\n }\n\n return [codes, maxLen];\n };\n\n FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n var buffer, len;\n var str = this.str;\n var hdr = this.getBits(3);\n\n if (hdr & 1) {\n this.eof = true;\n }\n\n hdr >>= 1;\n\n if (hdr === 0) {\n var b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n var blockLen = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n blockLen |= b << 8;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n var check = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n check |= b << 8;\n\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n throw new _util.FormatError(\"Bad uncompressed block length in flate stream\");\n }\n\n this.codeBuf = 0;\n this.codeSize = 0;\n var bufferLength = this.bufferLength,\n end = bufferLength + blockLen;\n buffer = this.ensureBuffer(end);\n this.bufferLength = end;\n\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n var block = str.getBytes(blockLen);\n buffer.set(block, bufferLength);\n\n if (block.length < blockLen) {\n this.eof = true;\n }\n }\n\n return;\n }\n\n var litCodeTable;\n var distCodeTable;\n\n if (hdr === 1) {\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n } else if (hdr === 2) {\n var numLitCodes = this.getBits(5) + 257;\n var numDistCodes = this.getBits(5) + 1;\n var numCodeLenCodes = this.getBits(4) + 4;\n var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n var i;\n\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n\n var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n len = 0;\n i = 0;\n var codes = numLitCodes + numDistCodes;\n var codeLengths = new Uint8Array(codes);\n var bitsLength, bitsOffset, what;\n\n while (i < codes) {\n var code = this.getCode(codeLenCodeTab);\n\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n } else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n } else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n } else {\n codeLengths[i++] = len = code;\n continue;\n }\n\n var repeatLength = this.getBits(bitsLength) + bitsOffset;\n\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n } else {\n throw new _util.FormatError(\"Unknown block type in flate stream\");\n }\n\n buffer = this.buffer;\n var limit = buffer ? buffer.length : 0;\n var pos = this.bufferLength;\n\n while (true) {\n var code1 = this.getCode(litCodeTable);\n\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n\n buffer[pos++] = code1;\n continue;\n }\n\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n\n code1 -= 257;\n code1 = lengthDecode[code1];\n var code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n var dist = (code1 & 0xffff) + code2;\n\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n\n for (var k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n };\n\n return FlateStream;\n }();\n\n exports.FlateStream = FlateStream;\n\n var PredictorStream = function PredictorStreamClosure() {\n function PredictorStream(str, maybeLength, params) {\n if (!(0, _primitives.isDict)(params)) {\n return str;\n }\n\n var predictor = this.predictor = params.get(\"Predictor\") || 1;\n\n if (predictor <= 1) {\n return str;\n }\n\n if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n if (predictor === 2) {\n this.readBlock = this.readBlockTiff;\n } else {\n this.readBlock = this.readBlockPng;\n }\n\n this.str = str;\n this.dict = str.dict;\n var colors = this.colors = params.get(\"Colors\") || 1;\n var bits = this.bits = params.get(\"BitsPerComponent\") || 8;\n var columns = this.columns = params.get(\"Columns\") || 1;\n this.pixBytes = colors * bits + 7 >> 3;\n this.rowBytes = columns * colors * bits + 7 >> 3;\n DecodeStream.call(this, maybeLength);\n return this;\n }\n\n PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n var rowBytes = this.rowBytes;\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var bits = this.bits;\n var colors = this.colors;\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var inbuf = 0,\n outbuf = 0;\n var inbits = 0,\n outbits = 0;\n var pos = bufferLength;\n var i;\n\n if (bits === 1 && colors === 1) {\n for (i = 0; i < rowBytes; ++i) {\n var c = rawBytes[i] ^ inbuf;\n c ^= c >> 1;\n c ^= c >> 2;\n c ^= c >> 4;\n inbuf = (c & 1) << 7;\n buffer[pos++] = c;\n }\n } else if (bits === 8) {\n for (i = 0; i < colors; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[pos] = buffer[pos - colors] + rawBytes[i];\n pos++;\n }\n } else if (bits === 16) {\n var bytesPerPixel = colors * 2;\n\n for (i = 0; i < bytesPerPixel; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; i += 2) {\n var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);\n buffer[pos++] = sum >> 8 & 0xff;\n buffer[pos++] = sum & 0xff;\n }\n } else {\n var compArray = new Uint8Array(colors + 1);\n var bitMask = (1 << bits) - 1;\n var j = 0,\n k = bufferLength;\n var columns = this.columns;\n\n for (i = 0; i < columns; ++i) {\n for (var kk = 0; kk < colors; ++kk) {\n if (inbits < bits) {\n inbuf = inbuf << 8 | rawBytes[j++] & 0xff;\n inbits += 8;\n }\n\n compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n inbits -= bits;\n outbuf = outbuf << bits | compArray[kk];\n outbits += bits;\n\n if (outbits >= 8) {\n buffer[k++] = outbuf >> outbits - 8 & 0xff;\n outbits -= 8;\n }\n }\n }\n\n if (outbits > 0) {\n buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n }\n }\n\n this.bufferLength += rowBytes;\n };\n\n PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n var rowBytes = this.rowBytes;\n var pixBytes = this.pixBytes;\n var predictor = this.str.getByte();\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n if (prevRow.length === 0) {\n prevRow = new Uint8Array(rowBytes);\n }\n\n var i,\n j = bufferLength,\n up,\n c;\n\n switch (predictor) {\n case 0:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n break;\n\n case 1:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;\n j++;\n }\n\n break;\n\n case 2:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;\n }\n\n break;\n\n case 3:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;\n j++;\n }\n\n break;\n\n case 4:\n for (i = 0; i < pixBytes; ++i) {\n up = prevRow[i];\n c = rawBytes[i];\n buffer[j++] = up + c;\n }\n\n for (; i < rowBytes; ++i) {\n up = prevRow[i];\n var upLeft = prevRow[i - pixBytes];\n var left = buffer[j - pixBytes];\n var p = left + up - upLeft;\n var pa = p - left;\n\n if (pa < 0) {\n pa = -pa;\n }\n\n var pb = p - up;\n\n if (pb < 0) {\n pb = -pb;\n }\n\n var pc = p - upLeft;\n\n if (pc < 0) {\n pc = -pc;\n }\n\n c = rawBytes[i];\n\n if (pa <= pb && pa <= pc) {\n buffer[j++] = left + c;\n } else if (pb <= pc) {\n buffer[j++] = up + c;\n } else {\n buffer[j++] = upLeft + c;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n this.bufferLength += rowBytes;\n };\n\n return PredictorStream;\n }();\n\n exports.PredictorStream = PredictorStream;\n\n var DecryptStream = function DecryptStreamClosure() {\n function DecryptStream(str, maybeLength, decrypt) {\n this.str = str;\n this.dict = str.dict;\n this.decrypt = decrypt;\n this.nextChunk = null;\n this.initialized = false;\n DecodeStream.call(this, maybeLength);\n }\n\n var chunkSize = 512;\n DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n var chunk;\n\n if (this.initialized) {\n chunk = this.nextChunk;\n } else {\n chunk = this.str.getBytes(chunkSize);\n this.initialized = true;\n }\n\n if (!chunk || chunk.length === 0) {\n this.eof = true;\n return;\n }\n\n this.nextChunk = this.str.getBytes(chunkSize);\n var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n var decrypt = this.decrypt;\n chunk = decrypt(chunk, !hasMoreData);\n var bufferLength = this.bufferLength;\n var i,\n n = chunk.length;\n var buffer = this.ensureBuffer(bufferLength + n);\n\n for (i = 0; i < n; i++) {\n buffer[bufferLength++] = chunk[i];\n }\n\n this.bufferLength = bufferLength;\n };\n\n return DecryptStream;\n }();\n\n exports.DecryptStream = DecryptStream;\n\n var Ascii85Stream = function Ascii85StreamClosure() {\n function Ascii85Stream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.input = new Uint8Array(5);\n\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n var TILDA_CHAR = 0x7e;\n var Z_LOWER_CHAR = 0x7a;\n var EOF = -1;\n var str = this.str;\n var c = str.getByte();\n\n while ((0, _core_utils.isWhiteSpace)(c)) {\n c = str.getByte();\n }\n\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n\n var bufferLength = this.bufferLength,\n buffer;\n var i;\n\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n\n this.bufferLength += 4;\n } else {\n var input = this.input;\n input[0] = c;\n\n for (i = 1; i < 5; ++i) {\n c = str.getByte();\n\n while ((0, _core_utils.isWhiteSpace)(c)) {\n c = str.getByte();\n }\n\n input[i] = c;\n\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n\n this.eof = true;\n }\n\n var t = 0;\n\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xff;\n t >>= 8;\n }\n }\n };\n\n return Ascii85Stream;\n }();\n\n exports.Ascii85Stream = Ascii85Stream;\n\n var AsciiHexStream = function AsciiHexStreamClosure() {\n function AsciiHexStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.firstDigit = -1;\n\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n\n var maxDecodeLength = bytes.length + 1 >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i],\n digit;\n\n if (ch >= 0x30 && ch <= 0x39) {\n digit = ch & 0x0f;\n } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n digit = (ch & 0x0f) + 9;\n } else if (ch === 0x3e) {\n this.eof = true;\n break;\n } else {\n continue;\n }\n\n if (firstDigit < 0) {\n firstDigit = digit;\n } else {\n buffer[bufferLength++] = firstDigit << 4 | digit;\n firstDigit = -1;\n }\n }\n\n if (firstDigit >= 0 && this.eof) {\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n\n return AsciiHexStream;\n }();\n\n exports.AsciiHexStream = AsciiHexStream;\n\n var RunLengthStream = function RunLengthStreamClosure() {\n function RunLengthStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n DecodeStream.call(this, maybeLength);\n }\n\n RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n var repeatHeader = this.str.getBytes(2);\n\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n\n if (n < 128) {\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n\n if (n > 0) {\n var source = this.str.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n } else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n\n this.bufferLength = bufferLength;\n };\n\n return RunLengthStream;\n }();\n\n exports.RunLengthStream = RunLengthStream;\n\n var LZWStream = function LZWStreamClosure() {\n function LZWStream(str, maybeLength, earlyChange) {\n this.str = str;\n this.dict = str.dict;\n this.cachedData = 0;\n this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange: earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0\n };\n\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n\n this.lzwState = lzwState;\n DecodeStream.call(this, maybeLength);\n }\n\n LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n\n while (bitsCached < n) {\n var c = this.str.getByte();\n\n if (c === -1) {\n this.eof = true;\n return null;\n }\n\n cachedData = cachedData << 8 | c;\n bitsCached += 8;\n }\n\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n this.lastCode = null;\n return cachedData >>> bitsCached & (1 << n) - 1;\n };\n\n LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2,\n decodedSizeDelta = blockSize;\n var i, j, q;\n var lzwState = this.lzwState;\n\n if (!lzwState) {\n return;\n }\n\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n\n if (code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n } else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n } else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n } else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n } else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n\n prevCode = code;\n decodedLength += currentSequenceLength;\n\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n\n return LZWStream;\n }();\n\n exports.LZWStream = LZWStream;\n\n var NullStream = function NullStreamClosure() {\n function NullStream() {\n Stream.call(this, new Uint8Array(0));\n }\n\n NullStream.prototype = Stream.prototype;\n return NullStream;\n }();\n\n exports.NullStream = NullStream;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CCITTFaxStream = void 0;\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _ccitt = __w_pdfjs_require__(13);\n\n var _stream = __w_pdfjs_require__(11);\n\n var CCITTFaxStream = function CCITTFaxStreamClosure() {\n function CCITTFaxStream(str, maybeLength, params) {\n this.str = str;\n this.dict = str.dict;\n\n if (!(0, _primitives.isDict)(params)) {\n params = _primitives.Dict.empty;\n }\n\n var source = {\n next: function next() {\n return str.getByte();\n }\n };\n this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n K: params.get(\"K\"),\n EndOfLine: params.get(\"EndOfLine\"),\n EncodedByteAlign: params.get(\"EncodedByteAlign\"),\n Columns: params.get(\"Columns\"),\n Rows: params.get(\"Rows\"),\n EndOfBlock: params.get(\"EndOfBlock\"),\n BlackIs1: params.get(\"BlackIs1\")\n });\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n CCITTFaxStream.prototype.readBlock = function () {\n while (!this.eof) {\n var c = this.ccittFaxDecoder.readNextChar();\n\n if (c === -1) {\n this.eof = true;\n return;\n }\n\n this.ensureBuffer(this.bufferLength + 1);\n this.buffer[this.bufferLength++] = c;\n }\n };\n\n return CCITTFaxStream;\n }();\n\n exports.CCITTFaxStream = CCITTFaxStream;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CCITTFaxDecoder = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var CCITTFaxDecoder = function CCITTFaxDecoder() {\n var ccittEOL = -2;\n var ccittEOF = -1;\n var twoDimPass = 0;\n var twoDimHoriz = 1;\n var twoDimVert0 = 2;\n var twoDimVertR1 = 3;\n var twoDimVertL1 = 4;\n var twoDimVertR2 = 5;\n var twoDimVertL2 = 6;\n var twoDimVertR3 = 7;\n var twoDimVertL3 = 8;\n var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n\n function CCITTFaxDecoder(source) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!source || typeof source.next !== \"function\") {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n\n this.source = source;\n this.eof = false;\n this.encoding = options[\"K\"] || 0;\n this.eoline = options[\"EndOfLine\"] || false;\n this.byteAlign = options[\"EncodedByteAlign\"] || false;\n this.columns = options[\"Columns\"] || 1728;\n this.rows = options[\"Rows\"] || 0;\n var eoblock = options[\"EndOfBlock\"];\n\n if (eoblock === null || eoblock === undefined) {\n eoblock = true;\n }\n\n this.eoblock = eoblock;\n this.black = options[\"BlackIs1\"] || false;\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n var code1;\n\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n }\n\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n\n CCITTFaxDecoder.prototype = {\n readNextChar: function readNextChar() {\n if (this.eof) {\n return -1;\n }\n\n var refLine = this.refLine;\n var codingLine = this.codingLine;\n var columns = this.columns;\n var refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n\n if (this.eof) {\n return -1;\n }\n\n this.err = false;\n var code1, code2, code3;\n\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimHoriz:\n code1 = code2 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case ccittEOF:\n this._addPixels(columns, 0);\n\n this.eof = true;\n break;\n\n default:\n (0, _util.info)(\"bad 2d code\");\n\n this._addPixels(columns, 0);\n\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n blackPixels ^= 1;\n }\n }\n\n var gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n\n if (code1 === 1) {\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n\n if (code1 !== 1) {\n (0, _util.info)(\"bad rtc code: \" + code1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n }\n\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n\n if (code1 >> 1 === 1) {\n break;\n }\n\n this._eatBits(1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._eatBits(1);\n\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n if (codingLine[0] > 0) {\n this.outputBits = codingLine[this.codingPos = 0];\n } else {\n this.outputBits = codingLine[this.codingPos = 1];\n }\n\n this.row++;\n }\n\n var c;\n\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xff;\n this.outputBits -= 8;\n\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n\n do {\n if (this.outputBits > bits) {\n c <<= bits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - bits;\n }\n\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - this.outputBits;\n }\n\n bits -= this.outputBits;\n this.outputBits = 0;\n\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n\n if (this.black) {\n c ^= 0xff;\n }\n\n return c;\n },\n _addPixels: function _addPixels(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n (0, _util.info)(\"invalid code\");\n this.err = true;\n a1 = 0;\n }\n\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _findTableCode: function _findTableCode(start, end, table, limit) {\n var limitValue = limit || 0;\n\n for (var i = start; i <= end; ++i) {\n var code = this._lookBits(i);\n\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n\n if (i < end) {\n code <<= end - i;\n }\n\n if (!limitValue || code >= limitValue) {\n var p = table[code - limitValue];\n\n if (p[0] === i) {\n this._eatBits(i);\n\n return [true, p[1], true];\n }\n }\n }\n\n return [false, 0, false];\n },\n _getTwoDimCode: function _getTwoDimCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n\n if (p && p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 7, twoDimTable);\n\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"Bad two dim code\");\n return ccittEOF;\n },\n _getWhiteCode: function _getWhiteCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(12);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 5 === 0) {\n p = whiteTable1[code];\n } else {\n p = whiteTable2[code >> 3];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 9, whiteTable2);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"bad white code\");\n\n this._eatBits(1);\n\n return 1;\n },\n _getBlackCode: function _getBlackCode() {\n var code, p;\n\n if (this.eoblock) {\n code = this._lookBits(13);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(2, 6, blackTable3);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"bad black code\");\n\n this._eatBits(1);\n\n return 1;\n },\n _lookBits: function _lookBits(n) {\n var c;\n\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n\n return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;\n }\n\n this.inputBuf = this.inputBuf << 8 | c;\n this.inputBits += 8;\n }\n\n return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;\n },\n _eatBits: function _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n };\n return CCITTFaxDecoder;\n }();\n\n exports.CCITTFaxDecoder = CCITTFaxDecoder;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Jbig2Stream = void 0;\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _stream = __w_pdfjs_require__(11);\n\n var _jbig = __w_pdfjs_require__(15);\n\n var _util = __w_pdfjs_require__(2);\n\n var Jbig2Stream = function Jbig2StreamClosure() {\n function Jbig2Stream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(Jbig2Stream.prototype, \"bytes\", {\n get: function get() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n Jbig2Stream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jbig2Image = new _jbig.Jbig2Image();\n var chunks = [];\n\n if ((0, _primitives.isDict)(this.params)) {\n var globalsStream = this.params.get(\"JBIG2Globals\");\n\n if ((0, _primitives.isStream)(globalsStream)) {\n var globals = globalsStream.getBytes();\n chunks.push({\n data: globals,\n start: 0,\n end: globals.length\n });\n }\n }\n\n chunks.push({\n data: this.bytes,\n start: 0,\n end: this.bytes.length\n });\n var data = jbig2Image.parseChunks(chunks);\n var dataLength = data.length;\n\n for (var i = 0; i < dataLength; i++) {\n data[i] ^= 0xff;\n }\n\n this.buffer = data;\n this.bufferLength = dataLength;\n this.eof = true;\n };\n\n return Jbig2Stream;\n }();\n\n exports.Jbig2Stream = Jbig2Stream;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Jbig2Image = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _arithmetic_decoder = __w_pdfjs_require__(16);\n\n var _ccitt = __w_pdfjs_require__(13);\n\n var Jbig2Error = /*#__PURE__*/function (_util$BaseException4) {\n _inherits(Jbig2Error, _util$BaseException4);\n\n var _super15 = _createSuper(Jbig2Error);\n\n function Jbig2Error(msg) {\n _classCallCheck(this, Jbig2Error);\n\n return _super15.call(this, \"JBIG2 error: \".concat(msg));\n }\n\n return Jbig2Error;\n }(_util.BaseException);\n\n var Jbig2Image = function Jbig2ImageClosure() {\n function ContextCache() {}\n\n ContextCache.prototype = {\n getContexts: function getContexts(id) {\n if (id in this) {\n return this[id];\n }\n\n return this[id] = new Int8Array(1 << 16);\n }\n };\n\n function DecodingContext(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n DecodingContext.prototype = {\n get decoder() {\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n return (0, _util.shadow)(this, \"decoder\", decoder);\n },\n\n get contextCache() {\n var cache = new ContextCache();\n return (0, _util.shadow)(this, \"contextCache\", cache);\n }\n\n };\n\n function decodeInteger(contextCache, procedure, decoder) {\n var contexts = contextCache.getContexts(procedure);\n var prev = 1;\n\n function readBits(length) {\n var v = 0;\n\n for (var i = 0; i < length; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n v = v << 1 | bit;\n }\n\n return v >>> 0;\n }\n\n var sign = readBits(1);\n var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n\n if (sign === 0) {\n return value;\n } else if (value > 0) {\n return -value;\n }\n\n return null;\n }\n\n function decodeIAID(contextCache, decoder, codeLength) {\n var contexts = contextCache.getContexts(\"IAID\");\n var prev = 1;\n\n for (var i = 0; i < codeLength; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev << 1 | bit;\n }\n\n if (codeLength < 31) {\n return prev & (1 << codeLength) - 1;\n }\n\n return prev & 0x7fffffff;\n }\n\n var SegmentTypes = [\"SymbolDictionary\", null, null, null, \"IntermediateTextRegion\", null, \"ImmediateTextRegion\", \"ImmediateLosslessTextRegion\", null, null, null, null, null, null, null, null, \"PatternDictionary\", null, null, null, \"IntermediateHalftoneRegion\", null, \"ImmediateHalftoneRegion\", \"ImmediateLosslessHalftoneRegion\", null, null, null, null, null, null, null, null, null, null, null, null, \"IntermediateGenericRegion\", null, \"ImmediateGenericRegion\", \"ImmediateLosslessGenericRegion\", \"IntermediateGenericRefinementRegion\", null, \"ImmediateGenericRefinementRegion\", \"ImmediateLosslessGenericRefinementRegion\", null, null, null, null, \"PageInformation\", \"EndOfPage\", \"EndOfStripe\", \"EndOfFile\", \"Profiles\", \"Tables\", null, null, null, null, null, null, null, null, \"Extension\"];\n var CodingTemplates = [[{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: 2,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -3,\n y: -1\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }]];\n var RefinementTemplates = [{\n coding: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: -1,\n y: 1\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }, {\n coding: [{\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }];\n var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];\n var RefinementReusedContexts = [0x0020, 0x0008];\n\n function decodeBitmapTemplate0(width, height, decodingContext) {\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GB\");\n var contextLabel,\n i,\n j,\n pixel,\n row,\n row1,\n row2,\n bitmap = [];\n var OLD_PIXEL_MASK = 0x7bf7;\n\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n if (mmr) {\n var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n return decodeMMRBitmap(input, width, height, false);\n }\n\n if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n\n var useskip = !!skip;\n var template = CodingTemplates[templateIndex].concat(at);\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n var templateLength = template.length;\n var templateX = new Int8Array(templateLength);\n var templateY = new Int8Array(templateLength);\n var changingTemplateEntries = [];\n var reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n var c, k;\n\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n\n if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n reuseMask |= 1 << templateLength - 1 - k;\n } else {\n changingTemplateEntries.push(k);\n }\n }\n\n var changingEntriesLength = changingTemplateEntries.length;\n var changingTemplateX = new Int8Array(changingEntriesLength);\n var changingTemplateY = new Int8Array(changingEntriesLength);\n var changingTemplateBit = new Uint16Array(changingEntriesLength);\n\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << templateLength - 1 - k;\n }\n\n var sbb_left = -minX;\n var sbb_top = -minY;\n var sbb_right = width - maxX;\n var pseudoPixelContext = ReusedContexts[templateIndex];\n var row = new Uint8Array(width);\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GB\");\n var ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n bitmap.push(row);\n continue;\n }\n }\n\n row = new Uint8Array(row);\n bitmap.push(row);\n\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n contextLabel = contextLabel << 1 & reuseMask;\n\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n contextLabel = 0;\n shift = templateLength - 1;\n\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n var codingTemplate = RefinementTemplates[templateIndex].coding;\n\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n\n var codingTemplateLength = codingTemplate.length;\n var codingTemplateX = new Int32Array(codingTemplateLength);\n var codingTemplateY = new Int32Array(codingTemplateLength);\n var k;\n\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n\n var referenceTemplate = RefinementTemplates[templateIndex].reference;\n\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n\n var referenceTemplateLength = referenceTemplate.length;\n var referenceTemplateX = new Int32Array(referenceTemplateLength);\n var referenceTemplateY = new Int32Array(referenceTemplateLength);\n\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n\n var referenceWidth = referenceBitmap[0].length;\n var referenceHeight = referenceBitmap.length;\n var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts(\"GR\");\n var ltp = 0;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n throw new Jbig2Error(\"prediction is not supported\");\n }\n }\n\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var j = 0; j < width; j++) {\n var i0, j0;\n var contextLabel = 0;\n\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | bitmap[i0][j0];\n }\n }\n\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n\n if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n }\n\n var newSymbols = [];\n var currentHeight = 0;\n var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var tableB1, symbolWidths;\n\n if (huffman) {\n tableB1 = getStandardTable(1);\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1);\n }\n\n while (newSymbols.length < numberOfNewSymbols) {\n var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, \"IADH\", decoder);\n currentHeight += deltaHeight;\n var currentWidth = 0,\n totalWidth = 0;\n var firstSymbol = huffman ? symbolWidths.length : 0;\n\n while (true) {\n var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, \"IADW\", decoder);\n\n if (deltaWidth === null) {\n break;\n }\n\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n var bitmap;\n\n if (refinement) {\n var numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n } else {\n var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n }\n\n newSymbols.push(bitmap);\n } else if (huffman) {\n symbolWidths.push(currentWidth);\n } else {\n bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n newSymbols.push(bitmap);\n }\n }\n\n if (huffman && !refinement) {\n var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n var collectiveBitmap = void 0;\n\n if (bitmapSize === 0) {\n collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n } else {\n var originalEnd = huffmanInput.end;\n var bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n\n var numberOfSymbolsDecoded = symbolWidths.length;\n\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n newSymbols.push(collectiveBitmap);\n } else {\n var _i9 = void 0,\n y = void 0,\n xMin = 0,\n xMax = void 0,\n bitmapWidth = void 0,\n symbolBitmap = void 0;\n\n for (_i9 = firstSymbol; _i9 < numberOfSymbolsDecoded; _i9++) {\n bitmapWidth = symbolWidths[_i9];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n\n var exportedSymbols = [];\n var flags = [],\n currentFlag = false;\n var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n\n while (flags.length < totalSymbolsLength) {\n var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, \"IAEX\", decoder);\n\n while (runLength--) {\n flags.push(currentFlag);\n }\n\n currentFlag = !currentFlag;\n }\n\n for (var i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n\n for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n\n return exportedSymbols;\n }\n\n function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n var bitmap = [];\n var i, row;\n\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n\n if (defaultPixelValue) {\n for (var j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n bitmap.push(row);\n }\n\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, \"IADT\", decoder);\n var firstS = 0;\n i = 0;\n\n while (i < numberOfSymbolInstances) {\n var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, \"IADT\", decoder);\n stripT += deltaT;\n var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, \"IAFS\", decoder);\n firstS += deltaFirstS;\n var currentS = firstS;\n\n do {\n var currentT = 0;\n\n if (stripSize > 1) {\n currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, \"IAIT\", decoder);\n }\n\n var t = stripSize * stripT + currentT;\n var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, \"IARI\", decoder));\n var symbolBitmap = inputSymbols[symbolId];\n var symbolWidth = symbolBitmap[0].length;\n var symbolHeight = symbolBitmap.length;\n\n if (applyRefinement) {\n var rdw = decodeInteger(contextCache, \"IARDW\", decoder);\n var rdh = decodeInteger(contextCache, \"IARDH\", decoder);\n var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n }\n\n var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n var s2, t2, symbolRow;\n\n if (transposed) {\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[s2];\n var maxWidth = Math.min(width - offsetT, symbolWidth);\n\n switch (combinationOperator) {\n case 0:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n\n break;\n\n case 2:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[t2];\n\n switch (combinationOperator) {\n case 0:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n\n break;\n\n case 2:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolWidth - 1;\n }\n\n i++;\n var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, \"IADS\", decoder);\n\n if (deltaS === null) {\n break;\n }\n\n currentS += deltaS + dsOffset;\n } while (true);\n }\n\n return bitmap;\n }\n\n function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n var at = [];\n\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n var patterns = [];\n\n for (var i = 0; i <= maxPatternIndex; i++) {\n var patternBitmap = [];\n var xMin = patternWidth * i;\n var xMax = xMin + patternWidth;\n\n for (var y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n patterns.push(patternBitmap);\n }\n\n return patterns;\n }\n\n function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n var skip = null;\n\n if (enableSkip) {\n throw new Jbig2Error(\"skip is not supported\");\n }\n\n if (combinationOperator !== 0) {\n throw new Jbig2Error(\"operator \" + combinationOperator + \" is not supported in halftone region\");\n }\n\n var regionBitmap = [];\n var i, j, row;\n\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n regionBitmap.push(row);\n }\n\n var numberOfPatterns = patterns.length;\n var pattern0 = patterns[0];\n var patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n var bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);\n var at = [];\n\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var grayScaleBitPlanes = [];\n var mmrInput, bitmap;\n\n if (mmr) {\n mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n }\n\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n }\n\n grayScaleBitPlanes[i] = bitmap;\n }\n\n var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n patternIndex |= bit << j;\n }\n\n patternBitmap = patterns[patternIndex];\n x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n\n if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n var regionX = void 0,\n regionY = void 0;\n\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n\n return regionBitmap;\n }\n\n function readSegmentHeader(data, start) {\n var segmentHeader = {};\n segmentHeader.number = (0, _core_utils.readUint32)(data, start);\n var flags = data[start + 4];\n var segmentType = flags & 0x3f;\n\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n }\n\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n var pageAssociationFieldSize = !!(flags & 0x40);\n var referredFlags = data[start + 5];\n var referredToCount = referredFlags >> 5 & 7;\n var retainBits = [referredFlags & 31];\n var position = start + 6;\n\n if (referredFlags === 7) {\n referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;\n position += 3;\n var bytes = referredToCount + 7 >> 3;\n retainBits[0] = data[position++];\n\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error(\"invalid referred-to flags\");\n }\n\n segmentHeader.retainBits = retainBits;\n var referredToSegmentNumberSize = 4;\n\n if (segmentHeader.number <= 256) {\n referredToSegmentNumberSize = 1;\n } else if (segmentHeader.number <= 65536) {\n referredToSegmentNumberSize = 2;\n }\n\n var referredTo = [];\n var i, ii;\n\n for (i = 0; i < referredToCount; i++) {\n var number = void 0;\n\n if (referredToSegmentNumberSize === 1) {\n number = data[position];\n } else if (referredToSegmentNumberSize === 2) {\n number = (0, _core_utils.readUint16)(data, position);\n } else {\n number = (0, _core_utils.readUint32)(data, position);\n }\n\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n\n segmentHeader.referredTo = referredTo;\n\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);\n position += 4;\n }\n\n segmentHeader.length = (0, _core_utils.readUint32)(data, position);\n position += 4;\n\n if (segmentHeader.length === 0xffffffff) {\n if (segmentType === 38) {\n var genericRegionInfo = readRegionSegmentInformation(data, position);\n var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n var searchPatternLength = 6;\n var searchPattern = new Uint8Array(searchPatternLength);\n\n if (!genericRegionMmr) {\n searchPattern[0] = 0xff;\n searchPattern[1] = 0xac;\n }\n\n searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;\n searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;\n searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;\n searchPattern[5] = genericRegionInfo.height & 0xff;\n\n for (i = position, ii = data.length; i < ii; i++) {\n var j = 0;\n\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n\n if (segmentHeader.length === 0xffffffff) {\n throw new Jbig2Error(\"segment end was not found\");\n }\n } else {\n throw new Jbig2Error(\"invalid unknown segment length\");\n }\n }\n\n segmentHeader.headerEnd = position;\n return segmentHeader;\n }\n\n function readSegments(header, data, start, end) {\n var segments = [];\n var position = start;\n\n while (position < end) {\n var segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n var segment = {\n header: segmentHeader,\n data: data\n };\n\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n\n segments.push(segment);\n\n if (segmentHeader.type === 51) {\n break;\n }\n }\n\n if (header.randomAccess) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n\n return segments;\n }\n\n function readRegionSegmentInformation(data, start) {\n return {\n width: (0, _core_utils.readUint32)(data, start),\n height: (0, _core_utils.readUint32)(data, start + 4),\n x: (0, _core_utils.readUint32)(data, start + 8),\n y: (0, _core_utils.readUint32)(data, start + 12),\n combinationOperator: data[start + 16] & 7\n };\n }\n\n var RegionSegmentInformationFieldLength = 17;\n\n function processSegment(segment, visitor) {\n var header = segment.header;\n var data = segment.data,\n position = segment.start,\n end = segment.end;\n var args, at, i, atLength;\n\n switch (header.type) {\n case 0:\n var dictionary = {};\n var dictionaryFlags = (0, _core_utils.readUint16)(data, position);\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = dictionaryFlags >> 10 & 3;\n dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n position += 2;\n\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.at = at;\n }\n\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.refinementAt = at;\n }\n\n dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [dictionary, header.number, header.referredTo, data, position, end];\n break;\n\n case 6:\n case 7:\n var textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n\n if (textRegion.huffman) {\n var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n }\n\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n textRegion.refinementAt = at;\n }\n\n textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n\n case 16:\n var patternDictionary = {};\n var patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n\n case 22:\n case 23:\n var halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n\n case 38:\n case 39:\n var genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n genericRegion.at = at;\n }\n\n args = [genericRegion, data, position, end];\n break;\n\n case 48:\n var pageInfo = {\n width: (0, _core_utils.readUint32)(data, position),\n height: (0, _core_utils.readUint32)(data, position + 4),\n resolutionX: (0, _core_utils.readUint32)(data, position + 8),\n resolutionY: (0, _core_utils.readUint32)(data, position + 12)\n };\n\n if (pageInfo.height === 0xffffffff) {\n delete pageInfo.height;\n }\n\n var pageSegmentFlags = data[position + 16];\n (0, _core_utils.readUint16)(data, position + 17);\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n\n case 49:\n break;\n\n case 50:\n break;\n\n case 51:\n break;\n\n case 53:\n args = [header.number, data, position, end];\n break;\n\n case 62:\n break;\n\n default:\n throw new Jbig2Error(\"segment type \".concat(header.typeName, \"(\").concat(header.type, \")\") + \" is not implemented\");\n }\n\n var callbackName = \"on\" + header.typeName;\n\n if (callbackName in visitor) {\n visitor[callbackName].apply(visitor, args);\n }\n }\n\n function processSegments(segments, visitor) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n }\n\n function parseJbig2Chunks(chunks) {\n var visitor = new SimpleSegmentVisitor();\n\n for (var i = 0, ii = chunks.length; i < ii; i++) {\n var chunk = chunks[i];\n var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n\n return visitor.buffer;\n }\n\n function parseJbig2(data) {\n var end = data.length;\n var position = 0;\n\n if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {\n throw new Jbig2Error(\"parseJbig2 - invalid header.\");\n }\n\n var header = Object.create(null);\n position += 8;\n var flags = data[position++];\n header.randomAccess = !(flags & 1);\n\n if (!(flags & 2)) {\n header.numberOfPages = (0, _core_utils.readUint32)(data, position);\n position += 4;\n }\n\n var segments = readSegments(header, data, position, end);\n var visitor = new SimpleSegmentVisitor();\n processSegments(segments, visitor);\n var _visitor$currentPageI = visitor.currentPageInfo,\n width = _visitor$currentPageI.width,\n height = _visitor$currentPageI.height;\n var bitPacked = visitor.buffer;\n var imgData = new Uint8ClampedArray(width * height);\n var q = 0,\n k = 0;\n\n for (var i = 0; i < height; i++) {\n var mask = 0,\n buffer = void 0;\n\n for (var j = 0; j < width; j++) {\n if (!mask) {\n mask = 128;\n buffer = bitPacked[k++];\n }\n\n imgData[q++] = buffer & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n return {\n imgData: imgData,\n width: width,\n height: height\n };\n }\n\n function SimpleSegmentVisitor() {}\n\n SimpleSegmentVisitor.prototype = {\n onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n this.currentPageInfo = info;\n var rowSize = info.width + 7 >> 3;\n var buffer = new Uint8ClampedArray(rowSize * info.height);\n\n if (info.defaultPixelValue) {\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = 0xff;\n }\n }\n\n this.buffer = buffer;\n },\n drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n var pageInfo = this.currentPageInfo;\n var width = regionInfo.width,\n height = regionInfo.height;\n var rowSize = pageInfo.width + 7 >> 3;\n var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n var buffer = this.buffer;\n var mask0 = 128 >> (regionInfo.x & 7);\n var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n var i, j, mask, offset;\n\n switch (combinationOperator) {\n case 0:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n case 2:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n },\n onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion.apply(this, arguments);\n },\n onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n var huffmanTables, huffmanInput;\n\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n huffmanInput = new Reader(data, start, end);\n }\n\n var symbols = this.symbols;\n\n if (!symbols) {\n this.symbols = symbols = {};\n }\n\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n },\n onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n var regionInfo = region.info;\n var huffmanTables, huffmanInput;\n var symbols = this.symbols;\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);\n\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion.apply(this, arguments);\n },\n onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {\n var patterns = this.patterns;\n\n if (!patterns) {\n this.patterns = patterns = {};\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n },\n onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n var patterns = this.patterns[referredSegments[0]];\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion.apply(this, arguments);\n },\n onTables: function onTables(currentSegment, data, start, end) {\n var customTables = this.customTables;\n\n if (!customTables) {\n this.customTables = customTables = {};\n }\n\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n }\n };\n\n function HuffmanLine(lineData) {\n if (lineData.length === 2) {\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === \"lower\";\n }\n }\n\n function HuffmanTreeNode(line) {\n this.children = [];\n\n if (line) {\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n this.isLeaf = false;\n }\n }\n\n HuffmanTreeNode.prototype = {\n buildTree: function buildTree(line, shift) {\n var bit = line.prefixCode >> shift & 1;\n\n if (shift <= 0) {\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n var node = this.children[bit];\n\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n\n node.buildTree(line, shift - 1);\n }\n },\n decodeNode: function decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n\n var htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n\n var node = this.children[reader.readBit()];\n\n if (!node) {\n throw new Jbig2Error(\"invalid Huffman data\");\n }\n\n return node.decodeNode(reader);\n }\n };\n\n function HuffmanTable(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n\n this.rootNode = new HuffmanTreeNode(null);\n\n for (var i = 0, ii = lines.length; i < ii; i++) {\n var line = lines[i];\n\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n\n HuffmanTable.prototype = {\n decode: function decode(reader) {\n return this.rootNode.decodeNode(reader);\n },\n assignPrefixCodes: function assignPrefixCodes(lines) {\n var linesLength = lines.length;\n var prefixLengthMax = 0;\n\n for (var i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n\n var histogram = new Uint32Array(prefixLengthMax + 1);\n\n for (var _i10 = 0; _i10 < linesLength; _i10++) {\n histogram[lines[_i10].prefixLength]++;\n }\n\n var currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n\n while (currentLength <= prefixLengthMax) {\n firstCode = firstCode + histogram[currentLength - 1] << 1;\n currentCode = firstCode;\n currentTemp = 0;\n\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n\n currentTemp++;\n }\n\n currentLength++;\n }\n }\n };\n\n function decodeTablesSegment(data, start, end) {\n var flags = data[start];\n var lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;\n var highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;\n var reader = new Reader(data, start + 9, end);\n var prefixSizeBits = (flags >> 1 & 7) + 1;\n var rangeSizeBits = (flags >> 4 & 7) + 1;\n var lines = [];\n var prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"]));\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n if (flags & 1) {\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n\n return new HuffmanTable(lines, false);\n }\n\n var standardTablesCache = {};\n\n function getStandardTable(number) {\n var table = standardTablesCache[number];\n\n if (table) {\n return table;\n }\n\n var lines;\n\n switch (number) {\n case 1:\n lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n break;\n\n case 2:\n lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];\n break;\n\n case 3:\n lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, \"lower\"], [75, 7, 32, 0x7e], [6, 0x3e]];\n break;\n\n case 4:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];\n break;\n\n case 5:\n lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, \"lower\"], [76, 6, 32, 0x3e]];\n break;\n\n case 6:\n lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, \"lower\"], [2048, 6, 32, 0x3f]];\n break;\n\n case 7:\n lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, \"lower\"], [2048, 5, 32, 0x1f]];\n break;\n\n case 8:\n lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, \"lower\"], [1670, 9, 32, 0x1ff], [2, 0x1]];\n break;\n\n case 9:\n lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, \"lower\"], [3339, 9, 32, 0x1ff], [2, 0x0]];\n break;\n\n case 10:\n lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, \"lower\"], [4166, 8, 32, 0xff], [2, 0x2]];\n break;\n\n case 11:\n lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n break;\n\n case 12:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];\n break;\n\n case 13:\n lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n break;\n\n case 14:\n lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n break;\n\n case 15:\n lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, \"lower\"], [25, 7, 32, 0x7f]];\n break;\n\n default:\n throw new Jbig2Error(\"standard table B.\".concat(number, \" does not exist\"));\n }\n\n for (var i = 0, ii = lines.length; i < ii; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n }\n\n function Reader(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n\n Reader.prototype = {\n readBit: function readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error(\"end of data while reading bit\");\n }\n\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n\n var bit = this.currentByte >> this.shift & 1;\n this.shift--;\n return bit;\n },\n readBits: function readBits(numBits) {\n var result = 0,\n i;\n\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n\n return result;\n },\n byteAlign: function byteAlign() {\n this.shift = -1;\n },\n next: function next() {\n if (this.position >= this.end) {\n return -1;\n }\n\n return this.data[this.position++];\n }\n };\n\n function getCustomHuffmanTable(index, referredTo, customTables) {\n var currentIndex = 0;\n\n for (var i = 0, ii = referredTo.length; i < ii; i++) {\n var table = customTables[referredTo[i]];\n\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n\n currentIndex++;\n }\n }\n\n throw new Jbig2Error(\"can't find custom Huffman table\");\n }\n\n function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n var codes = [];\n\n for (var i = 0; i <= 34; i++) {\n var codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n\n var runCodesTable = new HuffmanTable(codes, false);\n codes.length = 0;\n\n for (var _i11 = 0; _i11 < numberOfSymbols;) {\n var _codeLength = runCodesTable.decode(reader);\n\n if (_codeLength >= 32) {\n var repeatedLength = void 0,\n numberOfRepeats = void 0,\n j = void 0;\n\n switch (_codeLength) {\n case 32:\n if (_i11 === 0) {\n throw new Jbig2Error(\"no previous value in symbol ID table\");\n }\n\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[_i11 - 1].prefixLength;\n break;\n\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n\n default:\n throw new Jbig2Error(\"invalid code length in symbol ID table\");\n }\n\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([_i11, repeatedLength, 0, 0]));\n _i11++;\n }\n } else {\n codes.push(new HuffmanLine([_i11, _codeLength, 0, 0]));\n _i11++;\n }\n }\n\n reader.byteAlign();\n var symbolIDTable = new HuffmanTable(codes, false);\n var customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n\n case 3:\n tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman FS selector\");\n }\n\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n\n case 3:\n tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DS selector\");\n }\n\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n\n case 3:\n tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DT selector\");\n }\n\n if (textRegion.refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n return {\n symbolIDTable: symbolIDTable,\n tableFirstS: tableFirstS,\n tableDeltaS: tableDeltaS,\n tableDeltaT: tableDeltaT\n };\n }\n\n function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n var customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DH selector\");\n }\n\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error(\"invalid Huffman DW selector\");\n }\n\n var tableBitmapSize, tableAggregateInstances;\n\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n\n return {\n tableDeltaHeight: tableDeltaHeight,\n tableDeltaWidth: tableDeltaWidth,\n tableBitmapSize: tableBitmapSize,\n tableAggregateInstances: tableAggregateInstances\n };\n }\n\n function readUncompressedBitmap(reader, width, height) {\n var bitmap = [];\n\n for (var y = 0; y < height; y++) {\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n\n reader.byteAlign();\n }\n\n return bitmap;\n }\n\n function decodeMMRBitmap(input, width, height, endOfBlock) {\n var params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock\n };\n var decoder = new _ccitt.CCITTFaxDecoder(input, params);\n var bitmap = [];\n var currentByte,\n eof = false;\n\n for (var y = 0; y < height; y++) {\n var row = new Uint8Array(width);\n bitmap.push(row);\n var shift = -1;\n\n for (var x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n\n if (currentByte === -1) {\n currentByte = 0;\n eof = true;\n }\n\n shift = 7;\n }\n\n row[x] = currentByte >> shift & 1;\n shift--;\n }\n }\n\n if (endOfBlock && !eof) {\n var lookForEOFLimit = 5;\n\n for (var i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n\n return bitmap;\n }\n\n function Jbig2Image() {}\n\n Jbig2Image.prototype = {\n parseChunks: function parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n },\n parse: function parse(data) {\n var _parseJbig = parseJbig2(data),\n imgData = _parseJbig.imgData,\n width = _parseJbig.width,\n height = _parseJbig.height;\n\n this.width = width;\n this.height = height;\n return imgData;\n }\n };\n return Jbig2Image;\n }();\n\n exports.Jbig2Image = Jbig2Image;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ArithmeticDecoder = void 0;\n var QeTable = [{\n qe: 0x5601,\n nmps: 1,\n nlps: 1,\n switchFlag: 1\n }, {\n qe: 0x3401,\n nmps: 2,\n nlps: 6,\n switchFlag: 0\n }, {\n qe: 0x1801,\n nmps: 3,\n nlps: 9,\n switchFlag: 0\n }, {\n qe: 0x0ac1,\n nmps: 4,\n nlps: 12,\n switchFlag: 0\n }, {\n qe: 0x0521,\n nmps: 5,\n nlps: 29,\n switchFlag: 0\n }, {\n qe: 0x0221,\n nmps: 38,\n nlps: 33,\n switchFlag: 0\n }, {\n qe: 0x5601,\n nmps: 7,\n nlps: 6,\n switchFlag: 1\n }, {\n qe: 0x5401,\n nmps: 8,\n nlps: 14,\n switchFlag: 0\n }, {\n qe: 0x4801,\n nmps: 9,\n nlps: 14,\n switchFlag: 0\n }, {\n qe: 0x3801,\n nmps: 10,\n nlps: 14,\n switchFlag: 0\n }, {\n qe: 0x3001,\n nmps: 11,\n nlps: 17,\n switchFlag: 0\n }, {\n qe: 0x2401,\n nmps: 12,\n nlps: 18,\n switchFlag: 0\n }, {\n qe: 0x1c01,\n nmps: 13,\n nlps: 20,\n switchFlag: 0\n }, {\n qe: 0x1601,\n nmps: 29,\n nlps: 21,\n switchFlag: 0\n }, {\n qe: 0x5601,\n nmps: 15,\n nlps: 14,\n switchFlag: 1\n }, {\n qe: 0x5401,\n nmps: 16,\n nlps: 14,\n switchFlag: 0\n }, {\n qe: 0x5101,\n nmps: 17,\n nlps: 15,\n switchFlag: 0\n }, {\n qe: 0x4801,\n nmps: 18,\n nlps: 16,\n switchFlag: 0\n }, {\n qe: 0x3801,\n nmps: 19,\n nlps: 17,\n switchFlag: 0\n }, {\n qe: 0x3401,\n nmps: 20,\n nlps: 18,\n switchFlag: 0\n }, {\n qe: 0x3001,\n nmps: 21,\n nlps: 19,\n switchFlag: 0\n }, {\n qe: 0x2801,\n nmps: 22,\n nlps: 19,\n switchFlag: 0\n }, {\n qe: 0x2401,\n nmps: 23,\n nlps: 20,\n switchFlag: 0\n }, {\n qe: 0x2201,\n nmps: 24,\n nlps: 21,\n switchFlag: 0\n }, {\n qe: 0x1c01,\n nmps: 25,\n nlps: 22,\n switchFlag: 0\n }, {\n qe: 0x1801,\n nmps: 26,\n nlps: 23,\n switchFlag: 0\n }, {\n qe: 0x1601,\n nmps: 27,\n nlps: 24,\n switchFlag: 0\n }, {\n qe: 0x1401,\n nmps: 28,\n nlps: 25,\n switchFlag: 0\n }, {\n qe: 0x1201,\n nmps: 29,\n nlps: 26,\n switchFlag: 0\n }, {\n qe: 0x1101,\n nmps: 30,\n nlps: 27,\n switchFlag: 0\n }, {\n qe: 0x0ac1,\n nmps: 31,\n nlps: 28,\n switchFlag: 0\n }, {\n qe: 0x09c1,\n nmps: 32,\n nlps: 29,\n switchFlag: 0\n }, {\n qe: 0x08a1,\n nmps: 33,\n nlps: 30,\n switchFlag: 0\n }, {\n qe: 0x0521,\n nmps: 34,\n nlps: 31,\n switchFlag: 0\n }, {\n qe: 0x0441,\n nmps: 35,\n nlps: 32,\n switchFlag: 0\n }, {\n qe: 0x02a1,\n nmps: 36,\n nlps: 33,\n switchFlag: 0\n }, {\n qe: 0x0221,\n nmps: 37,\n nlps: 34,\n switchFlag: 0\n }, {\n qe: 0x0141,\n nmps: 38,\n nlps: 35,\n switchFlag: 0\n }, {\n qe: 0x0111,\n nmps: 39,\n nlps: 36,\n switchFlag: 0\n }, {\n qe: 0x0085,\n nmps: 40,\n nlps: 37,\n switchFlag: 0\n }, {\n qe: 0x0049,\n nmps: 41,\n nlps: 38,\n switchFlag: 0\n }, {\n qe: 0x0025,\n nmps: 42,\n nlps: 39,\n switchFlag: 0\n }, {\n qe: 0x0015,\n nmps: 43,\n nlps: 40,\n switchFlag: 0\n }, {\n qe: 0x0009,\n nmps: 44,\n nlps: 41,\n switchFlag: 0\n }, {\n qe: 0x0005,\n nmps: 45,\n nlps: 42,\n switchFlag: 0\n }, {\n qe: 0x0001,\n nmps: 45,\n nlps: 43,\n switchFlag: 0\n }, {\n qe: 0x5601,\n nmps: 46,\n nlps: 46,\n switchFlag: 0\n }];\n\n var ArithmeticDecoder = /*#__PURE__*/function () {\n function ArithmeticDecoder(data, start, end) {\n _classCallCheck(this, ArithmeticDecoder);\n\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n this.chigh = data[start];\n this.clow = 0;\n this.byteIn();\n this.chigh = this.chigh << 7 & 0xffff | this.clow >> 9 & 0x7f;\n this.clow = this.clow << 7 & 0xffff;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n _createClass(ArithmeticDecoder, [{\n key: \"byteIn\",\n value: function byteIn() {\n var data = this.data;\n var bp = this.bp;\n\n if (data[bp] === 0xff) {\n if (data[bp + 1] > 0x8f) {\n this.clow += 0xff00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n this.ct = 8;\n this.bp = bp;\n }\n\n if (this.clow > 0xffff) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xffff;\n }\n }\n }, {\n key: \"readBit\",\n value: function readBit(contexts, pos) {\n var cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n var qeTableIcx = QeTable[cx_index];\n var qeIcx = qeTableIcx.qe;\n var d;\n var a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = this.chigh << 1 & 0xffff | this.clow >> 15 & 1;\n this.clow = this.clow << 1 & 0xffff;\n this.ct--;\n } while ((a & 0x8000) === 0);\n\n this.a = a;\n contexts[pos] = cx_index << 1 | cx_mps;\n return d;\n }\n }]);\n\n return ArithmeticDecoder;\n }();\n\n exports.ArithmeticDecoder = ArithmeticDecoder;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.JpegStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _stream = __w_pdfjs_require__(11);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _jpg = __w_pdfjs_require__(18);\n\n var JpegStream = function JpegStreamClosure() {\n function JpegStream(stream, maybeLength, dict, params) {\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === 0xff) {\n stream.skip(-1);\n break;\n }\n }\n\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpegStream.prototype, \"bytes\", {\n get: function JpegStream_bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpegStream.prototype.ensureBuffer = function (requested) {};\n\n JpegStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpegOptions = {\n decodeTransform: undefined,\n colorTransform: undefined\n };\n var decodeArr = this.dict.getArray(\"Decode\", \"D\");\n\n if (this.forceRGB && Array.isArray(decodeArr)) {\n var bitsPerComponent = this.dict.get(\"BitsPerComponent\") || 8;\n var decodeArrLength = decodeArr.length;\n var transform = new Int32Array(decodeArrLength);\n var transformNeeded = false;\n var maxValue = (1 << bitsPerComponent) - 1;\n\n for (var i = 0; i < decodeArrLength; i += 2) {\n transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n if (transform[i] !== 256 || transform[i + 1] !== 0) {\n transformNeeded = true;\n }\n }\n\n if (transformNeeded) {\n jpegOptions.decodeTransform = transform;\n }\n }\n\n if ((0, _primitives.isDict)(this.params)) {\n var colorTransform = this.params.get(\"ColorTransform\");\n\n if (Number.isInteger(colorTransform)) {\n jpegOptions.colorTransform = colorTransform;\n }\n }\n\n var jpegImage = new _jpg.JpegImage(jpegOptions);\n jpegImage.parse(this.bytes);\n var data = jpegImage.getData({\n width: this.drawWidth,\n height: this.drawHeight,\n forceRGB: this.forceRGB,\n isSourcePDF: true\n });\n this.buffer = data;\n this.bufferLength = data.length;\n this.eof = true;\n };\n\n Object.defineProperty(JpegStream.prototype, \"maybeValidDimensions\", {\n get: function JpegStream_maybeValidDimensions() {\n var dict = this.dict,\n stream = this.stream;\n var dictHeight = dict.get(\"Height\", \"H\");\n var startPos = stream.pos;\n var validDimensions = true,\n foundSOF = false,\n b;\n\n while ((b = stream.getByte()) !== -1) {\n if (b !== 0xff) {\n continue;\n }\n\n switch (stream.getByte()) {\n case 0xc0:\n case 0xc1:\n case 0xc2:\n foundSOF = true;\n stream.pos += 2;\n stream.pos += 1;\n var scanLines = stream.getUint16();\n\n if (scanLines === dictHeight) {\n break;\n }\n\n if (scanLines === 0) {\n validDimensions = false;\n break;\n }\n\n if (scanLines > dictHeight * 10) {\n validDimensions = false;\n break;\n }\n\n break;\n\n case 0xc3:\n case 0xc5:\n case 0xc6:\n case 0xc7:\n case 0xc9:\n case 0xca:\n case 0xcb:\n case 0xcd:\n case 0xce:\n case 0xcf:\n foundSOF = true;\n break;\n\n case 0xc4:\n case 0xcc:\n case 0xda:\n case 0xdb:\n case 0xdc:\n case 0xdd:\n case 0xde:\n case 0xdf:\n case 0xe0:\n case 0xe1:\n case 0xe2:\n case 0xe3:\n case 0xe4:\n case 0xe5:\n case 0xe6:\n case 0xe7:\n case 0xe8:\n case 0xe9:\n case 0xea:\n case 0xeb:\n case 0xec:\n case 0xed:\n case 0xee:\n case 0xef:\n case 0xfe:\n var markerLength = stream.getUint16();\n\n if (markerLength > 2) {\n stream.skip(markerLength - 2);\n } else {\n stream.skip(-2);\n }\n\n break;\n\n case 0xff:\n stream.skip(-1);\n break;\n\n case 0xd9:\n foundSOF = true;\n break;\n }\n\n if (foundSOF) {\n break;\n }\n }\n\n stream.pos = startPos;\n return (0, _util.shadow)(this, \"maybeValidDimensions\", validDimensions);\n },\n configurable: true\n });\n\n JpegStream.prototype.getIR = function () {\n var forceDataSchema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (0, _util.createObjectURL)(this.bytes, \"image/jpeg\", forceDataSchema);\n };\n\n return JpegStream;\n }();\n\n exports.JpegStream = JpegStream;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.JpegImage = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var JpegError = /*#__PURE__*/function (_util$BaseException5) {\n _inherits(JpegError, _util$BaseException5);\n\n var _super16 = _createSuper(JpegError);\n\n function JpegError(msg) {\n _classCallCheck(this, JpegError);\n\n return _super16.call(this, \"JPEG error: \".concat(msg));\n }\n\n return JpegError;\n }(_util.BaseException);\n\n var DNLMarkerError = /*#__PURE__*/function (_util$BaseException6) {\n _inherits(DNLMarkerError, _util$BaseException6);\n\n var _super17 = _createSuper(DNLMarkerError);\n\n function DNLMarkerError(message, scanLines) {\n var _this21;\n\n _classCallCheck(this, DNLMarkerError);\n\n _this21 = _super17.call(this, message);\n _this21.scanLines = scanLines;\n return _this21;\n }\n\n return DNLMarkerError;\n }(_util.BaseException);\n\n var EOIMarkerError = /*#__PURE__*/function (_util$BaseException7) {\n _inherits(EOIMarkerError, _util$BaseException7);\n\n var _super18 = _createSuper(EOIMarkerError);\n\n function EOIMarkerError() {\n _classCallCheck(this, EOIMarkerError);\n\n return _super18.apply(this, arguments);\n }\n\n return EOIMarkerError;\n }(_util.BaseException);\n\n var JpegImage = function JpegImageClosure() {\n var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n\n function JpegImage() {\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$decodeTransfor = _ref18.decodeTransform,\n decodeTransform = _ref18$decodeTransfor === void 0 ? null : _ref18$decodeTransfor,\n _ref18$colorTransform = _ref18.colorTransform,\n colorTransform = _ref18$colorTransform === void 0 ? -1 : _ref18$colorTransform;\n\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0,\n code = [],\n i,\n j,\n length = 16;\n\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n\n code.push({\n children: [],\n index: 0\n });\n var p = code[0],\n q;\n\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n\n while (p.index > 0) {\n p = code.pop();\n }\n\n p.index++;\n code.push(p);\n\n while (code.length <= i) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n\n k++;\n }\n\n if (i + 1 < length) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var startOffset = offset,\n bitsData = 0,\n bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n\n bitsData = data[offset++];\n\n if (bitsData === 0xff) {\n var nextByte = data[offset++];\n\n if (nextByte) {\n if (nextByte === 0xdc && parseDNLMarker) {\n offset += 2;\n var scanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError(\"Found DNL marker (0xFFDC) while parsing scan data\", scanLines);\n }\n } else if (nextByte === 0xd9) {\n if (parseDNLMarker) {\n var maybeScanLines = blockRow * 8;\n\n if (maybeScanLines > 0 && maybeScanLines < frame.scanLines / 10) {\n throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \" + \"possibly caused by incorrect `scanLines` parameter\", maybeScanLines);\n }\n }\n\n throw new EOIMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data\");\n }\n\n throw new JpegError(\"unexpected marker \".concat((bitsData << 8 | nextByte).toString(16)));\n }\n }\n\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n\n while (true) {\n node = node[readBit()];\n\n switch (typeof node) {\n case \"number\":\n return node;\n\n case \"object\":\n continue;\n }\n\n throw new JpegError(\"invalid huffman sequence\");\n }\n }\n\n function receive(length) {\n var n = 0;\n\n while (length > 0) {\n n = n << 1 | readBit();\n length--;\n }\n\n return n;\n }\n\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n\n var n = receive(length);\n\n if (n >= 1 << length - 1) {\n return n;\n }\n\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[offset] = component.pred += diff;\n var k = 1;\n\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[offset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, offset) {\n component.blockData[offset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n\n function decodeACFirst(component, offset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n\n var k = spectralStart,\n e = spectralEnd;\n\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n\n function decodeACSuccessive(component, offset) {\n var k = spectralStart;\n var e = spectralEnd;\n var r = 0;\n var s;\n var rs;\n\n while (k <= e) {\n var offsetZ = offset + dctZigZag[k];\n var sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n\n switch (successiveACState) {\n case 0:\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError(\"invalid ACn encoding\");\n }\n\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n\n continue;\n\n case 1:\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n\n break;\n\n case 3:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n\n break;\n\n case 4:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n\n break;\n }\n\n k++;\n }\n\n if (successiveACState === 4) {\n eobrun--;\n\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n\n var blockRow = 0;\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = mcu / mcusPerLine | 0;\n var mcuCol = mcu % mcusPerLine;\n blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n function decodeBlock(component, decode, mcu) {\n blockRow = mcu / component.blocksPerLine | 0;\n var blockCol = mcu % component.blocksPerLine;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0,\n fileMarker;\n var mcuExpected;\n\n if (componentsLength === 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n\n var h, v;\n\n while (mcu < mcuExpected) {\n var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n\n mcu++;\n }\n }\n\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n\n if (!fileMarker) {\n break;\n } else if (fileMarker.invalid) {\n (0, _util.warn)(\"decodeScan - unexpected MCU data, current marker is: \" + fileMarker.invalid);\n offset = fileMarker.offset;\n }\n\n var marker = fileMarker && fileMarker.marker;\n\n if (!marker || marker <= 0xff00) {\n throw new JpegError(\"decodeScan - a valid marker was not found.\");\n }\n\n if (marker >= 0xffd0 && marker <= 0xffd7) {\n offset += 2;\n } else {\n break;\n }\n }\n\n fileMarker = findNextFileMarker(data, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)(\"decodeScan - unexpected Scan data, current marker is: \" + fileMarker.invalid);\n offset = fileMarker.offset;\n }\n\n return offset - startOffset;\n }\n\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable,\n blockData = component.blockData;\n var v0, v1, v2, v3, v4, v5, v6, v7;\n var p0, p1, p2, p3, p4, p5, p6, p7;\n var t;\n\n if (!qt) {\n throw new JpegError(\"missing required Quantization Table.\");\n }\n\n for (var row = 0; row < 64; row += 8) {\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n p0 *= qt[row];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 512 >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n v0 = dctSqrt2 * p0 + 128 >> 8;\n v1 = dctSqrt2 * p4 + 128 >> 8;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n v0 = v0 + v1 + 1 >> 1;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n\n for (var col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 8192 >> 14;\n\n if (t < -2040) {\n t = 0;\n } else if (t >= 2024) {\n t = 255;\n } else {\n t = t + 2056 >> 4;\n }\n\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n\n v0 = dctSqrt2 * p0 + 2048 >> 12;\n v1 = dctSqrt2 * p4 + 2048 >> 12;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n v5 = p3;\n v6 = p5;\n v0 = (v0 + v1 + 1 >> 1) + 4112;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n\n if (p0 < 16) {\n p0 = 0;\n } else if (p0 >= 4080) {\n p0 = 255;\n } else {\n p0 >>= 4;\n }\n\n if (p1 < 16) {\n p1 = 0;\n } else if (p1 >= 4080) {\n p1 = 255;\n } else {\n p1 >>= 4;\n }\n\n if (p2 < 16) {\n p2 = 0;\n } else if (p2 >= 4080) {\n p2 = 255;\n } else {\n p2 >>= 4;\n }\n\n if (p3 < 16) {\n p3 = 0;\n } else if (p3 >= 4080) {\n p3 = 255;\n } else {\n p3 >>= 4;\n }\n\n if (p4 < 16) {\n p4 = 0;\n } else if (p4 >= 4080) {\n p4 = 255;\n } else {\n p4 >>= 4;\n }\n\n if (p5 < 16) {\n p5 = 0;\n } else if (p5 >= 4080) {\n p5 = 255;\n } else {\n p5 >>= 4;\n }\n\n if (p6 < 16) {\n p6 = 0;\n } else if (p6 >= 4080) {\n p6 = 255;\n } else {\n p6 >>= 4;\n }\n\n if (p7 < 16) {\n p7 = 0;\n } else if (p7 >= 4080) {\n p7 = 255;\n } else {\n p7 >>= 4;\n }\n\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n }\n\n function buildComponentData(frame, component) {\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var computationBuffer = new Int16Array(64);\n\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n\n return component.blockData;\n }\n\n function findNextFileMarker(data, currentPos) {\n var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;\n var maxPos = data.length - 1;\n var newPos = startPos < currentPos ? startPos : currentPos;\n\n if (currentPos >= maxPos) {\n return null;\n }\n\n var currentMarker = (0, _core_utils.readUint16)(data, currentPos);\n\n if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos\n };\n }\n\n var newMarker = (0, _core_utils.readUint16)(data, newPos);\n\n while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n if (++newPos >= maxPos) {\n return null;\n }\n\n newMarker = (0, _core_utils.readUint16)(data, newPos);\n }\n\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos\n };\n }\n\n JpegImage.prototype = {\n parse: function parse(data) {\n var _ref19 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref19$dnlScanLines = _ref19.dnlScanLines,\n dnlScanLines = _ref19$dnlScanLines === void 0 ? null : _ref19$dnlScanLines;\n\n function readDataBlock() {\n var length = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n var endOffset = offset + length - 2;\n var fileMarker = findNextFileMarker(data, endOffset, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)(\"readDataBlock - incorrect length, current marker is: \" + fileMarker.invalid);\n endOffset = fileMarker.offset;\n }\n\n var array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0;\n var jfif = null;\n var adobe = null;\n var frame, resetInterval;\n var numSOSMarkers = 0;\n var quantizationTables = [];\n var huffmanTablesAC = [],\n huffmanTablesDC = [];\n var fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n if (fileMarker !== 0xffd8) {\n throw new JpegError(\"SOI not found\");\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n markerLoop: while (fileMarker !== 0xffd9) {\n var i, j, l;\n\n switch (fileMarker) {\n case 0xffe0:\n case 0xffe1:\n case 0xffe2:\n case 0xffe3:\n case 0xffe4:\n case 0xffe5:\n case 0xffe6:\n case 0xffe7:\n case 0xffe8:\n case 0xffe9:\n case 0xffea:\n case 0xffeb:\n case 0xffec:\n case 0xffed:\n case 0xffee:\n case 0xffef:\n case 0xfffe:\n var appData = readDataBlock();\n\n if (fileMarker === 0xffe0) {\n if (appData[0] === 0x4a && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n jfif = {\n version: {\n major: appData[5],\n minor: appData[6]\n },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n\n if (fileMarker === 0xffee) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6f && appData[3] === 0x62 && appData[4] === 0x65) {\n adobe = {\n version: appData[5] << 8 | appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n\n break;\n\n case 0xffdb:\n var quantizationTablesLength = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n var z;\n\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Uint16Array(64);\n\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n }\n } else {\n throw new JpegError(\"DQT - invalid table spec\");\n }\n\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n\n break;\n\n case 0xffc0:\n case 0xffc1:\n case 0xffc2:\n if (frame) {\n throw new JpegError(\"Only single frame JPEGs supported\");\n }\n\n offset += 2;\n frame = {};\n frame.extended = fileMarker === 0xffc1;\n frame.progressive = fileMarker === 0xffc2;\n frame.precision = data[offset++];\n var sofScanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++],\n componentId;\n var maxH = 0,\n maxV = 0;\n\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n\n if (maxH < h) {\n maxH = h;\n }\n\n if (maxV < v) {\n maxV = v;\n }\n\n var qId = data[offset + 2];\n l = frame.components.push({\n h: h,\n v: v,\n quantizationId: qId,\n quantizationTable: null\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xffc4:\n var huffmanLength = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n for (i = 2; i < huffmanLength;) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n\n var huffmanValues = new Uint8Array(codeLengthSum);\n\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n\n break;\n\n case 0xffdd:\n offset += 2;\n resetInterval = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n break;\n\n case 0xffda:\n var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n offset += 2;\n var selectorsCount = data[offset++];\n var components = [],\n component;\n\n for (i = 0; i < selectorsCount; i++) {\n var componentIndex = frame.componentIds[data[offset++]];\n component = frame.components[componentIndex];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n\n try {\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- attempting to re-parse the JPEG image.\"));\n return this.parse(data, {\n dnlScanLines: ex.scanLines\n });\n } else if (ex instanceof EOIMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- ignoring the rest of the image data.\"));\n break markerLoop;\n }\n\n throw ex;\n }\n\n break;\n\n case 0xffdc:\n offset += 4;\n break;\n\n case 0xffff:\n if (data[offset] !== 0xff) {\n offset--;\n }\n\n break;\n\n default:\n var nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);\n\n if (nextFileMarker && nextFileMarker.invalid) {\n (0, _util.warn)(\"JpegImage.parse - unexpected data, current marker is: \" + nextFileMarker.invalid);\n offset = nextFileMarker.offset;\n break;\n }\n\n if (offset >= data.length - 1) {\n (0, _util.warn)(\"JpegImage.parse - reached the end of the image data \" + \"without finding an EOI marker (0xFFD9).\");\n break markerLoop;\n }\n\n throw new JpegError(\"JpegImage.parse - unknown marker: \" + fileMarker.toString(16));\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n\n for (i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var quantizationTable = quantizationTables[component.quantizationId];\n\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n\n this.components.push({\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn\n });\n }\n\n this.numComponents = this.components.length;\n return undefined;\n },\n _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {\n var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var scaleX = this.width / width,\n scaleY = this.height / height;\n var component, componentScaleX, componentScaleY, blocksPerScanline;\n var x, y, i, j, k;\n var index;\n var offset = 0;\n var output;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8ClampedArray(dataLength);\n var xScaleBlockOffset = new Uint32Array(width);\n var mask3LSB = 0xfffffff8;\n var lastComponentScaleX;\n\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = component.blocksPerLine + 1 << 3;\n\n if (componentScaleX !== lastComponentScaleX) {\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n\n lastComponentScaleX = componentScaleX;\n }\n\n for (y = 0; y < height; y++) {\n j = 0 | y * componentScaleY;\n index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n\n var transform = this._decodeTransform;\n\n if (!isSourcePDF && numComponents === 4 && !transform) {\n transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n }\n\n if (transform) {\n for (i = 0; i < dataLength;) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n }\n }\n }\n\n return data;\n },\n\n get _isColorConversionNeeded() {\n if (this.adobe) {\n return !!this.adobe.transformCode;\n }\n\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n return false;\n }\n\n return true;\n }\n\n if (this._colorTransform === 1) {\n return true;\n }\n\n return false;\n },\n\n _convertYccToRgb: function convertYccToRgb(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n\n return data;\n },\n _convertYcckToRgb: function convertYcckToRgb(data) {\n var Y, Cb, Cr, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n\n return data.subarray(0, offset);\n },\n _convertYcckToCmyk: function convertYcckToCmyk(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n }\n\n return data;\n },\n _convertCmykToRgb: function convertCmykToRgb(data) {\n var c, m, y, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i];\n m = data[i + 1];\n y = data[i + 2];\n k = data[i + 3];\n data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 0.7364883807733168);\n data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\n }\n\n return data.subarray(0, offset);\n },\n getData: function getData(_ref20) {\n var width = _ref20.width,\n height = _ref20.height,\n _ref20$forceRGB = _ref20.forceRGB,\n forceRGB = _ref20$forceRGB === void 0 ? false : _ref20$forceRGB,\n _ref20$isSourcePDF = _ref20.isSourcePDF,\n isSourcePDF = _ref20$isSourcePDF === void 0 ? false : _ref20$isSourcePDF;\n\n if (this.numComponents > 4) {\n throw new JpegError(\"Unsupported color mode\");\n }\n\n var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n if (this.numComponents === 1 && forceRGB) {\n var dataLength = data.length;\n var rgbData = new Uint8ClampedArray(dataLength * 3);\n var offset = 0;\n\n for (var i = 0; i < dataLength; i++) {\n var grayColor = data[i];\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n }\n\n return rgbData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n\n return this._convertYcckToCmyk(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n\n return data;\n }\n };\n return JpegImage;\n }();\n\n exports.JpegImage = JpegImage;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.JpxStream = void 0;\n\n var _stream = __w_pdfjs_require__(11);\n\n var _jpx = __w_pdfjs_require__(20);\n\n var _util = __w_pdfjs_require__(2);\n\n var JpxStream = function JpxStreamClosure() {\n function JpxStream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpxStream.prototype, \"bytes\", {\n get: function JpxStream_bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpxStream.prototype.ensureBuffer = function (requested) {};\n\n JpxStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parse(this.bytes);\n var width = jpxImage.width;\n var height = jpxImage.height;\n var componentsCount = jpxImage.componentsCount;\n var tileCount = jpxImage.tiles.length;\n\n if (tileCount === 1) {\n this.buffer = jpxImage.tiles[0].items;\n } else {\n var data = new Uint8ClampedArray(width * height * componentsCount);\n\n for (var k = 0; k < tileCount; k++) {\n var tileComponents = jpxImage.tiles[k];\n var tileWidth = tileComponents.width;\n var tileHeight = tileComponents.height;\n var tileLeft = tileComponents.left;\n var tileTop = tileComponents.top;\n var src = tileComponents.items;\n var srcPosition = 0;\n var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n var imgRowSize = width * componentsCount;\n var tileRowSize = tileWidth * componentsCount;\n\n for (var j = 0; j < tileHeight; j++) {\n var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n data.set(rowBytes, dataPosition);\n srcPosition += tileRowSize;\n dataPosition += imgRowSize;\n }\n }\n\n this.buffer = data;\n }\n\n this.bufferLength = this.buffer.length;\n this.eof = true;\n };\n\n return JpxStream;\n }();\n\n exports.JpxStream = JpxStream;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.JpxImage = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _arithmetic_decoder = __w_pdfjs_require__(16);\n\n var JpxError = /*#__PURE__*/function (_util$BaseException8) {\n _inherits(JpxError, _util$BaseException8);\n\n var _super19 = _createSuper(JpxError);\n\n function JpxError(msg) {\n _classCallCheck(this, JpxError);\n\n return _super19.call(this, \"JPX error: \".concat(msg));\n }\n\n return JpxError;\n }(_util.BaseException);\n\n var JpxImage = function JpxImageClosure() {\n var SubbandsGainLog2 = {\n LL: 0,\n LH: 1,\n HL: 1,\n HH: 2\n };\n\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n var head = (0, _core_utils.readUint16)(data, 0);\n\n if (head === 0xff4f) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n var position = 0,\n length = data.length;\n\n while (position < length) {\n var headerSize = 8;\n var lbox = (0, _core_utils.readUint32)(data, position);\n var tbox = (0, _core_utils.readUint32)(data, position + 4);\n position += headerSize;\n\n if (lbox === 1) {\n lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.readUint32)(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n\n if (lbox < headerSize) {\n throw new JpxError(\"Invalid box field size\");\n }\n\n var dataLength = lbox - headerSize;\n var jumpDataLength = true;\n\n switch (tbox) {\n case 0x6a703268:\n jumpDataLength = false;\n break;\n\n case 0x636f6c72:\n var method = data[position];\n\n if (method === 1) {\n var colorspace = (0, _core_utils.readUint32)(data, position + 3);\n\n switch (colorspace) {\n case 16:\n case 17:\n case 18:\n break;\n\n default:\n (0, _util.warn)(\"Unknown colorspace \" + colorspace);\n break;\n }\n } else if (method === 2) {\n (0, _util.info)(\"ICC profile not supported\");\n }\n\n break;\n\n case 0x6a703263:\n this.parseCodestream(data, position, position + dataLength);\n break;\n\n case 0x6a502020:\n if ((0, _core_utils.readUint32)(data, position) !== 0x0d0a870a) {\n (0, _util.warn)(\"Invalid JP2 signature\");\n }\n\n break;\n\n case 0x6a501a1a:\n case 0x66747970:\n case 0x72726571:\n case 0x72657320:\n case 0x69686472:\n break;\n\n default:\n var headerType = String.fromCharCode(tbox >> 24 & 0xff, tbox >> 16 & 0xff, tbox >> 8 & 0xff, tbox & 0xff);\n (0, _util.warn)(\"Unsupported header type \" + tbox + \" (\" + headerType + \")\");\n break;\n }\n\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n },\n parseImageProperties: function JpxImage_parseImageProperties(stream) {\n var newByte = stream.getByte();\n\n while (newByte >= 0) {\n var oldByte = newByte;\n newByte = stream.getByte();\n var code = oldByte << 8 | newByte;\n\n if (code === 0xff51) {\n stream.skip(4);\n var Xsiz = stream.getInt32() >>> 0;\n var Ysiz = stream.getInt32() >>> 0;\n var XOsiz = stream.getInt32() >>> 0;\n var YOsiz = stream.getInt32() >>> 0;\n stream.skip(16);\n var Csiz = stream.getUint16();\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n this.bitsPerComponent = 8;\n return;\n }\n }\n\n throw new JpxError(\"No size marker found in JPX stream\");\n },\n parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n var context = {};\n var doNotRecover = false;\n\n try {\n var position = start;\n\n while (position + 1 < end) {\n var code = (0, _core_utils.readUint16)(data, position);\n position += 2;\n var length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n\n switch (code) {\n case 0xff4f:\n context.mainHeader = true;\n break;\n\n case 0xffd9:\n break;\n\n case 0xff51:\n length = (0, _core_utils.readUint16)(data, position);\n var siz = {};\n siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);\n siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);\n siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);\n siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);\n siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);\n siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);\n var componentsCount = (0, _core_utils.readUint16)(data, position + 36);\n siz.Csiz = componentsCount;\n var components = [];\n j = position + 38;\n\n for (var i = 0; i < componentsCount; i++) {\n var component = {\n precision: (data[j] & 0x7f) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2]\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n\n case 0xff5c:\n length = (0, _core_utils.readUint16)(data, position);\n var qcd = {};\n j = position + 2;\n sqcd = data[j++];\n\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n var spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcd.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n\n break;\n\n case 0xff5d:\n length = (0, _core_utils.readUint16)(data, position);\n var qcc = {};\n j = position + 2;\n var cqcc;\n\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = (0, _core_utils.readUint16)(data, j);\n j += 2;\n }\n\n sqcd = data[j++];\n\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcc.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n\n break;\n\n case 0xff52:\n length = (0, _core_utils.readUint16)(data, position);\n var cod = {};\n j = position + 2;\n var scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = (0, _core_utils.readUint16)(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xf) + 2;\n cod.ycb = (data[j++] & 0xf) + 2;\n var blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n\n if (cod.entropyCoderWithCustomPrecincts) {\n var precinctsSizes = [];\n\n while (j < length + position) {\n var precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xf,\n PPy: precinctsSize >> 4\n });\n }\n\n cod.precinctsSizes = precinctsSizes;\n }\n\n var unsupported = [];\n\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push(\"selectiveArithmeticCodingBypass\");\n }\n\n if (cod.resetContextProbabilities) {\n unsupported.push(\"resetContextProbabilities\");\n }\n\n if (cod.terminationOnEachCodingPass) {\n unsupported.push(\"terminationOnEachCodingPass\");\n }\n\n if (cod.verticallyStripe) {\n unsupported.push(\"verticallyStripe\");\n }\n\n if (cod.predictableTermination) {\n unsupported.push(\"predictableTermination\");\n }\n\n if (unsupported.length > 0) {\n doNotRecover = true;\n throw new Error(\"Unsupported COD options (\" + unsupported.join(\", \") + \")\");\n }\n\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n\n break;\n\n case 0xff90:\n length = (0, _core_utils.readUint16)(data, position);\n tile = {};\n tile.index = (0, _core_utils.readUint16)(data, position + 2);\n tile.length = (0, _core_utils.readUint32)(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n context.mainHeader = false;\n\n if (tile.partIndex === 0) {\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0);\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0);\n }\n\n context.currentTile = tile;\n break;\n\n case 0xff93:\n tile = context.currentTile;\n\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n\n case 0xff55:\n case 0xff57:\n case 0xff58:\n case 0xff64:\n length = (0, _core_utils.readUint16)(data, position);\n break;\n\n case 0xff53:\n throw new Error(\"Codestream code 0xFF53 (COC) is not implemented\");\n\n default:\n throw new Error(\"Unknown codestream code: \" + code.toString(16));\n }\n\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n (0, _util.warn)(\"JPX: Trying to recover from: \" + e.message);\n }\n }\n\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n };\n\n function calculateComponentDimensions(component, siz) {\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n }\n\n function calculateTileGrids(context, components) {\n var siz = context.SIZ;\n var tile,\n tiles = [];\n var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n\n for (var q = 0; q < numYtiles; q++) {\n for (var p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n\n context.tiles = tiles;\n var componentsCount = siz.Csiz;\n\n for (var i = 0, ii = componentsCount; i < ii; i++) {\n var component = components[i];\n\n for (var j = 0, jj = tiles.length; j < jj; j++) {\n var tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n }\n\n function getBlocksDimensions(context, component, r) {\n var codOrCoc = component.codingStyleParameters;\n var result = {};\n\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n\n result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n }\n\n function buildPrecincts(context, resolution, dimensions) {\n var precinctWidth = 1 << dimensions.PPx;\n var precinctHeight = 1 << dimensions.PPy;\n var isZeroRes = resolution.resLevel === 0;\n var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n var numprecincts = numprecinctswide * numprecinctshigh;\n resolution.precinctParameters = {\n precinctWidth: precinctWidth,\n precinctHeight: precinctHeight,\n numprecinctswide: numprecinctswide,\n numprecinctshigh: numprecinctshigh,\n numprecincts: numprecincts,\n precinctWidthInSubband: precinctWidthInSubband,\n precinctHeightInSubband: precinctHeightInSubband\n };\n }\n\n function buildCodeblocks(context, subband, dimensions) {\n var xcb_ = dimensions.xcb_;\n var ycb_ = dimensions.ycb_;\n var codeblockWidth = 1 << xcb_;\n var codeblockHeight = 1 << ycb_;\n var cbx0 = subband.tbx0 >> xcb_;\n var cby0 = subband.tby0 >> ycb_;\n var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n var precinctParameters = subband.resolution.precinctParameters;\n var codeblocks = [];\n var precincts = [];\n var i, j, codeblock, precinctNumber;\n\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1)\n };\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n continue;\n }\n\n codeblocks.push(codeblock);\n var precinct = precincts[precinctNumber];\n\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j\n };\n }\n\n codeblock.precinct = precinct;\n }\n }\n\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n }\n\n function createPacket(resolution, precinctNumber, layerNumber) {\n var precinctCodeblocks = [];\n var subbands = resolution.subbands;\n\n for (var i = 0, ii = subbands.length; i < ii; i++) {\n var subband = subbands[i];\n var codeblocks = subband.codeblocks;\n\n for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n var codeblock = codeblocks[j];\n\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n\n precinctCodeblocks.push(codeblock);\n }\n }\n\n return {\n layerNumber: layerNumber,\n codeblocks: precinctCodeblocks\n };\n }\n\n function LayerResolutionComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var l = 0,\n r = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n r = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ResolutionLayerComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var r = 0,\n l = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n l = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ResolutionPositionComponentLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var l, r, c, p;\n var maxDecompositionLevelsCount = 0;\n\n for (c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n }\n\n var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n var maxNumPrecincts = 0;\n\n for (c = 0; c < componentsCount; ++c) {\n var resolutions = tile.components[c].resolutions;\n\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n }\n }\n\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n if (p >= numprecincts) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n c = 0;\n }\n\n p = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function PositionComponentResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var precinctsIterationSizes = precinctsSizes;\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n c = 0;\n }\n\n px = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function ComponentPositionResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; c < componentsCount; ++c) {\n var component = tile.components[c];\n var precinctsIterationSizes = precinctsSizes.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n px = 0;\n }\n\n py = 0;\n }\n\n throw new JpxError(\"Out of packets\");\n };\n }\n\n function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n var posX = pxIndex * precinctIterationSizes.minWidth;\n var posY = pyIndex * precinctIterationSizes.minHeight;\n\n if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n return null;\n }\n\n var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n }\n\n function getPrecinctSizesInImageScale(tile) {\n var componentsCount = tile.components.length;\n var minWidth = Number.MAX_VALUE;\n var minHeight = Number.MAX_VALUE;\n var maxNumWide = 0;\n var maxNumHigh = 0;\n var sizePerComponent = new Array(componentsCount);\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var sizePerResolution = new Array(decompositionLevelsCount + 1);\n var minWidthCurrentComponent = Number.MAX_VALUE;\n var minHeightCurrentComponent = Number.MAX_VALUE;\n var maxNumWideCurrentComponent = 0;\n var maxNumHighCurrentComponent = 0;\n var scale = 1;\n\n for (var r = decompositionLevelsCount; r >= 0; --r) {\n var resolution = component.resolutions[r];\n var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution\n };\n scale <<= 1;\n }\n\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent\n };\n }\n\n return {\n components: sizePerComponent,\n minWidth: minWidth,\n minHeight: minHeight,\n maxNumWide: maxNumWide,\n maxNumHigh: maxNumHigh\n };\n }\n\n function buildPackets(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var componentsCount = siz.Csiz;\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var resolutions = [];\n var subbands = [];\n\n for (var r = 0; r <= decompositionLevelsCount; r++) {\n var blocksDimensions = getBlocksDimensions(context, component, r);\n var resolution = {};\n var scale = 1 << decompositionLevelsCount - r;\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n var subband;\n\n if (r === 0) {\n subband = {};\n subband.type = \"LL\";\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n var bscale = 1 << decompositionLevelsCount - r + 1;\n var resolutionSubbands = [];\n subband = {};\n subband.type = \"HL\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = \"LH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = \"HH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n resolution.subbands = resolutionSubbands;\n }\n }\n\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n\n var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n break;\n\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n break;\n\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n break;\n\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n break;\n\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n break;\n\n default:\n throw new JpxError(\"Unsupported progression order \".concat(progressionOrder));\n }\n }\n\n function parseTilePackets(context, data, offset, dataLength) {\n var position = 0;\n var buffer,\n bufferSize = 0,\n skipNextBit = false;\n\n function readBits(count) {\n while (bufferSize < count) {\n var b = data[offset + position];\n position++;\n\n if (skipNextBit) {\n buffer = buffer << 7 | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = buffer << 8 | b;\n bufferSize += 8;\n }\n\n if (b === 0xff) {\n skipNextBit = true;\n }\n }\n\n bufferSize -= count;\n return buffer >>> bufferSize & (1 << count) - 1;\n }\n\n function skipMarkerIfEqual(value) {\n if (data[offset + position - 1] === 0xff && data[offset + position] === value) {\n skipBytes(1);\n return true;\n } else if (data[offset + position] === 0xff && data[offset + position + 1] === value) {\n skipBytes(2);\n return true;\n }\n\n return false;\n }\n\n function skipBytes(count) {\n position += count;\n }\n\n function alignToByte() {\n bufferSize = 0;\n\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n\n if (readBits(1) === 0) {\n return 2;\n }\n\n var value = readBits(2);\n\n if (value < 3) {\n return value + 3;\n }\n\n value = readBits(5);\n\n if (value < 31) {\n return value + 6;\n }\n\n value = readBits(7);\n return value + 37;\n }\n\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var sopMarkerUsed = context.COD.sopMarkerUsed;\n var ephMarkerUsed = context.COD.ephMarkerUsed;\n var packetsIterator = tile.packetsIterator;\n\n while (position < dataLength) {\n alignToByte();\n\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n skipBytes(4);\n }\n\n var packet = packetsIterator.nextPacket();\n\n if (!readBits(1)) {\n continue;\n }\n\n var layerNumber = packet.layerNumber;\n var queue = [],\n codeblock;\n\n for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n var precinct = codeblock.precinct;\n var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n var codeblockRow = codeblock.cby - precinct.cbyMin;\n var codeblockIncluded = false;\n var firstTimeInclusion = false;\n var valueReady;\n\n if (codeblock[\"included\"] !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n precinct = codeblock.precinct;\n var inclusionTree, zeroBitPlanesTree;\n\n if (precinct[\"inclusionTree\"] !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n var width = precinct.cbxMax - precinct.cbxMin + 1;\n var height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n }\n\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n\n if (!codeblockIncluded) {\n continue;\n }\n\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n\n var codingpasses = readCodingpasses();\n\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n\n var codingpassesLog2 = (0, _core_utils.log2)(codingpasses);\n var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n var codedDataLength = readBits(bits);\n queue.push({\n codeblock: codeblock,\n codingpasses: codingpasses,\n dataLength: codedDataLength\n });\n }\n\n alignToByte();\n\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n\n while (queue.length > 0) {\n var packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n\n if (codeblock[\"data\"] === undefined) {\n codeblock.data = [];\n }\n\n codeblock.data.push({\n data: data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses\n });\n position += packetItem.dataLength;\n }\n }\n\n return position;\n }\n\n function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n var x0 = subband.tbx0;\n var y0 = subband.tby0;\n var width = subband.tbx1 - subband.tbx0;\n var codeblocks = subband.codeblocks;\n var right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n var bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n\n for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n var codeblock = codeblocks[i];\n var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n\n if (codeblock[\"data\"] === undefined) {\n continue;\n }\n\n var bitModel, currentCodingpassType;\n bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n currentCodingpassType = 2;\n var data = codeblock.data,\n totalLength = 0,\n codingpasses = 0;\n var j, jj, dataItem;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n\n var encodedData = new Uint8Array(totalLength);\n var position = 0;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n\n case 2:\n bitModel.runCleanupPass();\n\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n\n break;\n }\n\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n var sign = bitModel.coefficentsSign;\n var magnitude = bitModel.coefficentsMagnitude;\n var bitsDecoded = bitModel.bitsDecoded;\n var magnitudeCorrection = reversible ? 0 : 0.5;\n var k, n, nb;\n position = 0;\n var interleave = subband.type !== \"LL\";\n\n for (j = 0; j < blockHeight; j++) {\n var row = offset / width | 0;\n var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n\n if (sign[position] !== 0) {\n n = -n;\n }\n\n nb = bitsDecoded[position];\n var pos = interleave ? levelOffset + (offset << 1) : offset;\n\n if (reversible && nb >= mb) {\n coefficients[pos] = n;\n } else {\n coefficients[pos] = n * (1 << mb - nb);\n }\n }\n\n offset++;\n position++;\n }\n\n offset += width - blockWidth;\n }\n }\n }\n\n function transformTile(context, tile, c) {\n var component = tile.components[c];\n var codingStyleParameters = component.codingStyleParameters;\n var quantizationParameters = component.quantizationParameters;\n var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n var spqcds = quantizationParameters.SPqcds;\n var scalarExpounded = quantizationParameters.scalarExpounded;\n var guardBits = quantizationParameters.guardBits;\n var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n var precision = context.components[c].precision;\n var reversible = codingStyleParameters.reversibleTransformation;\n var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n var subbandCoefficients = [];\n var b = 0;\n\n for (var i = 0; i <= decompositionLevelsCount; i++) {\n var resolution = component.resolutions[i];\n var width = resolution.trx1 - resolution.trx0;\n var height = resolution.try1 - resolution.try0;\n var coefficients = new Float32Array(width * height);\n\n for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n var mu, epsilon;\n\n if (!scalarExpounded) {\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n var subband = resolution.subbands[j];\n var gainLog2 = SubbandsGainLog2[subband.type];\n var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);\n var mb = guardBits + epsilon - 1;\n copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n }\n\n subbandCoefficients.push({\n width: width,\n height: height,\n items: coefficients\n });\n }\n\n var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items\n };\n }\n\n function transformComponents(context) {\n var siz = context.SIZ;\n var components = context.components;\n var componentsCount = siz.Csiz;\n var resultImages = [];\n\n for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n var tile = context.tiles[i];\n var transformedTiles = [];\n var c;\n\n for (c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n\n var tile0 = transformedTiles[0];\n var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n var result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out\n };\n var shift, offset;\n var pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n var fourComponents = componentsCount === 4;\n var y0items = transformedTiles[0].items;\n var y1items = transformedTiles[1].items;\n var y2items = transformedTiles[2].items;\n var y3items = fourComponents ? transformedTiles[3].items : null;\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n var component0 = tile.components[0];\n var alpha01 = componentsCount - 3;\n jj = y0items.length;\n\n if (!component0.codingStyleParameters.reversibleTransformation) {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = y0 + 1.402 * y2 >> shift;\n out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n out[pos++] = y0 + 1.772 * y1 >> shift;\n }\n } else {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n var g = y0 - (y2 + y1 >> 2);\n out[pos++] = g + y2 >> shift;\n out[pos++] = g >> shift;\n out[pos++] = g + y1 >> shift;\n }\n }\n\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = y3items[j] + offset >> shift;\n }\n }\n } else {\n for (c = 0; c < componentsCount; c++) {\n var items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = items[j] + offset >> shift;\n pos += componentsCount;\n }\n }\n }\n\n resultImages.push(result);\n }\n\n return resultImages;\n }\n\n function initializeTile(context, tileIndex) {\n var siz = context.SIZ;\n var componentsCount = siz.Csiz;\n var tile = context.tiles[tileIndex];\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n }\n\n var TagTree = function TagTreeClosure() {\n function TagTree(width, height) {\n var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var level = {\n width: width,\n height: height,\n items: []\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n TagTree.prototype = {\n reset: function TagTree_reset(i, j) {\n var currentLevel = 0,\n value = 0,\n level;\n\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n var index = i + j * level.width;\n\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n },\n incrementValue: function TagTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index]++;\n },\n nextLevel: function TagTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n currentLevel--;\n\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return TagTree;\n }();\n\n var InclusionTree = function InclusionTreeClosure() {\n function InclusionTree(width, height, defaultValue) {\n var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var items = new Uint8Array(width * height);\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n\n var level = {\n width: width,\n height: height,\n items: items\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n InclusionTree.prototype = {\n reset: function InclusionTree_reset(i, j, stopValue) {\n var currentLevel = 0;\n\n while (currentLevel < this.levels.length) {\n var level = this.levels[currentLevel];\n var index = i + j * level.width;\n level.index = index;\n var value = level.items[index];\n\n if (value === 0xff) {\n break;\n }\n\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n this.propagateValues();\n return false;\n }\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n this.currentLevel = currentLevel - 1;\n return true;\n },\n incrementValue: function InclusionTree_incrementValue(stopValue) {\n var level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n },\n propagateValues: function InclusionTree_propagateValues() {\n var levelIndex = this.currentLevel;\n var level = this.levels[levelIndex];\n var currentValue = level.items[level.index];\n\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n },\n nextLevel: function InclusionTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n level.items[level.index] = 0xff;\n currentLevel--;\n\n if (currentLevel < 0) {\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return InclusionTree;\n }();\n\n var BitModel = function BitModelClosure() {\n var UNIFORM_CONTEXT = 17;\n var RUNLENGTH_CONTEXT = 18;\n var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n\n function BitModel(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n var contextLabelTable;\n\n if (subband === \"HH\") {\n contextLabelTable = HHContextLabel;\n } else if (subband === \"HL\") {\n contextLabelTable = HLContextLabel;\n } else {\n contextLabelTable = LLAndLHContextsLabel;\n }\n\n this.contextLabelTable = contextLabelTable;\n var coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n var coefficentsMagnitude;\n\n if (mb > 14) {\n coefficentsMagnitude = new Uint32Array(coefficientCount);\n } else if (mb > 6) {\n coefficentsMagnitude = new Uint16Array(coefficientCount);\n } else {\n coefficentsMagnitude = new Uint8Array(coefficientCount);\n }\n\n this.coefficentsMagnitude = coefficentsMagnitude;\n this.processingFlags = new Uint8Array(coefficientCount);\n var bitsDecoded = new Uint8Array(coefficientCount);\n\n if (zeroBitPlanes !== 0) {\n for (var i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n\n this.bitsDecoded = bitsDecoded;\n this.reset();\n }\n\n BitModel.prototype = {\n setDecoder: function BitModel_setDecoder(decoder) {\n this.decoder = decoder;\n },\n reset: function BitModel_reset() {\n this.contexts = new Int8Array(19);\n this.contexts[0] = 4 << 1 | 0;\n this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n },\n setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n var neighborsSignificance = this.neighborsSignificance;\n var width = this.width,\n height = this.height;\n var left = column > 0;\n var right = column + 1 < width;\n var i;\n\n if (row > 0) {\n i = index - width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n\n neighborsSignificance[index] |= 0x80;\n },\n runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var neighborsSignificance = this.neighborsSignificance;\n var processingFlags = this.processingFlags;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processedInverseMask = ~1;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n\n for (var i0 = 0; i0 < height; i0 += 4) {\n for (var j = 0; j < width; j++) {\n var index = i0 * width + j;\n\n for (var i1 = 0; i1 < 4; i1++, index += width) {\n var i = i0 + i1;\n\n if (i >= height) {\n break;\n }\n\n processingFlags[index] &= processedInverseMask;\n\n if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision) {\n var sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contribution, sign0, sign1, significance1;\n var contextLabel, decoded;\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n\n var horizontalContribution = 3 * contribution;\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n\n return decoded;\n },\n runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var neighborsSignificance = this.neighborsSignificance;\n var contexts = this.contexts;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var length = width * height;\n var width4 = width * 4;\n\n for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n\n for (var j = 0; j < width; j++) {\n for (var index = index0 + j; index < indexNext; index += width) {\n if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = 16;\n\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n var significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n var bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n runCleanupPass: function BitModel_runCleanupPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var neighborsSignificance = this.neighborsSignificance;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var oneRowDown = width;\n var twoRowsDown = width * 2;\n var threeRowsDown = width * 3;\n var iNext;\n\n for (var i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n var indexBase = i0 * width;\n var checkAllEmpty = i0 + 3 < height;\n\n for (var j = 0; j < width; j++) {\n var index0 = indexBase + j;\n var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n var i1 = 0,\n index = index0;\n var i = i0,\n sign;\n\n if (allEmpty) {\n var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue;\n }\n\n i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n index = index0;\n\n for (var i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n }\n }\n }\n },\n checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n var decoder = this.decoder;\n var contexts = this.contexts;\n var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (symbol !== 0xa) {\n throw new JpxError(\"Invalid segmentation symbol\");\n }\n }\n };\n return BitModel;\n }();\n\n var Transform = function TransformClosure() {\n function Transform() {}\n\n Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n var ll = subbands[0];\n\n for (var i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n\n return ll;\n };\n\n Transform.prototype.extend = function extend(buffer, offset, size) {\n var i1 = offset - 1,\n j1 = offset + 1;\n var i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n };\n\n Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n var llWidth = ll.width,\n llHeight = ll.height,\n llItems = ll.items;\n var width = hl_lh_hh.width;\n var height = hl_lh_hh.height;\n var items = hl_lh_hh.items;\n var i, j, k, l, u, v;\n\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n\n llItems = ll.items = null;\n var bufferPadding = 4;\n var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n if (width === 1) {\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n }\n }\n\n var numBuffers = 16;\n var colBuffers = [];\n\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n\n var b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n\n if (height === 1) {\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n var buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return {\n width: width,\n height: height,\n items: items\n };\n };\n\n return Transform;\n }();\n\n var IrreversibleTransform = function IrreversibleTransformClosure() {\n function IrreversibleTransform() {\n Transform.call(this);\n }\n\n IrreversibleTransform.prototype = Object.create(Transform.prototype);\n\n IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n, current, next;\n var alpha = -1.586134342059924;\n var beta = -0.052980118572961;\n var gamma = 0.882911075530934;\n var delta = 0.443506852043971;\n var K = 1.230174104914001;\n var K_ = 1 / K;\n j = offset - 3;\n\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n j = offset - 2;\n current = delta * x[j - 1];\n\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n j = offset - 1;\n current = gamma * x[j - 1];\n\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n j = offset;\n current = beta * x[j - 1];\n\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n };\n\n return IrreversibleTransform;\n }();\n\n var ReversibleTransform = function ReversibleTransformClosure() {\n function ReversibleTransform() {\n Transform.call(this);\n }\n\n ReversibleTransform.prototype = Object.create(Transform.prototype);\n\n ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += x[j - 1] + x[j + 1] >> 1;\n }\n };\n\n return ReversibleTransform;\n }();\n\n return JpxImage;\n }();\n\n exports.JpxImage = JpxImage;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _stream = __w_pdfjs_require__(11);\n\n var ARCFourCipher = function ARCFourCipherClosure() {\n function ARCFourCipher(key) {\n this.a = 0;\n this.b = 0;\n var s = new Uint8Array(256);\n var i,\n j = 0,\n tmp,\n keyLength = key.length;\n\n for (i = 0; i < 256; ++i) {\n s[i] = i;\n }\n\n for (i = 0; i < 256; ++i) {\n tmp = s[i];\n j = j + tmp + key[i % keyLength] & 0xff;\n s[i] = s[j];\n s[j] = tmp;\n }\n\n this.s = s;\n }\n\n ARCFourCipher.prototype = {\n encryptBlock: function ARCFourCipher_encryptBlock(data) {\n var i,\n n = data.length,\n tmp,\n tmp2;\n var a = this.a,\n b = this.b,\n s = this.s;\n var output = new Uint8Array(n);\n\n for (i = 0; i < n; ++i) {\n a = a + 1 & 0xff;\n tmp = s[a];\n b = b + tmp & 0xff;\n tmp2 = s[b];\n s[a] = tmp2;\n s[b] = tmp;\n output[i] = data[i] ^ s[tmp + tmp2 & 0xff];\n }\n\n this.a = a;\n this.b = b;\n return output;\n }\n };\n ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n return ARCFourCipher;\n }();\n\n exports.ARCFourCipher = ARCFourCipher;\n\n var calculateMD5 = function calculateMD5Closure() {\n var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n function hash(data, offset, length) {\n var h0 = 1732584193,\n h1 = -271733879,\n h2 = -1732584194,\n h3 = 271733878;\n var paddedLength = length + 72 & ~63;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = length << 3 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n var w = new Int32Array(16);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j, i += 4) {\n w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n f,\n g;\n\n for (j = 0; j < 64; ++j) {\n if (j < 16) {\n f = b & c | ~b & d;\n g = j;\n } else if (j < 32) {\n f = d & b | ~d & c;\n g = 5 * j + 1 & 15;\n } else if (j < 48) {\n f = b ^ c ^ d;\n g = 3 * j + 5 & 15;\n } else {\n f = c ^ (b | ~d);\n g = 7 * j & 15;\n }\n\n var tmp = d,\n rotateArg = a + f + k[j] + w[g] | 0,\n rotate = r[j];\n d = c;\n c = b;\n b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n a = tmp;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n }\n\n return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n }\n\n return hash;\n }();\n\n exports.calculateMD5 = calculateMD5;\n\n var Word64 = function Word64Closure() {\n function Word64(highInteger, lowInteger) {\n this.high = highInteger | 0;\n this.low = lowInteger | 0;\n }\n\n Word64.prototype = {\n and: function Word64_and(word) {\n this.high &= word.high;\n this.low &= word.low;\n },\n xor: function Word64_xor(word) {\n this.high ^= word.high;\n this.low ^= word.low;\n },\n or: function Word64_or(word) {\n this.high |= word.high;\n this.low |= word.low;\n },\n shiftRight: function Word64_shiftRight(places) {\n if (places >= 32) {\n this.low = this.high >>> places - 32 | 0;\n this.high = 0;\n } else {\n this.low = this.low >>> places | this.high << 32 - places;\n this.high = this.high >>> places | 0;\n }\n },\n shiftLeft: function Word64_shiftLeft(places) {\n if (places >= 32) {\n this.high = this.low << places - 32;\n this.low = 0;\n } else {\n this.high = this.high << places | this.low >>> 32 - places;\n this.low = this.low << places;\n }\n },\n rotateRight: function Word64_rotateRight(places) {\n var low, high;\n\n if (places & 32) {\n high = this.low;\n low = this.high;\n } else {\n low = this.low;\n high = this.high;\n }\n\n places &= 31;\n this.low = low >>> places | high << 32 - places;\n this.high = high >>> places | low << 32 - places;\n },\n not: function Word64_not() {\n this.high = ~this.high;\n this.low = ~this.low;\n },\n add: function Word64_add(word) {\n var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n if (lowAdd > 0xffffffff) {\n highAdd += 1;\n }\n\n this.low = lowAdd | 0;\n this.high = highAdd | 0;\n },\n copyTo: function Word64_copyTo(bytes, offset) {\n bytes[offset] = this.high >>> 24 & 0xff;\n bytes[offset + 1] = this.high >> 16 & 0xff;\n bytes[offset + 2] = this.high >> 8 & 0xff;\n bytes[offset + 3] = this.high & 0xff;\n bytes[offset + 4] = this.low >>> 24 & 0xff;\n bytes[offset + 5] = this.low >> 16 & 0xff;\n bytes[offset + 6] = this.low >> 8 & 0xff;\n bytes[offset + 7] = this.low & 0xff;\n },\n assign: function Word64_assign(word) {\n this.high = word.high;\n this.low = word.low;\n }\n };\n return Word64;\n }();\n\n var calculateSHA256 = function calculateSHA256Closure() {\n function rotr(x, n) {\n return x >>> n | x << 32 - n;\n }\n\n function ch(x, y, z) {\n return x & y ^ ~x & z;\n }\n\n function maj(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n\n function sigma(x) {\n return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n }\n\n function sigmaPrime(x) {\n return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n }\n\n function littleSigma(x) {\n return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n }\n\n function littleSigmaPrime(x) {\n return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n }\n\n var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n function hash(data, offset, length) {\n var h0 = 0x6a09e667,\n h1 = 0xbb67ae85,\n h2 = 0x3c6ef372,\n h3 = 0xa54ff53a,\n h4 = 0x510e527f,\n h5 = 0x9b05688c,\n h6 = 0x1f83d9ab,\n h7 = 0x5be0cd19;\n var paddedLength = Math.ceil((length + 9) / 64) * 64;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n var w = new Uint32Array(64);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n i += 4;\n }\n\n for (j = 16; j < 64; ++j) {\n w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n e = h4,\n f = h5,\n g = h6,\n h = h7,\n t1,\n t2;\n\n for (j = 0; j < 64; ++j) {\n t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n t2 = sigma(a) + maj(a, b, c);\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n }\n\n return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n }\n\n return hash;\n }();\n\n exports.calculateSHA256 = calculateSHA256;\n\n var calculateSHA512 = function calculateSHA512Closure() {\n function ch(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.not();\n tmp.and(z);\n result.xor(tmp);\n }\n\n function maj(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.and(z);\n result.xor(tmp);\n tmp.assign(y);\n tmp.and(z);\n result.xor(tmp);\n }\n\n function sigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(28);\n tmp.assign(x);\n tmp.rotateRight(34);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(39);\n result.xor(tmp);\n }\n\n function sigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(14);\n tmp.assign(x);\n tmp.rotateRight(18);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(41);\n result.xor(tmp);\n }\n\n function littleSigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(1);\n tmp.assign(x);\n tmp.rotateRight(8);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(7);\n result.xor(tmp);\n }\n\n function littleSigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(19);\n tmp.assign(x);\n tmp.rotateRight(61);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(6);\n result.xor(tmp);\n }\n\n var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n function hash(data, offset, length, mode384) {\n mode384 = !!mode384;\n var h0, h1, h2, h3, h4, h5, h6, h7;\n\n if (!mode384) {\n h0 = new Word64(0x6a09e667, 0xf3bcc908);\n h1 = new Word64(0xbb67ae85, 0x84caa73b);\n h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n h4 = new Word64(0x510e527f, 0xade682d1);\n h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n h7 = new Word64(0x5be0cd19, 0x137e2179);\n } else {\n h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n h1 = new Word64(0x629a292a, 0x367cd507);\n h2 = new Word64(0x9159015a, 0x3070dd17);\n h3 = new Word64(0x152fecd8, 0xf70e5939);\n h4 = new Word64(0x67332667, 0xffc00b31);\n h5 = new Word64(0x8eb44a87, 0x68581511);\n h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n }\n\n var paddedLength = Math.ceil((length + 17) / 128) * 128;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 16;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n var w = new Array(80);\n\n for (i = 0; i < 80; i++) {\n w[i] = new Word64(0, 0);\n }\n\n var a = new Word64(0, 0),\n b = new Word64(0, 0),\n c = new Word64(0, 0);\n var d = new Word64(0, 0),\n e = new Word64(0, 0),\n f = new Word64(0, 0);\n var g = new Word64(0, 0),\n h = new Word64(0, 0);\n var t1 = new Word64(0, 0),\n t2 = new Word64(0, 0);\n var tmp1 = new Word64(0, 0),\n tmp2 = new Word64(0, 0),\n tmp3;\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n i += 8;\n }\n\n for (j = 16; j < 80; ++j) {\n tmp3 = w[j];\n littleSigmaPrime(tmp3, w[j - 2], tmp2);\n tmp3.add(w[j - 7]);\n littleSigma(tmp1, w[j - 15], tmp2);\n tmp3.add(tmp1);\n tmp3.add(w[j - 16]);\n }\n\n a.assign(h0);\n b.assign(h1);\n c.assign(h2);\n d.assign(h3);\n e.assign(h4);\n f.assign(h5);\n g.assign(h6);\n h.assign(h7);\n\n for (j = 0; j < 80; ++j) {\n t1.assign(h);\n sigmaPrime(tmp1, e, tmp2);\n t1.add(tmp1);\n ch(tmp1, e, f, g, tmp2);\n t1.add(tmp1);\n t1.add(k[j]);\n t1.add(w[j]);\n sigma(t2, a, tmp2);\n maj(tmp1, a, b, c, tmp2);\n t2.add(tmp1);\n tmp3 = h;\n h = g;\n g = f;\n f = e;\n d.add(t1);\n e = d;\n d = c;\n c = b;\n b = a;\n tmp3.assign(t1);\n tmp3.add(t2);\n a = tmp3;\n }\n\n h0.add(a);\n h1.add(b);\n h2.add(c);\n h3.add(d);\n h4.add(e);\n h5.add(f);\n h6.add(g);\n h7.add(h);\n }\n\n var result;\n\n if (!mode384) {\n result = new Uint8Array(64);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n h6.copyTo(result, 48);\n h7.copyTo(result, 56);\n } else {\n result = new Uint8Array(48);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n }\n\n return result;\n }\n\n return hash;\n }();\n\n exports.calculateSHA512 = calculateSHA512;\n\n var calculateSHA384 = function calculateSHA384Closure() {\n function hash(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n }\n\n return hash;\n }();\n\n exports.calculateSHA384 = calculateSHA384;\n\n var NullCipher = function NullCipherClosure() {\n function NullCipher() {}\n\n NullCipher.prototype = {\n decryptBlock: function NullCipher_decryptBlock(data) {\n return data;\n }\n };\n return NullCipher;\n }();\n\n var AESBaseCipher = /*#__PURE__*/function () {\n function AESBaseCipher() {\n _classCallCheck(this, AESBaseCipher);\n\n if (this.constructor === AESBaseCipher) {\n (0, _util.unreachable)(\"Cannot initialize AESBaseCipher.\");\n }\n\n this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n this._mixCol = new Uint8Array(256);\n\n for (var i = 0; i < 256; i++) {\n if (i < 128) {\n this._mixCol[i] = i << 1;\n } else {\n this._mixCol[i] = i << 1 ^ 0x1b;\n }\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferPosition = 0;\n }\n\n _createClass(AESBaseCipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n (0, _util.unreachable)(\"Cannot call `_expandKey` on the base class\");\n }\n }, {\n key: \"_decrypt\",\n value: function _decrypt(input, key) {\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n\n for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j2 = 0; _j2 < 16; ++_j2) {\n state[_j2] = this._inv_s[state[_j2]];\n }\n\n for (var _j3 = 0, _k = i * 16; _j3 < 16; ++_j3, ++_k) {\n state[_j3] ^= key[_k];\n }\n\n for (var _j4 = 0; _j4 < 16; _j4 += 4) {\n var s0 = this._mix[state[_j4]];\n var s1 = this._mix[state[_j4 + 1]];\n var s2 = this._mix[state[_j4 + 2]];\n var s3 = this._mix[state[_j4 + 3]];\n t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n state[_j4] = t >>> 24 & 0xff;\n state[_j4 + 1] = t >> 16 & 0xff;\n state[_j4 + 2] = t >> 8 & 0xff;\n state[_j4 + 3] = t & 0xff;\n }\n }\n\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j5 = 0; _j5 < 16; ++_j5) {\n state[_j5] = this._inv_s[state[_j5]];\n state[_j5] ^= key[_j5];\n }\n\n return state;\n }\n }, {\n key: \"_encrypt\",\n value: function _encrypt(input, key) {\n var s = this._s;\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0; j < 16; ++j) {\n state[j] ^= key[j];\n }\n\n for (var i = 1; i < this._cyclesOfRepetition; i++) {\n for (var _j6 = 0; _j6 < 16; ++_j6) {\n state[_j6] = s[state[_j6]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j7 = 0; _j7 < 16; _j7 += 4) {\n var s0 = state[_j7 + 0];\n var s1 = state[_j7 + 1];\n var s2 = state[_j7 + 2];\n var s3 = state[_j7 + 3];\n t = s0 ^ s1 ^ s2 ^ s3;\n state[_j7 + 0] ^= t ^ this._mixCol[s0 ^ s1];\n state[_j7 + 1] ^= t ^ this._mixCol[s1 ^ s2];\n state[_j7 + 2] ^= t ^ this._mixCol[s2 ^ s3];\n state[_j7 + 3] ^= t ^ this._mixCol[s3 ^ s0];\n }\n\n for (var _j8 = 0, k = i * 16; _j8 < 16; ++_j8, ++k) {\n state[_j8] ^= key[k];\n }\n }\n\n for (var _j9 = 0; _j9 < 16; ++_j9) {\n state[_j9] = s[state[_j9]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j10 = 0, _k2 = this._keySize; _j10 < 16; ++_j10, ++_k2) {\n state[_j10] ^= key[_k2];\n }\n\n return state;\n }\n }, {\n key: \"_decryptBlock2\",\n value: function _decryptBlock2(data, finalize) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [];\n var iv = this.iv;\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n var plain = this._decrypt(buffer, this._key);\n\n for (var j = 0; j < 16; ++j) {\n plain[j] ^= iv[j];\n }\n\n iv = buffer;\n result.push(plain);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n\n if (finalize) {\n var lastBlock = result[result.length - 1];\n var psLen = lastBlock[15];\n\n if (psLen <= 16) {\n for (var _i12 = 15, ii = 16 - psLen; _i12 >= ii; --_i12) {\n if (lastBlock[_i12] !== psLen) {\n psLen = 0;\n break;\n }\n }\n\n outputLength -= psLen;\n result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n }\n }\n\n var output = new Uint8Array(outputLength);\n\n for (var _i13 = 0, _j11 = 0, _ii4 = result.length; _i13 < _ii4; ++_i13, _j11 += 16) {\n output.set(result[_i13], _j11);\n }\n\n return output;\n }\n }, {\n key: \"decryptBlock\",\n value: function decryptBlock(data, finalize) {\n var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var sourceLength = data.length;\n var buffer = this.buffer;\n var bufferLength = this.bufferPosition;\n\n if (iv) {\n this.iv = iv;\n } else {\n for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n buffer[bufferLength] = data[i];\n }\n\n if (bufferLength < 16) {\n this.bufferLength = bufferLength;\n return new Uint8Array(0);\n }\n\n this.iv = buffer;\n data = data.subarray(16);\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferLength = 0;\n this.decryptBlock = this._decryptBlock2;\n return this.decryptBlock(data, finalize);\n }\n }, {\n key: \"encrypt\",\n value: function encrypt(data, iv) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [];\n\n if (!iv) {\n iv = new Uint8Array(16);\n }\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n for (var j = 0; j < 16; ++j) {\n buffer[j] ^= iv[j];\n }\n\n var cipher = this._encrypt(buffer, this._key);\n\n iv = cipher;\n result.push(cipher);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n var output = new Uint8Array(outputLength);\n\n for (var _i14 = 0, _j12 = 0, ii = result.length; _i14 < ii; ++_i14, _j12 += 16) {\n output.set(result[_i14], _j12);\n }\n\n return output;\n }\n }]);\n\n return AESBaseCipher;\n }();\n\n var AES128Cipher = /*#__PURE__*/function (_AESBaseCipher) {\n _inherits(AES128Cipher, _AESBaseCipher);\n\n var _super20 = _createSuper(AES128Cipher);\n\n function AES128Cipher(key) {\n var _this22;\n\n _classCallCheck(this, AES128Cipher);\n\n _this22 = _super20.call(this);\n _this22._cyclesOfRepetition = 10;\n _this22._keySize = 160;\n _this22._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n _this22._key = _this22._expandKey(key);\n return _this22;\n }\n\n _createClass(AES128Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 176;\n var s = this._s;\n var rcon = this._rcon;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n\n for (var j = 16, i = 1; j < b; ++i) {\n var t1 = result[j - 3];\n var t2 = result[j - 2];\n var t3 = result[j - 1];\n var t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ rcon[i];\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 16];\n j++;\n result[j] = t2 ^= result[j - 16];\n j++;\n result[j] = t3 ^= result[j - 16];\n j++;\n result[j] = t4 ^= result[j - 16];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES128Cipher;\n }(AESBaseCipher);\n\n exports.AES128Cipher = AES128Cipher;\n\n var AES256Cipher = /*#__PURE__*/function (_AESBaseCipher2) {\n _inherits(AES256Cipher, _AESBaseCipher2);\n\n var _super21 = _createSuper(AES256Cipher);\n\n function AES256Cipher(key) {\n var _this23;\n\n _classCallCheck(this, AES256Cipher);\n\n _this23 = _super21.call(this);\n _this23._cyclesOfRepetition = 14;\n _this23._keySize = 224;\n _this23._key = _this23._expandKey(key);\n return _this23;\n }\n\n _createClass(AES256Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 240;\n var s = this._s;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n var r = 1;\n var t1, t2, t3, t4;\n\n for (var j = 32, i = 1; j < b; ++i) {\n if (j % 32 === 16) {\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n } else if (j % 32 === 0) {\n t1 = result[j - 3];\n t2 = result[j - 2];\n t3 = result[j - 1];\n t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ r;\n\n if ((r <<= 1) >= 256) {\n r = (r ^ 0x1b) & 0xff;\n }\n }\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 32];\n j++;\n result[j] = t2 ^= result[j - 32];\n j++;\n result[j] = t3 ^= result[j - 32];\n j++;\n result[j] = t4 ^= result[j - 32];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES256Cipher;\n }(AESBaseCipher);\n\n exports.AES256Cipher = AES256Cipher;\n\n var PDF17 = function PDF17Closure() {\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function PDF17() {}\n\n PDF17.prototype = {\n checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF17;\n }();\n\n exports.PDF17 = PDF17;\n\n var PDF20 = function PDF20Closure() {\n function concatArrays(array1, array2) {\n var t = new Uint8Array(array1.length + array2.length);\n t.set(array1, 0);\n t.set(array2, array1.length);\n return t;\n }\n\n function calculatePDF20Hash(password, input, userBytes) {\n var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n var e = [0];\n var i = 0;\n\n while (i < 64 || e[e.length - 1] > i - 32) {\n var arrayLength = password.length + k.length + userBytes.length;\n var k1 = new Uint8Array(arrayLength * 64);\n var array = concatArrays(password, k);\n array = concatArrays(array, userBytes);\n\n for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n k1.set(array, pos);\n }\n\n var cipher = new AES128Cipher(k.subarray(0, 16));\n e = cipher.encrypt(k1, k.subarray(16, 32));\n var remainder = 0;\n\n for (var z = 0; z < 16; z++) {\n remainder *= 256 % 3;\n remainder %= 3;\n remainder += (e[z] >>> 0) % 3;\n remainder %= 3;\n }\n\n if (remainder === 0) {\n k = calculateSHA256(e, 0, e.length);\n } else if (remainder === 1) {\n k = calculateSHA384(e, 0, e.length);\n } else if (remainder === 2) {\n k = calculateSHA512(e, 0, e.length);\n }\n\n i++;\n }\n\n return k.subarray(0, 32);\n }\n\n function PDF20() {}\n\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n PDF20.prototype = {\n hash: function PDF20_hash(password, concatBytes, userBytes) {\n return calculatePDF20Hash(password, concatBytes, userBytes);\n },\n checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculatePDF20Hash(password, hashData, userBytes);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculatePDF20Hash(password, hashData, []);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculatePDF20Hash(password, hashData, userBytes);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculatePDF20Hash(password, hashData, []);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF20;\n }();\n\n exports.PDF20 = PDF20;\n\n var CipherTransform = function CipherTransformClosure() {\n function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n this.StringCipherConstructor = stringCipherConstructor;\n this.StreamCipherConstructor = streamCipherConstructor;\n }\n\n CipherTransform.prototype = {\n createStream: function CipherTransform_createStream(stream, length) {\n var cipher = new this.StreamCipherConstructor();\n return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n return cipher.decryptBlock(data, finalize);\n });\n },\n decryptString: function CipherTransform_decryptString(s) {\n var cipher = new this.StringCipherConstructor();\n var data = (0, _util.stringToBytes)(s);\n data = cipher.decryptBlock(data, true);\n return (0, _util.bytesToString)(data);\n }\n };\n return CipherTransform;\n }();\n\n var CipherTransformFactory = function CipherTransformFactoryClosure() {\n var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n if (password) {\n var passwordLength = Math.min(127, password.length);\n password = password.subarray(0, passwordLength);\n } else {\n password = [];\n }\n\n var pdfAlgorithm;\n\n if (revision === 6) {\n pdfAlgorithm = new PDF20();\n } else {\n pdfAlgorithm = new PDF17();\n }\n\n if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n }\n\n return null;\n }\n\n function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n var hashDataSize = 40 + ownerPassword.length + fileId.length;\n var hashData = new Uint8Array(hashDataSize),\n i = 0,\n j,\n n;\n\n if (password) {\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n for (j = 0, n = ownerPassword.length; j < n; ++j) {\n hashData[i++] = ownerPassword[j];\n }\n\n hashData[i++] = flags & 0xff;\n hashData[i++] = flags >> 8 & 0xff;\n hashData[i++] = flags >> 16 & 0xff;\n hashData[i++] = flags >>> 24 & 0xff;\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n if (revision >= 4 && !encryptMetadata) {\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, keyLengthInBytes);\n }\n }\n\n var encryptionKey = hash.subarray(0, keyLengthInBytes);\n var cipher, checkData;\n\n if (revision >= 3) {\n for (i = 0; i < 32; ++i) {\n hashData[i] = defaultPasswordBytes[i];\n }\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n n = encryptionKey.length;\n var derivedKey = new Uint8Array(n),\n k;\n\n for (j = 1; j <= 19; ++j) {\n for (k = 0; k < n; ++k) {\n derivedKey[k] = encryptionKey[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n checkData = cipher.encryptBlock(checkData);\n }\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n } else {\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n }\n\n return encryptionKey;\n }\n\n function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n var hashData = new Uint8Array(32),\n i = 0,\n j,\n n;\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, hash.length);\n }\n }\n\n var cipher, userPassword;\n\n if (revision >= 3) {\n userPassword = ownerPassword;\n var derivedKey = new Uint8Array(keyLengthInBytes),\n k;\n\n for (j = 19; j >= 0; j--) {\n for (k = 0; k < keyLengthInBytes; ++k) {\n derivedKey[k] = hash[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n userPassword = cipher.encryptBlock(userPassword);\n }\n } else {\n cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n userPassword = cipher.encryptBlock(ownerPassword);\n }\n\n return userPassword;\n }\n\n var identityName = _primitives.Name.get(\"Identity\");\n\n function CipherTransformFactory(dict, fileId, password) {\n var filter = dict.get(\"Filter\");\n\n if (!(0, _primitives.isName)(filter, \"Standard\")) {\n throw new _util.FormatError(\"unknown encryption method\");\n }\n\n this.dict = dict;\n var algorithm = dict.get(\"V\");\n\n if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n throw new _util.FormatError(\"unsupported encryption algorithm\");\n }\n\n this.algorithm = algorithm;\n var keyLength = dict.get(\"Length\");\n\n if (!keyLength) {\n if (algorithm <= 3) {\n keyLength = 40;\n } else {\n var cfDict = dict.get(\"CF\");\n var streamCryptoName = dict.get(\"StmF\");\n\n if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n cfDict.suppressEncryption = true;\n var handlerDict = cfDict.get(streamCryptoName.name);\n keyLength = handlerDict && handlerDict.get(\"Length\") || 128;\n\n if (keyLength < 40) {\n keyLength <<= 3;\n }\n }\n }\n }\n\n if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n throw new _util.FormatError(\"invalid key length\");\n }\n\n var ownerPassword = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(0, 32);\n var userPassword = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 32);\n var flags = dict.get(\"P\");\n var revision = dict.get(\"R\");\n var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get(\"EncryptMetadata\") !== false;\n this.encryptMetadata = encryptMetadata;\n var fileIdBytes = (0, _util.stringToBytes)(fileId);\n var passwordBytes;\n\n if (password) {\n if (revision === 6) {\n try {\n password = (0, _util.utf8StringToString)(password);\n } catch (ex) {\n (0, _util.warn)(\"CipherTransformFactory: \" + \"Unable to convert UTF8 encoded password.\");\n }\n }\n\n passwordBytes = (0, _util.stringToBytes)(password);\n }\n\n var encryptionKey;\n\n if (algorithm !== 5) {\n encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n } else {\n var ownerValidationSalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(32, 40);\n var ownerKeySalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(40, 48);\n var uBytes = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 48);\n var userValidationSalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(32, 40);\n var userKeySalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(40, 48);\n var ownerEncryption = (0, _util.stringToBytes)(dict.get(\"OE\"));\n var userEncryption = (0, _util.stringToBytes)(dict.get(\"UE\"));\n var perms = (0, _util.stringToBytes)(dict.get(\"Perms\"));\n encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n }\n\n if (!encryptionKey && !password) {\n throw new _util.PasswordException(\"No password given\", _util.PasswordResponses.NEED_PASSWORD);\n } else if (!encryptionKey && password) {\n var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n }\n\n if (!encryptionKey) {\n throw new _util.PasswordException(\"Incorrect Password\", _util.PasswordResponses.INCORRECT_PASSWORD);\n }\n\n this.encryptionKey = encryptionKey;\n\n if (algorithm >= 4) {\n var cf = dict.get(\"CF\");\n\n if ((0, _primitives.isDict)(cf)) {\n cf.suppressEncryption = true;\n }\n\n this.cf = cf;\n this.stmf = dict.get(\"StmF\") || identityName;\n this.strf = dict.get(\"StrF\") || identityName;\n this.eff = dict.get(\"EFF\") || this.stmf;\n }\n }\n\n function buildObjectKey(num, gen, encryptionKey, isAes) {\n var key = new Uint8Array(encryptionKey.length + 9),\n i,\n n;\n\n for (i = 0, n = encryptionKey.length; i < n; ++i) {\n key[i] = encryptionKey[i];\n }\n\n key[i++] = num & 0xff;\n key[i++] = num >> 8 & 0xff;\n key[i++] = num >> 16 & 0xff;\n key[i++] = gen & 0xff;\n key[i++] = gen >> 8 & 0xff;\n\n if (isAes) {\n key[i++] = 0x73;\n key[i++] = 0x41;\n key[i++] = 0x6c;\n key[i++] = 0x54;\n }\n\n var hash = calculateMD5(key, 0, i);\n return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n }\n\n function buildCipherConstructor(cf, name, num, gen, key) {\n if (!(0, _primitives.isName)(name)) {\n throw new _util.FormatError(\"Invalid crypt filter name.\");\n }\n\n var cryptFilter = cf.get(name.name);\n var cfm;\n\n if (cryptFilter !== null && cryptFilter !== undefined) {\n cfm = cryptFilter.get(\"CFM\");\n }\n\n if (!cfm || cfm.name === \"None\") {\n return function cipherTransformFactoryBuildCipherConstructorNone() {\n return new NullCipher();\n };\n }\n\n if (cfm.name === \"V2\") {\n return function cipherTransformFactoryBuildCipherConstructorV2() {\n return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n };\n }\n\n if (cfm.name === \"AESV2\") {\n return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n return new AES128Cipher(buildObjectKey(num, gen, key, true));\n };\n }\n\n if (cfm.name === \"AESV3\") {\n return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n return new AES256Cipher(key);\n };\n }\n\n throw new _util.FormatError(\"Unknown crypto method\");\n }\n\n CipherTransformFactory.prototype = {\n createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n if (this.algorithm === 4 || this.algorithm === 5) {\n return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n }\n\n var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n var cipherConstructor = function buildCipherCipherConstructor() {\n return new ARCFourCipher(key);\n };\n\n return new CipherTransform(cipherConstructor, cipherConstructor);\n }\n };\n return CipherTransformFactory;\n }();\n\n exports.CipherTransformFactory = CipherTransformFactory;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ColorSpace = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n function resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n var COMPONENTS = 3;\n alpha01 = alpha01 !== 1 ? 0 : alpha01;\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1 * COMPONENTS;\n\n for (var i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n }\n\n for (var _i15 = 0; _i15 < h2; _i15++) {\n var py = Math.floor(_i15 * yRatio) * w1Scanline;\n\n for (var j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n newIndex += alpha01;\n }\n }\n }\n\n var ColorSpace = /*#__PURE__*/function () {\n function ColorSpace(name, numComps) {\n _classCallCheck(this, ColorSpace);\n\n if (this.constructor === ColorSpace) {\n (0, _util.unreachable)(\"Cannot initialize ColorSpace.\");\n }\n\n this.name = name;\n this.numComps = numComps;\n }\n\n _createClass(ColorSpace, [{\n key: \"getRgb\",\n value: function getRgb(src, srcOffset) {\n var rgb = new Uint8ClampedArray(3);\n this.getRgbItem(src, srcOffset, rgb, 0);\n return rgb;\n }\n }, {\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getRgbItem\");\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getRgbBuffer\");\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n (0, _util.unreachable)(\"Should not call ColorSpace.getOutputLength\");\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return false;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n }\n }, {\n key: \"fillRgb\",\n value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n var count = originalWidth * originalHeight;\n var rgbBuf = null;\n var numComponentColors = 1 << bpc;\n var needsResizing = originalHeight !== height || originalWidth !== width;\n\n if (this.isPassthrough(bpc)) {\n rgbBuf = comps;\n } else if (this.numComps === 1 && count > numComponentColors && this.name !== \"DeviceGray\" && this.name !== \"DeviceRGB\") {\n var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n\n for (var i = 0; i < numComponentColors; i++) {\n allColors[i] = i;\n }\n\n var colorMap = new Uint8ClampedArray(numComponentColors * 3);\n this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n\n if (!needsResizing) {\n var destPos = 0;\n\n for (var _i16 = 0; _i16 < count; ++_i16) {\n var key = comps[_i16] * 3;\n dest[destPos++] = colorMap[key];\n dest[destPos++] = colorMap[key + 1];\n dest[destPos++] = colorMap[key + 2];\n destPos += alpha01;\n }\n } else {\n rgbBuf = new Uint8Array(count * 3);\n var rgbPos = 0;\n\n for (var _i17 = 0; _i17 < count; ++_i17) {\n var _key = comps[_i17] * 3;\n\n rgbBuf[rgbPos++] = colorMap[_key];\n rgbBuf[rgbPos++] = colorMap[_key + 1];\n rgbBuf[rgbPos++] = colorMap[_key + 2];\n }\n }\n } else {\n if (!needsResizing) {\n this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n } else {\n rgbBuf = new Uint8ClampedArray(count * 3);\n this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n }\n }\n\n if (rgbBuf) {\n if (needsResizing) {\n resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n } else {\n var _destPos = 0,\n _rgbPos = 0;\n\n for (var _i18 = 0, ii = width * actualHeight; _i18 < ii; _i18++) {\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n _destPos += alpha01;\n }\n }\n }\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, \"usesZeroToOneRange\", true);\n }\n }], [{\n key: \"parse\",\n value: function parse(cs, xref, res, pdfFunctionFactory) {\n var IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);\n return this.fromIR(IR);\n }\n }, {\n key: \"fromIR\",\n value: function fromIR(IR) {\n var name = Array.isArray(IR) ? IR[0] : IR;\n var whitePoint, blackPoint, gamma;\n\n switch (name) {\n case \"DeviceGrayCS\":\n return this.singletons.gray;\n\n case \"DeviceRgbCS\":\n return this.singletons.rgb;\n\n case \"DeviceCmykCS\":\n return this.singletons.cmyk;\n\n case \"CalGrayCS\":\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n return new CalGrayCS(whitePoint, blackPoint, gamma);\n\n case \"CalRGBCS\":\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n var matrix = IR[4];\n return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n\n case \"PatternCS\":\n var basePatternCS = IR[1];\n\n if (basePatternCS) {\n basePatternCS = this.fromIR(basePatternCS);\n }\n\n return new PatternCS(basePatternCS);\n\n case \"IndexedCS\":\n var baseIndexedCS = IR[1];\n var hiVal = IR[2];\n var lookup = IR[3];\n return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);\n\n case \"AlternateCS\":\n var numComps = IR[1];\n var alt = IR[2];\n var tintFn = IR[3];\n return new AlternateCS(numComps, this.fromIR(alt), tintFn);\n\n case \"LabCS\":\n whitePoint = IR[1];\n blackPoint = IR[2];\n var range = IR[3];\n return new LabCS(whitePoint, blackPoint, range);\n\n default:\n throw new _util.FormatError(\"Unknown colorspace name: \".concat(name));\n }\n }\n }, {\n key: \"parseToIR\",\n value: function parseToIR(cs, xref) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;\n cs = xref.fetchIfRef(cs);\n\n if ((0, _primitives.isName)(cs)) {\n switch (cs.name) {\n case \"DeviceGray\":\n case \"G\":\n return \"DeviceGrayCS\";\n\n case \"DeviceRGB\":\n case \"RGB\":\n return \"DeviceRgbCS\";\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return \"DeviceCmykCS\";\n\n case \"Pattern\":\n return [\"PatternCS\", null];\n\n default:\n if ((0, _primitives.isDict)(res)) {\n var colorSpaces = res.get(\"ColorSpace\");\n\n if ((0, _primitives.isDict)(colorSpaces)) {\n var resCS = colorSpaces.get(cs.name);\n\n if (resCS) {\n if ((0, _primitives.isName)(resCS)) {\n return this.parseToIR(resCS, xref, res, pdfFunctionFactory);\n }\n\n cs = resCS;\n break;\n }\n }\n }\n\n throw new _util.FormatError(\"unrecognized colorspace \".concat(cs.name));\n }\n }\n\n if (Array.isArray(cs)) {\n var mode = xref.fetchIfRef(cs[0]).name;\n var numComps, params, alt, whitePoint, blackPoint, gamma;\n\n switch (mode) {\n case \"DeviceGray\":\n case \"G\":\n return \"DeviceGrayCS\";\n\n case \"DeviceRGB\":\n case \"RGB\":\n return \"DeviceRgbCS\";\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return \"DeviceCmykCS\";\n\n case \"CalGray\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n gamma = params.get(\"Gamma\");\n return [\"CalGrayCS\", whitePoint, blackPoint, gamma];\n\n case \"CalRGB\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n gamma = params.getArray(\"Gamma\");\n var matrix = params.getArray(\"Matrix\");\n return [\"CalRGBCS\", whitePoint, blackPoint, gamma, matrix];\n\n case \"ICCBased\":\n var stream = xref.fetchIfRef(cs[1]);\n var dict = stream.dict;\n numComps = dict.get(\"N\");\n alt = dict.get(\"Alternate\");\n\n if (alt) {\n var altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);\n var altCS = this.fromIR(altIR, pdfFunctionFactory);\n\n if (altCS.numComps === numComps) {\n return altIR;\n }\n\n (0, _util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n }\n\n if (numComps === 1) {\n return \"DeviceGrayCS\";\n } else if (numComps === 3) {\n return \"DeviceRgbCS\";\n } else if (numComps === 4) {\n return \"DeviceCmykCS\";\n }\n\n break;\n\n case \"Pattern\":\n var basePatternCS = cs[1] || null;\n\n if (basePatternCS) {\n basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);\n }\n\n return [\"PatternCS\", basePatternCS];\n\n case \"Indexed\":\n case \"I\":\n var baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);\n var hiVal = xref.fetchIfRef(cs[2]) + 1;\n var lookup = xref.fetchIfRef(cs[3]);\n\n if ((0, _primitives.isStream)(lookup)) {\n lookup = lookup.getBytes();\n }\n\n return [\"IndexedCS\", baseIndexedCS, hiVal, lookup];\n\n case \"Separation\":\n case \"DeviceN\":\n var name = xref.fetchIfRef(cs[1]);\n numComps = Array.isArray(name) ? name.length : 1;\n alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);\n var tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));\n return [\"AlternateCS\", numComps, alt, tintFn];\n\n case \"Lab\":\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray(\"WhitePoint\");\n blackPoint = params.getArray(\"BlackPoint\");\n var range = params.getArray(\"Range\");\n return [\"LabCS\", whitePoint, blackPoint, range];\n\n default:\n throw new _util.FormatError(\"unimplemented color space object \\\"\".concat(mode, \"\\\"\"));\n }\n }\n\n throw new _util.FormatError(\"unrecognized color space object: \\\"\".concat(cs, \"\\\"\"));\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decode, numComps) {\n if (!Array.isArray(decode)) {\n return true;\n }\n\n if (numComps * 2 !== decode.length) {\n (0, _util.warn)(\"The decode map is not the correct length\");\n return true;\n }\n\n for (var i = 0, ii = decode.length; i < ii; i += 2) {\n if (decode[i] !== 0 || decode[i + 1] !== 1) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"singletons\",\n get: function get() {\n return (0, _util.shadow)(this, \"singletons\", {\n get gray() {\n return (0, _util.shadow)(this, \"gray\", new DeviceGrayCS());\n },\n\n get rgb() {\n return (0, _util.shadow)(this, \"rgb\", new DeviceRgbCS());\n },\n\n get cmyk() {\n return (0, _util.shadow)(this, \"cmyk\", new DeviceCmykCS());\n }\n\n });\n }\n }]);\n\n return ColorSpace;\n }();\n\n exports.ColorSpace = ColorSpace;\n\n var AlternateCS = /*#__PURE__*/function (_ColorSpace) {\n _inherits(AlternateCS, _ColorSpace);\n\n var _super22 = _createSuper(AlternateCS);\n\n function AlternateCS(numComps, base, tintFn) {\n var _this24;\n\n _classCallCheck(this, AlternateCS);\n\n _this24 = _super22.call(this, \"Alternate\", numComps);\n _this24.base = base;\n _this24.tintFn = tintFn;\n _this24.tmpBuf = new Float32Array(base.numComps);\n return _this24;\n }\n\n _createClass(AlternateCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var tmpBuf = this.tmpBuf;\n this.tintFn(src, srcOffset, tmpBuf, 0);\n this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var tintFn = this.tintFn;\n var base = this.base;\n var scale = 1 / ((1 << bits) - 1);\n var baseNumComps = base.numComps;\n var usesZeroToOneRange = base.usesZeroToOneRange;\n var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n var pos = isPassthrough ? destOffset : 0;\n var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n var numComps = this.numComps;\n var scaled = new Float32Array(numComps);\n var tinted = new Float32Array(baseNumComps);\n var i, j;\n\n for (i = 0; i < count; i++) {\n for (j = 0; j < numComps; j++) {\n scaled[j] = src[srcOffset++] * scale;\n }\n\n tintFn(scaled, 0, tinted, 0);\n\n if (usesZeroToOneRange) {\n for (j = 0; j < baseNumComps; j++) {\n baseBuf[pos++] = tinted[j] * 255;\n }\n } else {\n base.getRgbItem(tinted, 0, baseBuf, pos);\n pos += baseNumComps;\n }\n }\n\n if (!isPassthrough) {\n base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n }\n }]);\n\n return AlternateCS;\n }(ColorSpace);\n\n var PatternCS = /*#__PURE__*/function (_ColorSpace2) {\n _inherits(PatternCS, _ColorSpace2);\n\n var _super23 = _createSuper(PatternCS);\n\n function PatternCS(baseCS) {\n var _this25;\n\n _classCallCheck(this, PatternCS);\n\n _this25 = _super23.call(this, \"Pattern\", null);\n _this25.base = baseCS;\n return _this25;\n }\n\n _createClass(PatternCS, [{\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n (0, _util.unreachable)(\"Should not call PatternCS.isDefaultDecode\");\n }\n }]);\n\n return PatternCS;\n }(ColorSpace);\n\n var IndexedCS = /*#__PURE__*/function (_ColorSpace3) {\n _inherits(IndexedCS, _ColorSpace3);\n\n var _super24 = _createSuper(IndexedCS);\n\n function IndexedCS(base, highVal, lookup) {\n var _this26;\n\n _classCallCheck(this, IndexedCS);\n\n _this26 = _super24.call(this, \"Indexed\", 1);\n _this26.base = base;\n _this26.highVal = highVal;\n var baseNumComps = base.numComps;\n var length = baseNumComps * highVal;\n\n if ((0, _primitives.isStream)(lookup)) {\n _this26.lookup = new Uint8Array(length);\n var bytes = lookup.getBytes(length);\n\n _this26.lookup.set(bytes);\n } else if ((0, _util.isString)(lookup)) {\n _this26.lookup = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n _this26.lookup[i] = lookup.charCodeAt(i);\n }\n } else if (lookup instanceof Uint8Array) {\n _this26.lookup = lookup;\n } else {\n throw new _util.FormatError(\"Unrecognized lookup table: \".concat(lookup));\n }\n\n return _this26;\n }\n\n _createClass(IndexedCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var numComps = this.base.numComps;\n var start = src[srcOffset] * numComps;\n this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var base = this.base;\n var numComps = base.numComps;\n var outputDelta = base.getOutputLength(numComps, alpha01);\n var lookup = this.lookup;\n\n for (var i = 0; i < count; ++i) {\n var lookupPos = src[srcOffset++] * numComps;\n base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n destOffset += outputDelta;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n if (!Array.isArray(decodeMap)) {\n return true;\n }\n\n if (decodeMap.length !== 2) {\n (0, _util.warn)(\"Decode map length is not correct\");\n return true;\n }\n\n if (!Number.isInteger(bpc) || bpc < 1) {\n (0, _util.warn)(\"Bits per component is not correct\");\n return true;\n }\n\n return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n }\n }]);\n\n return IndexedCS;\n }(ColorSpace);\n\n var DeviceGrayCS = /*#__PURE__*/function (_ColorSpace4) {\n _inherits(DeviceGrayCS, _ColorSpace4);\n\n var _super25 = _createSuper(DeviceGrayCS);\n\n function DeviceGrayCS() {\n _classCallCheck(this, DeviceGrayCS);\n\n return _super25.call(this, \"DeviceGray\", 1);\n }\n\n _createClass(DeviceGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var c = src[srcOffset] * 255;\n dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n var c = scale * src[j++];\n dest[q++] = c;\n dest[q++] = c;\n dest[q++] = c;\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return DeviceGrayCS;\n }(ColorSpace);\n\n var DeviceRgbCS = /*#__PURE__*/function (_ColorSpace5) {\n _inherits(DeviceRgbCS, _ColorSpace5);\n\n var _super26 = _createSuper(DeviceRgbCS);\n\n function DeviceRgbCS() {\n _classCallCheck(this, DeviceRgbCS);\n\n return _super26.call(this, \"DeviceRGB\", 3);\n }\n\n _createClass(DeviceRgbCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n dest[destOffset] = src[srcOffset] * 255;\n dest[destOffset + 1] = src[srcOffset + 1] * 255;\n dest[destOffset + 2] = src[srcOffset + 2] * 255;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n if (bits === 8 && alpha01 === 0) {\n dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n return;\n }\n\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return bits === 8;\n }\n }]);\n\n return DeviceRgbCS;\n }(ColorSpace);\n\n var DeviceCmykCS = function DeviceCmykCSClosure() {\n function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n var c = src[srcOffset] * srcScale;\n var m = src[srcOffset + 1] * srcScale;\n var y = src[srcOffset + 2] * srcScale;\n var k = src[srcOffset + 3] * srcScale;\n dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n }\n\n var DeviceCmykCS = /*#__PURE__*/function (_ColorSpace6) {\n _inherits(DeviceCmykCS, _ColorSpace6);\n\n var _super27 = _createSuper(DeviceCmykCS);\n\n function DeviceCmykCS() {\n _classCallCheck(this, DeviceCmykCS);\n\n return _super27.call(this, \"DeviceCMYK\", 4);\n }\n\n _createClass(DeviceCmykCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(src, srcOffset, 1, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; i++) {\n convertToRgb(src, srcOffset, scale, dest, destOffset);\n srcOffset += 4;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength / 4 * (3 + alpha01) | 0;\n }\n }]);\n\n return DeviceCmykCS;\n }(ColorSpace);\n\n return DeviceCmykCS;\n }();\n\n var CalGrayCS = function CalGrayCSClosure() {\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = src[srcOffset] * scale;\n var AG = Math.pow(A, cs.G);\n var L = cs.YW * AG;\n var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);\n dest[destOffset] = val;\n dest[destOffset + 1] = val;\n dest[destOffset + 2] = val;\n }\n\n var CalGrayCS = /*#__PURE__*/function (_ColorSpace7) {\n _inherits(CalGrayCS, _ColorSpace7);\n\n var _super28 = _createSuper(CalGrayCS);\n\n function CalGrayCS(whitePoint, blackPoint, gamma) {\n var _this27;\n\n _classCallCheck(this, CalGrayCS);\n\n _this27 = _super28.call(this, \"CalGray\", 1);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space CalGray\");\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n gamma = gamma || 1;\n _this27.XW = whitePoint[0];\n _this27.YW = whitePoint[1];\n _this27.ZW = whitePoint[2];\n _this27.XB = blackPoint[0];\n _this27.YB = blackPoint[1];\n _this27.ZB = blackPoint[2];\n _this27.G = gamma;\n\n if (_this27.XW < 0 || _this27.ZW < 0 || _this27.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this27.name) + \", no fallback available\");\n }\n\n if (_this27.XB < 0 || _this27.YB < 0 || _this27.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this27.name, \", falling back to default.\"));\n _this27.XB = _this27.YB = _this27.ZB = 0;\n }\n\n if (_this27.XB !== 0 || _this27.YB !== 0 || _this27.ZB !== 0) {\n (0, _util.warn)(\"\".concat(_this27.name, \", BlackPoint: XB: \").concat(_this27.XB, \", YB: \").concat(_this27.YB, \", \") + \"ZB: \".concat(_this27.ZB, \", only default values are supported.\"));\n }\n\n if (_this27.G < 1) {\n (0, _util.info)(\"Invalid Gamma: \".concat(_this27.G, \" for \").concat(_this27.name, \", \") + \"falling back to default.\");\n _this27.G = 1;\n }\n\n return _this27;\n }\n\n _createClass(CalGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 1;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return CalGrayCS;\n }(ColorSpace);\n\n return CalGrayCS;\n }();\n\n var CalRGBCS = function CalRGBCSClosure() {\n var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n var tempNormalizeMatrix = new Float32Array(3);\n var tempConvertMatrix1 = new Float32Array(3);\n var tempConvertMatrix2 = new Float32Array(3);\n var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n\n function matrixProduct(a, b, result) {\n result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n }\n\n function convertToFlat(sourceWhitePoint, LMS, result) {\n result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n }\n\n function convertToD65(sourceWhitePoint, LMS, result) {\n var D65X = 0.95047;\n var D65Y = 1;\n var D65Z = 1.08883;\n result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n }\n\n function sRGBTransferFunction(color) {\n if (color <= 0.0031308) {\n return adjustToRange(0, 1, 12.92 * color);\n }\n\n return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);\n }\n\n function adjustToRange(min, max, value) {\n return Math.max(min, Math.min(max, value));\n }\n\n function decodeL(L) {\n if (L < 0) {\n return -decodeL(-L);\n }\n\n if (L > 8.0) {\n return Math.pow((L + 16) / 116, 3);\n }\n\n return L * DECODE_L_CONSTANT;\n }\n\n function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n result[0] = XYZ_Flat[0];\n result[1] = XYZ_Flat[1];\n result[2] = XYZ_Flat[2];\n return;\n }\n\n var zeroDecodeL = decodeL(0);\n var X_DST = zeroDecodeL;\n var X_SRC = decodeL(sourceBlackPoint[0]);\n var Y_DST = zeroDecodeL;\n var Y_SRC = decodeL(sourceBlackPoint[1]);\n var Z_DST = zeroDecodeL;\n var Z_SRC = decodeL(sourceBlackPoint[2]);\n var X_Scale = (1 - X_DST) / (1 - X_SRC);\n var X_Offset = 1 - X_Scale;\n var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n var Y_Offset = 1 - Y_Scale;\n var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n var Z_Offset = 1 - Z_Scale;\n result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n }\n\n function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n result[0] = XYZ_In[0];\n result[1] = XYZ_In[1];\n result[2] = XYZ_In[2];\n return;\n }\n\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_Flat = tempNormalizeMatrix;\n convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n }\n\n function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_D65 = tempNormalizeMatrix;\n convertToD65(sourceWhitePoint, LMS, LMS_D65);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n }\n\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = adjustToRange(0, 1, src[srcOffset] * scale);\n var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n var AGR = Math.pow(A, cs.GR);\n var BGG = Math.pow(B, cs.GG);\n var CGB = Math.pow(C, cs.GB);\n var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n var XYZ = tempConvertMatrix1;\n XYZ[0] = X;\n XYZ[1] = Y;\n XYZ[2] = Z;\n var XYZ_Flat = tempConvertMatrix2;\n normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n var XYZ_Black = tempConvertMatrix1;\n compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n var XYZ_D65 = tempConvertMatrix2;\n normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n var SRGB = tempConvertMatrix1;\n matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n }\n\n var CalRGBCS = /*#__PURE__*/function (_ColorSpace8) {\n _inherits(CalRGBCS, _ColorSpace8);\n\n var _super29 = _createSuper(CalRGBCS);\n\n function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n var _this28;\n\n _classCallCheck(this, CalRGBCS);\n\n _this28 = _super29.call(this, \"CalRGB\", 3);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space CalRGB\");\n }\n\n blackPoint = blackPoint || new Float32Array(3);\n gamma = gamma || new Float32Array([1, 1, 1]);\n matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n var XW = whitePoint[0];\n var YW = whitePoint[1];\n var ZW = whitePoint[2];\n _this28.whitePoint = whitePoint;\n var XB = blackPoint[0];\n var YB = blackPoint[1];\n var ZB = blackPoint[2];\n _this28.blackPoint = blackPoint;\n _this28.GR = gamma[0];\n _this28.GG = gamma[1];\n _this28.GB = gamma[2];\n _this28.MXA = matrix[0];\n _this28.MYA = matrix[1];\n _this28.MZA = matrix[2];\n _this28.MXB = matrix[3];\n _this28.MYB = matrix[4];\n _this28.MZB = matrix[5];\n _this28.MXC = matrix[6];\n _this28.MYC = matrix[7];\n _this28.MZC = matrix[8];\n\n if (XW < 0 || ZW < 0 || YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this28.name) + \", no fallback available\");\n }\n\n if (XB < 0 || YB < 0 || ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this28.name, \" [\").concat(XB, \", \").concat(YB, \", \").concat(ZB, \"], \") + \"falling back to default.\");\n _this28.blackPoint = new Float32Array(3);\n }\n\n if (_this28.GR < 0 || _this28.GG < 0 || _this28.GB < 0) {\n (0, _util.info)(\"Invalid Gamma [\".concat(_this28.GR, \", \").concat(_this28.GG, \", \").concat(_this28.GB, \"] for \") + \"\".concat(_this28.name, \", falling back to default.\"));\n _this28.GR = _this28.GG = _this28.GB = 1;\n }\n\n return _this28;\n }\n\n _createClass(CalRGBCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }]);\n\n return CalRGBCS;\n }(ColorSpace);\n\n return CalRGBCS;\n }();\n\n var LabCS = function LabCSClosure() {\n function fn_g(x) {\n var result;\n\n if (x >= 6 / 29) {\n result = x * x * x;\n } else {\n result = 108 / 841 * (x - 4 / 29);\n }\n\n return result;\n }\n\n function decode(value, high1, low2, high2) {\n return low2 + value * (high2 - low2) / high1;\n }\n\n function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n var Ls = src[srcOffset];\n var as = src[srcOffset + 1];\n var bs = src[srcOffset + 2];\n\n if (maxVal !== false) {\n Ls = decode(Ls, maxVal, 0, 100);\n as = decode(as, maxVal, cs.amin, cs.amax);\n bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n }\n\n if (as > cs.amax) {\n as = cs.amax;\n } else if (as < cs.amin) {\n as = cs.amin;\n }\n\n if (bs > cs.bmax) {\n bs = cs.bmax;\n } else if (bs < cs.bmin) {\n bs = cs.bmin;\n }\n\n var M = (Ls + 16) / 116;\n var L = M + as / 500;\n var N = M - bs / 200;\n var X = cs.XW * fn_g(L);\n var Y = cs.YW * fn_g(M);\n var Z = cs.ZW * fn_g(N);\n var r, g, b;\n\n if (cs.ZW < 1) {\n r = X * 3.1339 + Y * -1.617 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n b = X * 0.072 + Y * -0.229 + Z * 1.4057;\n } else {\n r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n b = X * 0.0557 + Y * -0.204 + Z * 1.057;\n }\n\n dest[destOffset] = Math.sqrt(r) * 255;\n dest[destOffset + 1] = Math.sqrt(g) * 255;\n dest[destOffset + 2] = Math.sqrt(b) * 255;\n }\n\n var LabCS = /*#__PURE__*/function (_ColorSpace9) {\n _inherits(LabCS, _ColorSpace9);\n\n var _super30 = _createSuper(LabCS);\n\n function LabCS(whitePoint, blackPoint, range) {\n var _this29;\n\n _classCallCheck(this, LabCS);\n\n _this29 = _super30.call(this, \"Lab\", 3);\n\n if (!whitePoint) {\n throw new _util.FormatError(\"WhitePoint missing - required for color space Lab\");\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n range = range || [-100, 100, -100, 100];\n _this29.XW = whitePoint[0];\n _this29.YW = whitePoint[1];\n _this29.ZW = whitePoint[2];\n _this29.amin = range[0];\n _this29.amax = range[1];\n _this29.bmin = range[2];\n _this29.bmax = range[3];\n _this29.XB = blackPoint[0];\n _this29.YB = blackPoint[1];\n _this29.ZB = blackPoint[2];\n\n if (_this29.XW < 0 || _this29.ZW < 0 || _this29.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components, no fallback available\");\n }\n\n if (_this29.XB < 0 || _this29.YB < 0 || _this29.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint, falling back to default\");\n _this29.XB = _this29.YB = _this29.ZB = 0;\n }\n\n if (_this29.amin > _this29.amax || _this29.bmin > _this29.bmax) {\n (0, _util.info)(\"Invalid Range, falling back to defaults\");\n _this29.amin = -100;\n _this29.amax = 100;\n _this29.bmin = -100;\n _this29.bmax = 100;\n }\n\n return _this29;\n }\n\n _createClass(LabCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, false, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var maxVal = (1 << bits) - 1;\n\n for (var i = 0; i < count; i++) {\n convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return true;\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, \"usesZeroToOneRange\", false);\n }\n }]);\n\n return LabCS;\n }(ColorSpace);\n\n return LabCS;\n }();\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getQuadPoints = getQuadPoints;\n exports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _obj = __w_pdfjs_require__(9);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _colorspace = __w_pdfjs_require__(22);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _operator_list = __w_pdfjs_require__(24);\n\n var _stream = __w_pdfjs_require__(11);\n\n var AnnotationFactory = /*#__PURE__*/function () {\n function AnnotationFactory() {\n _classCallCheck(this, AnnotationFactory);\n }\n\n _createClass(AnnotationFactory, null, [{\n key: \"create\",\n value: function create(xref, ref, pdfManager, idFactory) {\n return pdfManager.ensure(this, \"_create\", [xref, ref, pdfManager, idFactory]);\n }\n }, {\n key: \"_create\",\n value: function _create(xref, ref, pdfManager, idFactory) {\n var dict = xref.fetchIfRef(ref);\n\n if (!(0, _primitives.isDict)(dict)) {\n return undefined;\n }\n\n var id = (0, _primitives.isRef)(ref) ? ref.toString() : \"annot_\".concat(idFactory.createObjId());\n var subtype = dict.get(\"Subtype\");\n subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n var parameters = {\n xref: xref,\n dict: dict,\n subtype: subtype,\n id: id,\n pdfManager: pdfManager\n };\n\n switch (subtype) {\n case \"Link\":\n return new LinkAnnotation(parameters);\n\n case \"Text\":\n return new TextAnnotation(parameters);\n\n case \"Widget\":\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"FT\"\n });\n fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotation(parameters);\n\n case \"Btn\":\n return new ButtonWidgetAnnotation(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotation(parameters);\n }\n\n (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + \"falling back to base field type.\");\n return new WidgetAnnotation(parameters);\n\n case \"Popup\":\n return new PopupAnnotation(parameters);\n\n case \"FreeText\":\n return new FreeTextAnnotation(parameters);\n\n case \"Line\":\n return new LineAnnotation(parameters);\n\n case \"Square\":\n return new SquareAnnotation(parameters);\n\n case \"Circle\":\n return new CircleAnnotation(parameters);\n\n case \"PolyLine\":\n return new PolylineAnnotation(parameters);\n\n case \"Polygon\":\n return new PolygonAnnotation(parameters);\n\n case \"Caret\":\n return new CaretAnnotation(parameters);\n\n case \"Ink\":\n return new InkAnnotation(parameters);\n\n case \"Highlight\":\n return new HighlightAnnotation(parameters);\n\n case \"Underline\":\n return new UnderlineAnnotation(parameters);\n\n case \"Squiggly\":\n return new SquigglyAnnotation(parameters);\n\n case \"StrikeOut\":\n return new StrikeOutAnnotation(parameters);\n\n case \"Stamp\":\n return new StampAnnotation(parameters);\n\n case \"FileAttachment\":\n return new FileAttachmentAnnotation(parameters);\n\n default:\n if (!subtype) {\n (0, _util.warn)(\"Annotation is missing the required /Subtype.\");\n } else {\n (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + \"falling back to base annotation.\");\n }\n\n return new Annotation(parameters);\n }\n }\n }]);\n\n return AnnotationFactory;\n }();\n\n exports.AnnotationFactory = AnnotationFactory;\n\n function getQuadPoints(dict, rect) {\n if (!dict.has(\"QuadPoints\")) {\n return null;\n }\n\n var quadPoints = dict.getArray(\"QuadPoints\");\n\n if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {\n return null;\n }\n\n var quadPointsLists = [];\n\n for (var i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n quadPointsLists.push([]);\n\n for (var j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n var x = quadPoints[j];\n var y = quadPoints[j + 1];\n\n if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {\n return null;\n }\n\n quadPointsLists[i].push({\n x: x,\n y: y\n });\n }\n }\n\n return quadPointsLists;\n }\n\n function getTransformMatrix(rect, bbox, matrix) {\n var _util$Util$getAxialAl = _util.Util.getAxialAlignedBoundingBox(bbox, matrix),\n _util$Util$getAxialAl2 = _slicedToArray(_util$Util$getAxialAl, 4),\n minX = _util$Util$getAxialAl2[0],\n minY = _util$Util$getAxialAl2[1],\n maxX = _util$Util$getAxialAl2[2],\n maxY = _util$Util$getAxialAl2[3];\n\n if (minX === maxX || minY === maxY) {\n return [1, 0, 0, 1, rect[0], rect[1]];\n }\n\n var xRatio = (rect[2] - rect[0]) / (maxX - minX);\n var yRatio = (rect[3] - rect[1]) / (maxY - minY);\n return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n }\n\n var Annotation = /*#__PURE__*/function () {\n function Annotation(params) {\n _classCallCheck(this, Annotation);\n\n var dict = params.dict;\n this.setContents(dict.get(\"Contents\"));\n this.setModificationDate(dict.get(\"M\"));\n this.setFlags(dict.get(\"F\"));\n this.setRectangle(dict.getArray(\"Rect\"));\n this.setColor(dict.getArray(\"C\"));\n this.setBorderStyle(dict);\n this.setAppearance(dict);\n this.data = {\n annotationFlags: this.flags,\n borderStyle: this.borderStyle,\n color: this.color,\n contents: this.contents,\n hasAppearance: !!this.appearance,\n id: params.id,\n modificationDate: this.modificationDate,\n rect: this.rectangle,\n subtype: params.subtype\n };\n }\n\n _createClass(Annotation, [{\n key: \"_hasFlag\",\n value: function _hasFlag(flags, flag) {\n return !!(flags & flag);\n }\n }, {\n key: \"_isViewable\",\n value: function _isViewable(flags) {\n return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n }\n }, {\n key: \"_isPrintable\",\n value: function _isPrintable(flags) {\n return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);\n }\n }, {\n key: \"viewable\",\n get: function get() {\n if (this.flags === 0) {\n return true;\n }\n\n return this._isViewable(this.flags);\n }\n }, {\n key: \"printable\",\n get: function get() {\n if (this.flags === 0) {\n return false;\n }\n\n return this._isPrintable(this.flags);\n }\n }, {\n key: \"setContents\",\n value: function setContents(contents) {\n this.contents = (0, _util.stringToPDFString)(contents || \"\");\n }\n }, {\n key: \"setModificationDate\",\n value: function setModificationDate(modificationDate) {\n this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;\n }\n }, {\n key: \"setFlags\",\n value: function setFlags(flags) {\n this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n }\n }, {\n key: \"hasFlag\",\n value: function hasFlag(flag) {\n return this._hasFlag(this.flags, flag);\n }\n }, {\n key: \"setRectangle\",\n value: function setRectangle(rectangle) {\n if (Array.isArray(rectangle) && rectangle.length === 4) {\n this.rectangle = _util.Util.normalizeRect(rectangle);\n } else {\n this.rectangle = [0, 0, 0, 0];\n }\n }\n }, {\n key: \"setColor\",\n value: function setColor(color) {\n var rgbColor = new Uint8ClampedArray(3);\n\n if (!Array.isArray(color)) {\n this.color = rgbColor;\n return;\n }\n\n switch (color.length) {\n case 0:\n this.color = null;\n break;\n\n case 1:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 3:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 4:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n default:\n this.color = rgbColor;\n break;\n }\n }\n }, {\n key: \"setBorderStyle\",\n value: function setBorderStyle(borderStyle) {\n this.borderStyle = new AnnotationBorderStyle();\n\n if (!(0, _primitives.isDict)(borderStyle)) {\n return;\n }\n\n if (borderStyle.has(\"BS\")) {\n var dict = borderStyle.get(\"BS\");\n var dictType = dict.get(\"Type\");\n\n if (!dictType || (0, _primitives.isName)(dictType, \"Border\")) {\n this.borderStyle.setWidth(dict.get(\"W\"), this.rectangle);\n this.borderStyle.setStyle(dict.get(\"S\"));\n this.borderStyle.setDashArray(dict.getArray(\"D\"));\n }\n } else if (borderStyle.has(\"Border\")) {\n var array = borderStyle.getArray(\"Border\");\n\n if (Array.isArray(array) && array.length >= 3) {\n this.borderStyle.setHorizontalCornerRadius(array[0]);\n this.borderStyle.setVerticalCornerRadius(array[1]);\n this.borderStyle.setWidth(array[2], this.rectangle);\n\n if (array.length === 4) {\n this.borderStyle.setDashArray(array[3]);\n }\n }\n } else {\n this.borderStyle.setWidth(0);\n }\n }\n }, {\n key: \"setAppearance\",\n value: function setAppearance(dict) {\n this.appearance = null;\n var appearanceStates = dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get(\"N\");\n\n if ((0, _primitives.isStream)(normalAppearanceState)) {\n this.appearance = normalAppearanceState;\n return;\n }\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var as = dict.get(\"AS\");\n\n if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n return;\n }\n\n this.appearance = normalAppearanceState.get(as.name);\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n return this.appearance.dict.getAsync(\"Resources\").then(function (resources) {\n if (!resources) {\n return undefined;\n }\n\n var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n return objectLoader.load().then(function () {\n return resources;\n });\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n var _this30 = this;\n\n if (!this.appearance) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n var data = this.data;\n var appearanceDict = this.appearance.dict;\n var resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n var bbox = appearanceDict.getArray(\"BBox\") || [0, 0, 1, 1];\n var matrix = appearanceDict.getArray(\"Matrix\") || [1, 0, 0, 1, 0, 0];\n var transform = getTransformMatrix(data.rect, bbox, matrix);\n return resourcesPromise.then(function (resources) {\n var opList = new _operator_list.OperatorList();\n opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n return evaluator.getOperatorList({\n stream: _this30.appearance,\n task: task,\n resources: resources,\n operatorList: opList\n }).then(function () {\n opList.addOp(_util.OPS.endAnnotation, []);\n\n _this30.appearance.reset();\n\n return opList;\n });\n });\n }\n }]);\n\n return Annotation;\n }();\n\n exports.Annotation = Annotation;\n\n var AnnotationBorderStyle = /*#__PURE__*/function () {\n function AnnotationBorderStyle() {\n _classCallCheck(this, AnnotationBorderStyle);\n\n this.width = 1;\n this.style = _util.AnnotationBorderStyleType.SOLID;\n this.dashArray = [3];\n this.horizontalCornerRadius = 0;\n this.verticalCornerRadius = 0;\n }\n\n _createClass(AnnotationBorderStyle, [{\n key: \"setWidth\",\n value: function setWidth(width) {\n var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];\n\n if ((0, _primitives.isName)(width)) {\n this.width = 0;\n return;\n }\n\n if (Number.isInteger(width)) {\n if (width > 0) {\n var maxWidth = (rect[2] - rect[0]) / 2;\n var maxHeight = (rect[3] - rect[1]) / 2;\n\n if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n (0, _util.warn)(\"AnnotationBorderStyle.setWidth - ignoring width: \".concat(width));\n width = 1;\n }\n }\n\n this.width = width;\n }\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n if (!(0, _primitives.isName)(style)) {\n return;\n }\n\n switch (style.name) {\n case \"S\":\n this.style = _util.AnnotationBorderStyleType.SOLID;\n break;\n\n case \"D\":\n this.style = _util.AnnotationBorderStyleType.DASHED;\n break;\n\n case \"B\":\n this.style = _util.AnnotationBorderStyleType.BEVELED;\n break;\n\n case \"I\":\n this.style = _util.AnnotationBorderStyleType.INSET;\n break;\n\n case \"U\":\n this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n break;\n\n default:\n break;\n }\n }\n }, {\n key: \"setDashArray\",\n value: function setDashArray(dashArray) {\n if (Array.isArray(dashArray) && dashArray.length > 0) {\n var isValid = true;\n var allZeros = true;\n\n var _iterator11 = _createForOfIteratorHelper(dashArray),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var element = _step11.value;\n var validNumber = +element >= 0;\n\n if (!validNumber) {\n isValid = false;\n break;\n } else if (element > 0) {\n allZeros = false;\n }\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n if (isValid && !allZeros) {\n this.dashArray = dashArray;\n } else {\n this.width = 0;\n }\n } else if (dashArray) {\n this.width = 0;\n }\n }\n }, {\n key: \"setHorizontalCornerRadius\",\n value: function setHorizontalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.horizontalCornerRadius = radius;\n }\n }\n }, {\n key: \"setVerticalCornerRadius\",\n value: function setVerticalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.verticalCornerRadius = radius;\n }\n }\n }]);\n\n return AnnotationBorderStyle;\n }();\n\n exports.AnnotationBorderStyle = AnnotationBorderStyle;\n\n var MarkupAnnotation = /*#__PURE__*/function (_Annotation) {\n _inherits(MarkupAnnotation, _Annotation);\n\n var _super31 = _createSuper(MarkupAnnotation);\n\n function MarkupAnnotation(parameters) {\n var _this31;\n\n _classCallCheck(this, MarkupAnnotation);\n\n _this31 = _super31.call(this, parameters);\n var dict = parameters.dict;\n\n if (dict.has(\"IRT\")) {\n var rawIRT = dict.getRaw(\"IRT\");\n _this31.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;\n var rt = dict.get(\"RT\");\n _this31.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;\n }\n\n if (_this31.data.replyType === _util.AnnotationReplyType.GROUP) {\n var parent = dict.get(\"IRT\");\n _this31.data.title = (0, _util.stringToPDFString)(parent.get(\"T\") || \"\");\n\n _this31.setContents(parent.get(\"Contents\"));\n\n _this31.data.contents = _this31.contents;\n\n if (!parent.has(\"CreationDate\")) {\n _this31.data.creationDate = null;\n } else {\n _this31.setCreationDate(parent.get(\"CreationDate\"));\n\n _this31.data.creationDate = _this31.creationDate;\n }\n\n if (!parent.has(\"M\")) {\n _this31.data.modificationDate = null;\n } else {\n _this31.setModificationDate(parent.get(\"M\"));\n\n _this31.data.modificationDate = _this31.modificationDate;\n }\n\n _this31.data.hasPopup = parent.has(\"Popup\");\n\n if (!parent.has(\"C\")) {\n _this31.data.color = null;\n } else {\n _this31.setColor(parent.getArray(\"C\"));\n\n _this31.data.color = _this31.color;\n }\n } else {\n _this31.data.title = (0, _util.stringToPDFString)(dict.get(\"T\") || \"\");\n\n _this31.setCreationDate(dict.get(\"CreationDate\"));\n\n _this31.data.creationDate = _this31.creationDate;\n _this31.data.hasPopup = dict.has(\"Popup\");\n\n if (!dict.has(\"C\")) {\n _this31.data.color = null;\n }\n }\n\n return _this31;\n }\n\n _createClass(MarkupAnnotation, [{\n key: \"setCreationDate\",\n value: function setCreationDate(creationDate) {\n this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;\n }\n }]);\n\n return MarkupAnnotation;\n }(Annotation);\n\n exports.MarkupAnnotation = MarkupAnnotation;\n\n var WidgetAnnotation = /*#__PURE__*/function (_Annotation2) {\n _inherits(WidgetAnnotation, _Annotation2);\n\n var _super32 = _createSuper(WidgetAnnotation);\n\n function WidgetAnnotation(params) {\n var _this32;\n\n _classCallCheck(this, WidgetAnnotation);\n\n _this32 = _super32.call(this, params);\n var dict = params.dict;\n var data = _this32.data;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = _this32._constructFieldName(dict);\n data.fieldValue = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"V\",\n getArray: true\n });\n data.alternativeText = (0, _util.stringToPDFString)(dict.get(\"TU\") || \"\");\n data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"DA\"\n }) || \"\";\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"FT\"\n });\n data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n _this32.fieldResources = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"DR\"\n }) || _primitives.Dict.empty;\n data.fieldFlags = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"Ff\"\n });\n\n if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n data.fieldFlags = 0;\n }\n\n data.readOnly = _this32.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n\n if (data.fieldType === \"Sig\") {\n data.fieldValue = null;\n\n _this32.setFlags(_util.AnnotationFlag.HIDDEN);\n }\n\n return _this32;\n }\n\n _createClass(WidgetAnnotation, [{\n key: \"_constructFieldName\",\n value: function _constructFieldName(dict) {\n if (!dict.has(\"T\") && !dict.has(\"Parent\")) {\n (0, _util.warn)(\"Unknown field name, falling back to empty field name.\");\n return \"\";\n }\n\n if (!dict.has(\"Parent\")) {\n return (0, _util.stringToPDFString)(dict.get(\"T\"));\n }\n\n var fieldName = [];\n\n if (dict.has(\"T\")) {\n fieldName.unshift((0, _util.stringToPDFString)(dict.get(\"T\")));\n }\n\n var loopDict = dict;\n\n while (loopDict.has(\"Parent\")) {\n loopDict = loopDict.get(\"Parent\");\n\n if (!(0, _primitives.isDict)(loopDict)) {\n break;\n }\n\n if (loopDict.has(\"T\")) {\n fieldName.unshift((0, _util.stringToPDFString)(loopDict.get(\"T\")));\n }\n }\n\n return fieldName.join(\".\");\n }\n }, {\n key: \"hasFieldFlag\",\n value: function hasFieldFlag(flag) {\n return !!(this.data.fieldFlags & flag);\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n if (renderForms) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n }\n }]);\n\n return WidgetAnnotation;\n }(Annotation);\n\n var TextWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation) {\n _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n var _super33 = _createSuper(TextWidgetAnnotation);\n\n function TextWidgetAnnotation(params) {\n var _this33;\n\n _classCallCheck(this, TextWidgetAnnotation);\n\n _this33 = _super33.call(this, params);\n var dict = params.dict;\n _this33.data.fieldValue = (0, _util.stringToPDFString)(_this33.data.fieldValue || \"\");\n var alignment = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"Q\"\n });\n\n if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n alignment = null;\n }\n\n _this33.data.textAlignment = alignment;\n var maximumLength = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"MaxLen\"\n });\n\n if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n maximumLength = null;\n }\n\n _this33.data.maxLen = maximumLength;\n _this33.data.multiLine = _this33.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n _this33.data.comb = _this33.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this33.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this33.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this33.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this33.data.maxLen !== null;\n return _this33;\n }\n\n _createClass(TextWidgetAnnotation, [{\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n if (renderForms || this.appearance) {\n return _get(_getPrototypeOf(TextWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n }\n\n var operatorList = new _operator_list.OperatorList();\n\n if (!this.data.defaultAppearance) {\n return Promise.resolve(operatorList);\n }\n\n var stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));\n return evaluator.getOperatorList({\n stream: stream,\n task: task,\n resources: this.fieldResources,\n operatorList: operatorList\n }).then(function () {\n return operatorList;\n });\n }\n }]);\n\n return TextWidgetAnnotation;\n }(WidgetAnnotation);\n\n var ButtonWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation2) {\n _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n var _super34 = _createSuper(ButtonWidgetAnnotation);\n\n function ButtonWidgetAnnotation(params) {\n var _this34;\n\n _classCallCheck(this, ButtonWidgetAnnotation);\n\n _this34 = _super34.call(this, params);\n _this34.data.checkBox = !_this34.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this34.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this34.data.radioButton = _this34.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this34.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this34.data.pushButton = _this34.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (_this34.data.checkBox) {\n _this34._processCheckBox(params);\n } else if (_this34.data.radioButton) {\n _this34._processRadioButton(params);\n } else if (_this34.data.pushButton) {\n _this34._processPushButton(params);\n } else {\n (0, _util.warn)(\"Invalid field flags for button widget annotation\");\n }\n\n return _this34;\n }\n\n _createClass(ButtonWidgetAnnotation, [{\n key: \"_processCheckBox\",\n value: function _processCheckBox(params) {\n if ((0, _primitives.isName)(this.data.fieldValue)) {\n this.data.fieldValue = this.data.fieldValue.name;\n }\n\n var customAppearance = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(customAppearance)) {\n return;\n }\n\n var exportValueOptionsDict = customAppearance.get(\"D\");\n\n if (!(0, _primitives.isDict)(exportValueOptionsDict)) {\n return;\n }\n\n var exportValues = exportValueOptionsDict.getKeys();\n var hasCorrectOptionCount = exportValues.length === 2;\n\n if (!hasCorrectOptionCount) {\n return;\n }\n\n this.data.exportValue = exportValues[0] === \"Off\" ? exportValues[1] : exportValues[0];\n }\n }, {\n key: \"_processRadioButton\",\n value: function _processRadioButton(params) {\n this.data.fieldValue = this.data.buttonValue = null;\n var fieldParent = params.dict.get(\"Parent\");\n\n if ((0, _primitives.isDict)(fieldParent) && fieldParent.has(\"V\")) {\n var fieldParentValue = fieldParent.get(\"V\");\n\n if ((0, _primitives.isName)(fieldParentValue)) {\n this.data.fieldValue = fieldParentValue.name;\n }\n }\n\n var appearanceStates = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get(\"N\");\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var _iterator12 = _createForOfIteratorHelper(normalAppearanceState.getKeys()),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var key = _step12.value;\n\n if (key !== \"Off\") {\n this.data.buttonValue = key;\n break;\n }\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n }\n }, {\n key: \"_processPushButton\",\n value: function _processPushButton(params) {\n if (!params.dict.has(\"A\")) {\n (0, _util.warn)(\"Push buttons without action dictionaries are not supported\");\n return;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: this.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n }\n }]);\n\n return ButtonWidgetAnnotation;\n }(WidgetAnnotation);\n\n var ChoiceWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation3) {\n _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n var _super35 = _createSuper(ChoiceWidgetAnnotation);\n\n function ChoiceWidgetAnnotation(params) {\n var _this35;\n\n _classCallCheck(this, ChoiceWidgetAnnotation);\n\n _this35 = _super35.call(this, params);\n _this35.data.options = [];\n var options = (0, _core_utils.getInheritableProperty)({\n dict: params.dict,\n key: \"Opt\"\n });\n\n if (Array.isArray(options)) {\n var xref = params.xref;\n\n for (var i = 0, ii = options.length; i < ii; i++) {\n var option = xref.fetchIfRef(options[i]);\n var isOptionArray = Array.isArray(option);\n _this35.data.options[i] = {\n exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,\n displayValue: (0, _util.stringToPDFString)(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n\n if (!Array.isArray(_this35.data.fieldValue)) {\n _this35.data.fieldValue = [_this35.data.fieldValue];\n }\n\n _this35.data.combo = _this35.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n _this35.data.multiSelect = _this35.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n return _this35;\n }\n\n return ChoiceWidgetAnnotation;\n }(WidgetAnnotation);\n\n var TextAnnotation = /*#__PURE__*/function (_MarkupAnnotation) {\n _inherits(TextAnnotation, _MarkupAnnotation);\n\n var _super36 = _createSuper(TextAnnotation);\n\n function TextAnnotation(parameters) {\n var _this36;\n\n _classCallCheck(this, TextAnnotation);\n\n var DEFAULT_ICON_SIZE = 22;\n _this36 = _super36.call(this, parameters);\n var dict = parameters.dict;\n _this36.data.annotationType = _util.AnnotationType.TEXT;\n\n if (_this36.data.hasAppearance) {\n _this36.data.name = \"NoIcon\";\n } else {\n _this36.data.rect[1] = _this36.data.rect[3] - DEFAULT_ICON_SIZE;\n _this36.data.rect[2] = _this36.data.rect[0] + DEFAULT_ICON_SIZE;\n _this36.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n }\n\n if (dict.has(\"State\")) {\n _this36.data.state = dict.get(\"State\") || null;\n _this36.data.stateModel = dict.get(\"StateModel\") || null;\n } else {\n _this36.data.state = null;\n _this36.data.stateModel = null;\n }\n\n return _this36;\n }\n\n return TextAnnotation;\n }(MarkupAnnotation);\n\n var LinkAnnotation = /*#__PURE__*/function (_Annotation3) {\n _inherits(LinkAnnotation, _Annotation3);\n\n var _super37 = _createSuper(LinkAnnotation);\n\n function LinkAnnotation(params) {\n var _this37;\n\n _classCallCheck(this, LinkAnnotation);\n\n _this37 = _super37.call(this, params);\n _this37.data.annotationType = _util.AnnotationType.LINK;\n var quadPoints = getQuadPoints(params.dict, _this37.rectangle);\n\n if (quadPoints) {\n _this37.data.quadPoints = quadPoints;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: _this37.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n\n return _this37;\n }\n\n return LinkAnnotation;\n }(Annotation);\n\n var PopupAnnotation = /*#__PURE__*/function (_Annotation4) {\n _inherits(PopupAnnotation, _Annotation4);\n\n var _super38 = _createSuper(PopupAnnotation);\n\n function PopupAnnotation(parameters) {\n var _this38;\n\n _classCallCheck(this, PopupAnnotation);\n\n _this38 = _super38.call(this, parameters);\n _this38.data.annotationType = _util.AnnotationType.POPUP;\n var parentItem = parameters.dict.get(\"Parent\");\n\n if (!parentItem) {\n (0, _util.warn)(\"Popup annotation has a missing or invalid parent annotation.\");\n return _possibleConstructorReturn(_this38);\n }\n\n var parentSubtype = parentItem.get(\"Subtype\");\n _this38.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n var rawParent = parameters.dict.getRaw(\"Parent\");\n _this38.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;\n var rt = parentItem.get(\"RT\");\n\n if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {\n parentItem = parentItem.get(\"IRT\");\n }\n\n if (!parentItem.has(\"M\")) {\n _this38.data.modificationDate = null;\n } else {\n _this38.setModificationDate(parentItem.get(\"M\"));\n\n _this38.data.modificationDate = _this38.modificationDate;\n }\n\n if (!parentItem.has(\"C\")) {\n _this38.data.color = null;\n } else {\n _this38.setColor(parentItem.getArray(\"C\"));\n\n _this38.data.color = _this38.color;\n }\n\n if (!_this38.viewable) {\n var parentFlags = parentItem.get(\"F\");\n\n if (_this38._isViewable(parentFlags)) {\n _this38.setFlags(parentFlags);\n }\n }\n\n _this38.data.title = (0, _util.stringToPDFString)(parentItem.get(\"T\") || \"\");\n _this38.data.contents = (0, _util.stringToPDFString)(parentItem.get(\"Contents\") || \"\");\n return _this38;\n }\n\n return PopupAnnotation;\n }(Annotation);\n\n var FreeTextAnnotation = /*#__PURE__*/function (_MarkupAnnotation2) {\n _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n var _super39 = _createSuper(FreeTextAnnotation);\n\n function FreeTextAnnotation(parameters) {\n var _this39;\n\n _classCallCheck(this, FreeTextAnnotation);\n\n _this39 = _super39.call(this, parameters);\n _this39.data.annotationType = _util.AnnotationType.FREETEXT;\n return _this39;\n }\n\n return FreeTextAnnotation;\n }(MarkupAnnotation);\n\n var LineAnnotation = /*#__PURE__*/function (_MarkupAnnotation3) {\n _inherits(LineAnnotation, _MarkupAnnotation3);\n\n var _super40 = _createSuper(LineAnnotation);\n\n function LineAnnotation(parameters) {\n var _this40;\n\n _classCallCheck(this, LineAnnotation);\n\n _this40 = _super40.call(this, parameters);\n _this40.data.annotationType = _util.AnnotationType.LINE;\n _this40.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray(\"L\"));\n return _this40;\n }\n\n return LineAnnotation;\n }(MarkupAnnotation);\n\n var SquareAnnotation = /*#__PURE__*/function (_MarkupAnnotation4) {\n _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n var _super41 = _createSuper(SquareAnnotation);\n\n function SquareAnnotation(parameters) {\n var _this41;\n\n _classCallCheck(this, SquareAnnotation);\n\n _this41 = _super41.call(this, parameters);\n _this41.data.annotationType = _util.AnnotationType.SQUARE;\n return _this41;\n }\n\n return SquareAnnotation;\n }(MarkupAnnotation);\n\n var CircleAnnotation = /*#__PURE__*/function (_MarkupAnnotation5) {\n _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n var _super42 = _createSuper(CircleAnnotation);\n\n function CircleAnnotation(parameters) {\n var _this42;\n\n _classCallCheck(this, CircleAnnotation);\n\n _this42 = _super42.call(this, parameters);\n _this42.data.annotationType = _util.AnnotationType.CIRCLE;\n return _this42;\n }\n\n return CircleAnnotation;\n }(MarkupAnnotation);\n\n var PolylineAnnotation = /*#__PURE__*/function (_MarkupAnnotation6) {\n _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n var _super43 = _createSuper(PolylineAnnotation);\n\n function PolylineAnnotation(parameters) {\n var _this43;\n\n _classCallCheck(this, PolylineAnnotation);\n\n _this43 = _super43.call(this, parameters);\n _this43.data.annotationType = _util.AnnotationType.POLYLINE;\n var rawVertices = parameters.dict.getArray(\"Vertices\");\n _this43.data.vertices = [];\n\n for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n _this43.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n\n return _this43;\n }\n\n return PolylineAnnotation;\n }(MarkupAnnotation);\n\n var PolygonAnnotation = /*#__PURE__*/function (_PolylineAnnotation) {\n _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n var _super44 = _createSuper(PolygonAnnotation);\n\n function PolygonAnnotation(parameters) {\n var _this44;\n\n _classCallCheck(this, PolygonAnnotation);\n\n _this44 = _super44.call(this, parameters);\n _this44.data.annotationType = _util.AnnotationType.POLYGON;\n return _this44;\n }\n\n return PolygonAnnotation;\n }(PolylineAnnotation);\n\n var CaretAnnotation = /*#__PURE__*/function (_MarkupAnnotation7) {\n _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n var _super45 = _createSuper(CaretAnnotation);\n\n function CaretAnnotation(parameters) {\n var _this45;\n\n _classCallCheck(this, CaretAnnotation);\n\n _this45 = _super45.call(this, parameters);\n _this45.data.annotationType = _util.AnnotationType.CARET;\n return _this45;\n }\n\n return CaretAnnotation;\n }(MarkupAnnotation);\n\n var InkAnnotation = /*#__PURE__*/function (_MarkupAnnotation8) {\n _inherits(InkAnnotation, _MarkupAnnotation8);\n\n var _super46 = _createSuper(InkAnnotation);\n\n function InkAnnotation(parameters) {\n var _this46;\n\n _classCallCheck(this, InkAnnotation);\n\n _this46 = _super46.call(this, parameters);\n _this46.data.annotationType = _util.AnnotationType.INK;\n var xref = parameters.xref;\n var originalInkLists = parameters.dict.getArray(\"InkList\");\n _this46.data.inkLists = [];\n\n for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n _this46.data.inkLists.push([]);\n\n for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n _this46.data.inkLists[i].push({\n x: xref.fetchIfRef(originalInkLists[i][j]),\n y: xref.fetchIfRef(originalInkLists[i][j + 1])\n });\n }\n }\n\n return _this46;\n }\n\n return InkAnnotation;\n }(MarkupAnnotation);\n\n var HighlightAnnotation = /*#__PURE__*/function (_MarkupAnnotation9) {\n _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n var _super47 = _createSuper(HighlightAnnotation);\n\n function HighlightAnnotation(parameters) {\n var _this47;\n\n _classCallCheck(this, HighlightAnnotation);\n\n _this47 = _super47.call(this, parameters);\n _this47.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n var quadPoints = getQuadPoints(parameters.dict, _this47.rectangle);\n\n if (quadPoints) {\n _this47.data.quadPoints = quadPoints;\n }\n\n return _this47;\n }\n\n return HighlightAnnotation;\n }(MarkupAnnotation);\n\n var UnderlineAnnotation = /*#__PURE__*/function (_MarkupAnnotation10) {\n _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n var _super48 = _createSuper(UnderlineAnnotation);\n\n function UnderlineAnnotation(parameters) {\n var _this48;\n\n _classCallCheck(this, UnderlineAnnotation);\n\n _this48 = _super48.call(this, parameters);\n _this48.data.annotationType = _util.AnnotationType.UNDERLINE;\n var quadPoints = getQuadPoints(parameters.dict, _this48.rectangle);\n\n if (quadPoints) {\n _this48.data.quadPoints = quadPoints;\n }\n\n return _this48;\n }\n\n return UnderlineAnnotation;\n }(MarkupAnnotation);\n\n var SquigglyAnnotation = /*#__PURE__*/function (_MarkupAnnotation11) {\n _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n var _super49 = _createSuper(SquigglyAnnotation);\n\n function SquigglyAnnotation(parameters) {\n var _this49;\n\n _classCallCheck(this, SquigglyAnnotation);\n\n _this49 = _super49.call(this, parameters);\n _this49.data.annotationType = _util.AnnotationType.SQUIGGLY;\n var quadPoints = getQuadPoints(parameters.dict, _this49.rectangle);\n\n if (quadPoints) {\n _this49.data.quadPoints = quadPoints;\n }\n\n return _this49;\n }\n\n return SquigglyAnnotation;\n }(MarkupAnnotation);\n\n var StrikeOutAnnotation = /*#__PURE__*/function (_MarkupAnnotation12) {\n _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n var _super50 = _createSuper(StrikeOutAnnotation);\n\n function StrikeOutAnnotation(parameters) {\n var _this50;\n\n _classCallCheck(this, StrikeOutAnnotation);\n\n _this50 = _super50.call(this, parameters);\n _this50.data.annotationType = _util.AnnotationType.STRIKEOUT;\n var quadPoints = getQuadPoints(parameters.dict, _this50.rectangle);\n\n if (quadPoints) {\n _this50.data.quadPoints = quadPoints;\n }\n\n return _this50;\n }\n\n return StrikeOutAnnotation;\n }(MarkupAnnotation);\n\n var StampAnnotation = /*#__PURE__*/function (_MarkupAnnotation13) {\n _inherits(StampAnnotation, _MarkupAnnotation13);\n\n var _super51 = _createSuper(StampAnnotation);\n\n function StampAnnotation(parameters) {\n var _this51;\n\n _classCallCheck(this, StampAnnotation);\n\n _this51 = _super51.call(this, parameters);\n _this51.data.annotationType = _util.AnnotationType.STAMP;\n return _this51;\n }\n\n return StampAnnotation;\n }(MarkupAnnotation);\n\n var FileAttachmentAnnotation = /*#__PURE__*/function (_MarkupAnnotation14) {\n _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n var _super52 = _createSuper(FileAttachmentAnnotation);\n\n function FileAttachmentAnnotation(parameters) {\n var _this52;\n\n _classCallCheck(this, FileAttachmentAnnotation);\n\n _this52 = _super52.call(this, parameters);\n var file = new _obj.FileSpec(parameters.dict.get(\"FS\"), parameters.xref);\n _this52.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n _this52.data.file = file.serializable;\n return _this52;\n }\n\n return FileAttachmentAnnotation;\n }(MarkupAnnotation);\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.OperatorList = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var QueueOptimizer = function QueueOptimizerClosure() {\n function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n var state = parentState;\n\n for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n var item = pattern[i];\n state = state[item] || (state[item] = []);\n }\n\n state[pattern[pattern.length - 1]] = {\n checkFn: checkFn,\n iterateFn: iterateFn,\n processFn: processFn\n };\n }\n\n function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n var iFirstPIMXO = iFirstSave + 2;\n\n for (var i = 0; i < count; i++) {\n var arg = argsArray[iFirstPIMXO + 4 * i];\n var imageMask = arg.length === 1 && arg[0];\n\n if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n continue;\n }\n\n break;\n }\n\n return count - i;\n }\n\n var InitialState = [];\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));\n }, function foundInlineImageGroup(context, i) {\n var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n var MAX_WIDTH = 1000;\n var IMAGE_PADDING = 1;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIIXO = curr - 1;\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var maxX = 0;\n var map = [],\n maxLineHeight = 0;\n var currentX = IMAGE_PADDING,\n currentY = IMAGE_PADDING;\n var q;\n\n for (q = 0; q < count; q++) {\n var transform = argsArray[iFirstTransform + (q << 2)];\n var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n if (currentX + img.width > MAX_WIDTH) {\n maxX = Math.max(maxX, currentX);\n currentY += maxLineHeight + 2 * IMAGE_PADDING;\n currentX = 0;\n maxLineHeight = 0;\n }\n\n map.push({\n transform: transform,\n x: currentX,\n y: currentY,\n w: img.width,\n h: img.height\n });\n currentX += img.width + 2 * IMAGE_PADDING;\n maxLineHeight = Math.max(maxLineHeight, img.height);\n }\n\n var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n var imgRowSize = imgWidth << 2;\n\n for (q = 0; q < count; q++) {\n var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n var rowSize = map[q].w << 2;\n var dataOffset = 0;\n var offset = map[q].x + map[q].y * imgWidth << 2;\n imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n for (var k = 0, kk = map[q].h; k < kk; k++) {\n imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n dataOffset += rowSize;\n offset += imgRowSize;\n }\n\n imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n while (offset >= 0) {\n data[offset - 4] = data[offset];\n data[offset - 3] = data[offset + 1];\n data[offset - 2] = data[offset + 2];\n data[offset - 1] = data[offset + 3];\n data[offset + rowSize] = data[offset + rowSize - 4];\n data[offset + rowSize + 1] = data[offset + rowSize - 3];\n data[offset + rowSize + 2] = data[offset + rowSize - 2];\n data[offset + rowSize + 3] = data[offset + rowSize - 1];\n offset -= imgRowSize;\n }\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [{\n width: imgWidth,\n height: imgHeight,\n kind: _util.ImageKind.RGBA_32BPP,\n data: imgData\n }, map]);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));\n }, function foundImageMaskGroup(context, i) {\n var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIMXO = curr - 1;\n var count = Math.floor((i - iFirstSave) / 4);\n count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var q;\n var isSameImage = false;\n var iTransform, transformArgs;\n var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n\n if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) {\n isSameImage = true;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n iTransform = iFirstTransform + 4;\n var iPIMXO = iFirstPIMXO + 4;\n\n for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n transformArgs = argsArray[iTransform];\n\n if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) {\n if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n isSameImage = false;\n } else {\n count = q;\n }\n\n break;\n }\n }\n }\n\n if (isSameImage) {\n count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n var positions = new Float32Array(count * 2);\n iTransform = iFirstTransform;\n\n for (q = 0; q < count; q++, iTransform += 4) {\n transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);\n } else {\n count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n var images = [];\n\n for (q = 0; q < count; q++) {\n transformArgs = argsArray[iFirstTransform + (q << 2)];\n var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n images.push({\n data: maskParams.data,\n width: maskParams.width,\n height: maskParams.height,\n transform: transformArgs\n });\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [images]);\n }\n\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n var argsArray = context.argsArray;\n var iFirstTransform = context.iCurr - 2;\n return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n }, function iterateImageGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n if (fnArray[i] !== _util.OPS.transform) {\n return false;\n }\n\n var iFirstTransform = context.iCurr - 2;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n return false;\n }\n\n return true;\n\n case 2:\n if (fnArray[i] !== _util.OPS.paintImageXObject) {\n return false;\n }\n\n var iFirstPIXO = context.iCurr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n\n if (argsArray[i][0] !== firstPIXOArg0) {\n return false;\n }\n\n return true;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageGroup - invalid pos: \".concat(pos));\n }, function (context, i) {\n var MIN_IMAGES_IN_BLOCK = 3;\n var MAX_IMAGES_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIXO = curr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n\n if (count < MIN_IMAGES_IN_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var positions = new Float32Array(count * 2);\n var iTransform = iFirstTransform;\n\n for (var q = 0; q < count; q++, iTransform += 4) {\n var transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, args);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 4;\n var pos = (i - iFirstSave) % 5;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.beginText;\n\n case 1:\n return fnArray[i] === _util.OPS.setFont;\n\n case 2:\n return fnArray[i] === _util.OPS.setTextMatrix;\n\n case 3:\n if (fnArray[i] !== _util.OPS.showText) {\n return false;\n }\n\n var iFirstSetFont = context.iCurr - 3;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n return false;\n }\n\n return true;\n\n case 4:\n return fnArray[i] === _util.OPS.endText;\n }\n\n throw new Error(\"iterateShowTextGroup - invalid pos: \".concat(pos));\n }, function (context, i) {\n var MIN_CHARS_IN_BLOCK = 3;\n var MAX_CHARS_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstBeginText = curr - 4;\n var iFirstSetFont = curr - 3;\n var iFirstSetTextMatrix = curr - 2;\n var iFirstShowText = curr - 1;\n var iFirstEndText = curr;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n\n if (count < MIN_CHARS_IN_BLOCK) {\n return i - (i - iFirstBeginText) % 5;\n }\n\n var iFirst = iFirstBeginText;\n\n if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n count++;\n iFirst -= 5;\n }\n\n var iEndText = iFirst + 4;\n\n for (var q = 1; q < count; q++) {\n fnArray.splice(iEndText, 3);\n argsArray.splice(iEndText, 3);\n iEndText += 2;\n }\n\n return iEndText + 1;\n });\n\n function QueueOptimizer(queue) {\n this.queue = queue;\n this.state = null;\n this.context = {\n iCurr: 0,\n fnArray: queue.fnArray,\n argsArray: queue.argsArray\n };\n this.match = null;\n this.lastProcessed = 0;\n }\n\n QueueOptimizer.prototype = {\n _optimize: function _optimize() {\n var fnArray = this.queue.fnArray;\n var i = this.lastProcessed,\n ii = fnArray.length;\n var state = this.state;\n var match = this.match;\n\n if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n this.lastProcessed = ii;\n return;\n }\n\n var context = this.context;\n\n while (i < ii) {\n if (match) {\n var iterate = (0, match.iterateFn)(context, i);\n\n if (iterate) {\n i++;\n continue;\n }\n\n i = (0, match.processFn)(context, i + 1);\n ii = fnArray.length;\n match = null;\n state = null;\n\n if (i >= ii) {\n break;\n }\n }\n\n state = (state || InitialState)[fnArray[i]];\n\n if (!state || Array.isArray(state)) {\n i++;\n continue;\n }\n\n context.iCurr = i;\n i++;\n\n if (state.checkFn && !(0, state.checkFn)(context)) {\n state = null;\n continue;\n }\n\n match = state;\n state = null;\n }\n\n this.state = state;\n this.match = match;\n this.lastProcessed = i;\n },\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n\n this._optimize();\n },\n flush: function flush() {\n while (this.match) {\n var length = this.queue.fnArray.length;\n this.lastProcessed = (0, this.match.processFn)(this.context, length);\n this.match = null;\n this.state = null;\n\n this._optimize();\n }\n },\n reset: function reset() {\n this.state = null;\n this.match = null;\n this.lastProcessed = 0;\n }\n };\n return QueueOptimizer;\n }();\n\n var NullOptimizer = function NullOptimizerClosure() {\n function NullOptimizer(queue) {\n this.queue = queue;\n }\n\n NullOptimizer.prototype = {\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n },\n flush: function flush() {},\n reset: function reset() {}\n };\n return NullOptimizer;\n }();\n\n var OperatorList = function OperatorListClosure() {\n var CHUNK_SIZE = 1000;\n var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n function OperatorList(intent, streamSink, pageIndex) {\n this._streamSink = streamSink;\n this.fnArray = [];\n this.argsArray = [];\n\n if (streamSink && intent !== \"oplist\") {\n this.optimizer = new QueueOptimizer(this);\n } else {\n this.optimizer = new NullOptimizer(this);\n }\n\n this.dependencies = Object.create(null);\n this._totalLength = 0;\n this.pageIndex = pageIndex;\n this.intent = intent;\n this.weight = 0;\n this._resolved = streamSink ? null : Promise.resolve();\n }\n\n OperatorList.prototype = {\n get length() {\n return this.argsArray.length;\n },\n\n get ready() {\n return this._resolved || this._streamSink.ready;\n },\n\n get totalLength() {\n return this._totalLength + this.length;\n },\n\n addOp: function addOp(fn, args) {\n this.optimizer.push(fn, args);\n this.weight++;\n\n if (this._streamSink) {\n if (this.weight >= CHUNK_SIZE) {\n this.flush();\n } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n this.flush();\n }\n }\n },\n addDependency: function addDependency(dependency) {\n if (dependency in this.dependencies) {\n return;\n }\n\n this.dependencies[dependency] = true;\n this.addOp(_util.OPS.dependency, [dependency]);\n },\n addDependencies: function addDependencies(dependencies) {\n for (var key in dependencies) {\n this.addDependency(key);\n }\n },\n addOpList: function addOpList(opList) {\n Object.assign(this.dependencies, opList.dependencies);\n\n for (var i = 0, ii = opList.length; i < ii; i++) {\n this.addOp(opList.fnArray[i], opList.argsArray[i]);\n }\n },\n getIR: function getIR() {\n return {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n length: this.length\n };\n },\n\n get _transfers() {\n var transfers = [];\n var fnArray = this.fnArray,\n argsArray = this.argsArray,\n length = this.length;\n\n for (var i = 0; i < length; i++) {\n switch (fnArray[i]) {\n case _util.OPS.paintInlineImageXObject:\n case _util.OPS.paintInlineImageXObjectGroup:\n case _util.OPS.paintImageMaskXObject:\n var arg = argsArray[i][0];\n ;\n\n if (!arg.cached) {\n transfers.push(arg.data.buffer);\n }\n\n break;\n }\n }\n\n return transfers;\n },\n\n flush: function flush() {\n var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.optimizer.flush();\n var length = this.length;\n this._totalLength += length;\n\n this._streamSink.enqueue({\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n lastChunk: lastChunk,\n length: length\n }, 1, this._transfers);\n\n this.dependencies = Object.create(null);\n this.fnArray.length = 0;\n this.argsArray.length = 0;\n this.weight = 0;\n this.optimizer.reset();\n }\n };\n return OperatorList;\n }();\n\n exports.OperatorList = OperatorList;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PartialEvaluator = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _cmap = __w_pdfjs_require__(26);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _fonts = __w_pdfjs_require__(27);\n\n var _encodings = __w_pdfjs_require__(30);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _unicode = __w_pdfjs_require__(33);\n\n var _standard_fonts = __w_pdfjs_require__(32);\n\n var _pattern = __w_pdfjs_require__(36);\n\n var _parser = __w_pdfjs_require__(10);\n\n var _bidi = __w_pdfjs_require__(37);\n\n var _colorspace = __w_pdfjs_require__(22);\n\n var _stream = __w_pdfjs_require__(11);\n\n var _glyphlist = __w_pdfjs_require__(31);\n\n var _metrics = __w_pdfjs_require__(38);\n\n var _function = __w_pdfjs_require__(39);\n\n var _jpeg_stream = __w_pdfjs_require__(17);\n\n var _murmurhash = __w_pdfjs_require__(41);\n\n var _image_utils = __w_pdfjs_require__(42);\n\n var _operator_list = __w_pdfjs_require__(24);\n\n var _image = __w_pdfjs_require__(43);\n\n var PartialEvaluator = function PartialEvaluatorClosure() {\n var DefaultPartialEvaluatorOptions = {\n forceDataSchema: false,\n maxImageSize: -1,\n disableFontFace: false,\n nativeImageDecoderSupport: _util.NativeImageDecoding.DECODE,\n ignoreErrors: false,\n isEvalSupported: true\n };\n\n function PartialEvaluator(_ref21) {\n var _this53 = this;\n\n var xref = _ref21.xref,\n handler = _ref21.handler,\n pageIndex = _ref21.pageIndex,\n idFactory = _ref21.idFactory,\n fontCache = _ref21.fontCache,\n builtInCMapCache = _ref21.builtInCMapCache,\n _ref21$options = _ref21.options,\n options = _ref21$options === void 0 ? null : _ref21$options,\n pdfFunctionFactory = _ref21.pdfFunctionFactory;\n this.xref = xref;\n this.handler = handler;\n this.pageIndex = pageIndex;\n this.idFactory = idFactory;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.parsingType3Font = false;\n\n this.fetchBuiltInCMap = /*#__PURE__*/function () {\n var _ref22 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(name) {\n var readableStream, reader, data;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n if (!_this53.builtInCMapCache.has(name)) {\n _context12.next = 2;\n break;\n }\n\n return _context12.abrupt(\"return\", _this53.builtInCMapCache.get(name));\n\n case 2:\n readableStream = _this53.handler.sendWithStream(\"FetchBuiltInCMap\", {\n name: name\n });\n reader = readableStream.getReader();\n _context12.next = 6;\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref23) {\n var value = _ref23.value,\n done = _ref23.done;\n\n if (done) {\n return;\n }\n\n resolve(value);\n pump();\n }, reject);\n }\n\n pump();\n });\n\n case 6:\n data = _context12.sent;\n\n if (data.compressionType !== _util.CMapCompressionType.NONE) {\n _this53.builtInCMapCache.set(name, data);\n }\n\n return _context12.abrupt(\"return\", data);\n\n case 9:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12);\n }));\n\n return function (_x12) {\n return _ref22.apply(this, arguments);\n };\n }();\n }\n\n var TIME_SLOT_DURATION_MS = 20;\n var CHECK_TIME_EVERY = 100;\n\n function TimeSlotManager() {\n this.reset();\n }\n\n TimeSlotManager.prototype = {\n check: function TimeSlotManager_check() {\n if (++this.checked < CHECK_TIME_EVERY) {\n return false;\n }\n\n this.checked = 0;\n return this.endTime <= Date.now();\n },\n reset: function TimeSlotManager_reset() {\n this.endTime = Date.now() + TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n };\n\n function normalizeBlendMode(value) {\n var parsingArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (Array.isArray(value)) {\n for (var i = 0, ii = value.length; i < ii; i++) {\n var maybeBM = normalizeBlendMode(value[i], true);\n\n if (maybeBM) {\n return maybeBM;\n }\n }\n\n (0, _util.warn)(\"Unsupported blend mode Array: \".concat(value));\n return \"source-over\";\n }\n\n if (!(0, _primitives.isName)(value)) {\n if (parsingArray) {\n return null;\n }\n\n return \"source-over\";\n }\n\n switch (value.name) {\n case \"Normal\":\n case \"Compatible\":\n return \"source-over\";\n\n case \"Multiply\":\n return \"multiply\";\n\n case \"Screen\":\n return \"screen\";\n\n case \"Overlay\":\n return \"overlay\";\n\n case \"Darken\":\n return \"darken\";\n\n case \"Lighten\":\n return \"lighten\";\n\n case \"ColorDodge\":\n return \"color-dodge\";\n\n case \"ColorBurn\":\n return \"color-burn\";\n\n case \"HardLight\":\n return \"hard-light\";\n\n case \"SoftLight\":\n return \"soft-light\";\n\n case \"Difference\":\n return \"difference\";\n\n case \"Exclusion\":\n return \"exclusion\";\n\n case \"Hue\":\n return \"hue\";\n\n case \"Saturation\":\n return \"saturation\";\n\n case \"Color\":\n return \"color\";\n\n case \"Luminosity\":\n return \"luminosity\";\n }\n\n if (parsingArray) {\n return null;\n }\n\n (0, _util.warn)(\"Unsupported blend mode: \".concat(value.name));\n return \"source-over\";\n }\n\n var deferred = Promise.resolve();\n var TILING_PATTERN = 1,\n SHADING_PATTERN = 2;\n PartialEvaluator.prototype = {\n clone: function clone() {\n var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;\n var newEvaluator = Object.create(this);\n newEvaluator.options = newOptions;\n return newEvaluator;\n },\n hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {\n if (!(resources instanceof _primitives.Dict)) {\n return false;\n }\n\n var processed = Object.create(null);\n\n if (resources.objId) {\n processed[resources.objId] = true;\n }\n\n var nodes = [resources],\n xref = this.xref;\n\n while (nodes.length) {\n var node = nodes.shift();\n var graphicStates = node.get(\"ExtGState\");\n\n if (graphicStates instanceof _primitives.Dict) {\n var graphicStatesKeys = graphicStates.getKeys();\n\n for (var i = 0, ii = graphicStatesKeys.length; i < ii; i++) {\n var key = graphicStatesKeys[i];\n var graphicState = graphicStates.getRaw(key);\n\n if (graphicState instanceof _primitives.Ref) {\n if (processed[graphicState.toString()]) {\n continue;\n }\n\n try {\n graphicState = xref.fetch(graphicState);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n if (this.options.ignoreErrors) {\n if (graphicState instanceof _primitives.Ref) {\n processed[graphicState.toString()] = true;\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n (0, _util.warn)(\"hasBlendModes - ignoring ExtGState: \\\"\".concat(ex, \"\\\".\"));\n continue;\n }\n\n throw ex;\n }\n }\n\n if (!(graphicState instanceof _primitives.Dict)) {\n continue;\n }\n\n if (graphicState.objId) {\n processed[graphicState.objId] = true;\n }\n\n var bm = graphicState.get(\"BM\");\n\n if (bm instanceof _primitives.Name) {\n if (bm.name !== \"Normal\") {\n return true;\n }\n\n continue;\n }\n\n if (bm !== undefined && Array.isArray(bm)) {\n for (var j = 0, jj = bm.length; j < jj; j++) {\n if (bm[j] instanceof _primitives.Name && bm[j].name !== \"Normal\") {\n return true;\n }\n }\n }\n }\n }\n\n var xObjects = node.get(\"XObject\");\n\n if (!(xObjects instanceof _primitives.Dict)) {\n continue;\n }\n\n var xObjectsKeys = xObjects.getKeys();\n\n for (var _i19 = 0, _ii5 = xObjectsKeys.length; _i19 < _ii5; _i19++) {\n var _key2 = xObjectsKeys[_i19];\n var xObject = xObjects.getRaw(_key2);\n\n if (xObject instanceof _primitives.Ref) {\n if (processed[xObject.toString()]) {\n continue;\n }\n\n try {\n xObject = xref.fetch(xObject);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n if (this.options.ignoreErrors) {\n if (xObject instanceof _primitives.Ref) {\n processed[xObject.toString()] = true;\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n (0, _util.warn)(\"hasBlendModes - ignoring XObject: \\\"\".concat(ex, \"\\\".\"));\n continue;\n }\n\n throw ex;\n }\n }\n\n if (!(0, _primitives.isStream)(xObject)) {\n continue;\n }\n\n if (xObject.dict.objId) {\n if (processed[xObject.dict.objId]) {\n continue;\n }\n\n processed[xObject.dict.objId] = true;\n }\n\n var xResources = xObject.dict.get(\"Resources\");\n\n if (xResources instanceof _primitives.Dict && (!xResources.objId || !processed[xResources.objId])) {\n nodes.push(xResources);\n\n if (xResources.objId) {\n processed[xResources.objId] = true;\n }\n }\n }\n }\n\n return false;\n },\n buildFormXObject: function buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {\n var _this54 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {\n var dict, matrix, bbox, group, groupOptions, groupSubtype, colorSpace;\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n dict = xobj.dict;\n matrix = dict.getArray(\"Matrix\");\n bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n bbox = _util.Util.normalizeRect(bbox);\n } else {\n bbox = null;\n }\n\n group = dict.get(\"Group\");\n\n if (!group) {\n _context13.next = 18;\n break;\n }\n\n groupOptions = {\n matrix: matrix,\n bbox: bbox,\n smask: smask,\n isolated: false,\n knockout: false\n };\n groupSubtype = group.get(\"S\");\n colorSpace = null;\n\n if (!(0, _primitives.isName)(groupSubtype, \"Transparency\")) {\n _context13.next = 16;\n break;\n }\n\n groupOptions.isolated = group.get(\"I\") || false;\n groupOptions.knockout = group.get(\"K\") || false;\n\n if (!group.has(\"CS\")) {\n _context13.next = 16;\n break;\n }\n\n _context13.next = 15;\n return _this54.parseColorSpace({\n cs: group.get(\"CS\"),\n resources: resources\n });\n\n case 15:\n colorSpace = _context13.sent;\n\n case 16:\n if (smask && smask.backdrop) {\n colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n }\n\n operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n\n case 18:\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n return _context13.abrupt(\"return\", _this54.getOperatorList({\n stream: xobj,\n task: task,\n resources: dict.get(\"Resources\") || resources,\n operatorList: operatorList,\n initialState: initialState\n }).then(function () {\n operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n\n if (group) {\n operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n }\n }));\n\n case 20:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13);\n }))();\n },\n buildPaintImageXObject: function buildPaintImageXObject(_ref24) {\n var _this55 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {\n var resources, image, _ref24$isInline, isInline, operatorList, cacheKey, imageCache, _ref24$forceDisableNa, forceDisableNativeImageDecoder, dict, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, nativeImageDecoderSupport, objId, nativeImageDecoder, imgPromise;\n\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n resources = _ref24.resources, image = _ref24.image, _ref24$isInline = _ref24.isInline, isInline = _ref24$isInline === void 0 ? false : _ref24$isInline, operatorList = _ref24.operatorList, cacheKey = _ref24.cacheKey, imageCache = _ref24.imageCache, _ref24$forceDisableNa = _ref24.forceDisableNativeImageDecoder, forceDisableNativeImageDecoder = _ref24$forceDisableNa === void 0 ? false : _ref24$forceDisableNa;\n dict = image.dict;\n w = dict.get(\"Width\", \"W\");\n h = dict.get(\"Height\", \"H\");\n\n if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {\n _context14.next = 7;\n break;\n }\n\n (0, _util.warn)(\"Image dimensions are missing, or not numbers.\");\n return _context14.abrupt(\"return\", undefined);\n\n case 7:\n maxImageSize = _this55.options.maxImageSize;\n\n if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n _context14.next = 11;\n break;\n }\n\n (0, _util.warn)(\"Image exceeded maximum allowed size and was removed.\");\n return _context14.abrupt(\"return\", undefined);\n\n case 11:\n imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n\n if (!imageMask) {\n _context14.next = 24;\n break;\n }\n\n width = dict.get(\"Width\", \"W\");\n height = dict.get(\"Height\", \"H\");\n bitStrideLength = width + 7 >> 3;\n imgArray = image.getBytes(bitStrideLength * height, true);\n decode = dict.getArray(\"Decode\", \"D\");\n imgData = _image.PDFImage.createMask({\n imgArray: imgArray,\n width: width,\n height: height,\n imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n inverseDecode: !!decode && decode[0] > 0\n });\n imgData.cached = !!cacheKey;\n args = [imgData];\n operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintImageMaskXObject,\n args: args\n };\n }\n\n return _context14.abrupt(\"return\", undefined);\n\n case 24:\n softMask = dict.get(\"SMask\", \"SM\") || false;\n mask = dict.get(\"Mask\") || false;\n SMALL_IMAGE_DIMENSIONS = 200;\n\n if (!(isInline && !softMask && !mask && !(image instanceof _jpeg_stream.JpegStream) && w + h < SMALL_IMAGE_DIMENSIONS)) {\n _context14.next = 32;\n break;\n }\n\n imageObj = new _image.PDFImage({\n xref: _this55.xref,\n res: resources,\n image: image,\n isInline: isInline,\n pdfFunctionFactory: _this55.pdfFunctionFactory\n });\n imgData = imageObj.createImageData(true);\n operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n return _context14.abrupt(\"return\", undefined);\n\n case 32:\n nativeImageDecoderSupport = forceDisableNativeImageDecoder ? _util.NativeImageDecoding.NONE : _this55.options.nativeImageDecoderSupport;\n objId = \"img_\".concat(_this55.idFactory.createObjId());\n\n if (_this55.parsingType3Font) {\n (0, _util.assert)(nativeImageDecoderSupport === _util.NativeImageDecoding.NONE, \"Type3 image resources should be completely decoded in the worker.\");\n objId = \"\".concat(_this55.idFactory.getDocId(), \"_type3res_\").concat(objId);\n }\n\n if (!(nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && image instanceof _jpeg_stream.JpegStream && _image_utils.NativeImageDecoder.isSupported(image, _this55.xref, resources, _this55.pdfFunctionFactory) && image.maybeValidDimensions)) {\n _context14.next = 37;\n break;\n }\n\n return _context14.abrupt(\"return\", _this55.handler.sendWithPromise(\"obj\", [objId, _this55.pageIndex, \"JpegStream\", image.getIR(_this55.options.forceDataSchema)]).then(function () {\n operatorList.addDependency(objId);\n args = [objId, w, h];\n operatorList.addOp(_util.OPS.paintJpegXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintJpegXObject,\n args: args\n };\n }\n }, function (reason) {\n (0, _util.warn)(\"Native JPEG decoding failed -- trying to recover: \" + (reason && reason.message));\n return _this55.buildPaintImageXObject({\n resources: resources,\n image: image,\n isInline: isInline,\n operatorList: operatorList,\n cacheKey: cacheKey,\n imageCache: imageCache,\n forceDisableNativeImageDecoder: true\n });\n }));\n\n case 37:\n nativeImageDecoder = null;\n\n if (nativeImageDecoderSupport === _util.NativeImageDecoding.DECODE && (image instanceof _jpeg_stream.JpegStream || mask instanceof _jpeg_stream.JpegStream || softMask instanceof _jpeg_stream.JpegStream)) {\n nativeImageDecoder = new _image_utils.NativeImageDecoder({\n xref: _this55.xref,\n resources: resources,\n handler: _this55.handler,\n forceDataSchema: _this55.options.forceDataSchema,\n pdfFunctionFactory: _this55.pdfFunctionFactory\n });\n }\n\n operatorList.addDependency(objId);\n args = [objId, w, h];\n imgPromise = _image.PDFImage.buildImage({\n handler: _this55.handler,\n xref: _this55.xref,\n res: resources,\n image: image,\n isInline: isInline,\n nativeDecoder: nativeImageDecoder,\n pdfFunctionFactory: _this55.pdfFunctionFactory\n }).then(function (imageObj) {\n var imgData = imageObj.createImageData(false);\n\n if (_this55.parsingType3Font) {\n return _this55.handler.sendWithPromise(\"commonobj\", [objId, \"FontType3Res\", imgData], [imgData.data.buffer]);\n }\n\n _this55.handler.send(\"obj\", [objId, _this55.pageIndex, \"Image\", imgData], [imgData.data.buffer]);\n\n return undefined;\n }).catch(function (reason) {\n (0, _util.warn)(\"Unable to decode image: \" + reason);\n\n if (_this55.parsingType3Font) {\n return _this55.handler.sendWithPromise(\"commonobj\", [objId, \"FontType3Res\", null]);\n }\n\n _this55.handler.send(\"obj\", [objId, _this55.pageIndex, \"Image\", null]);\n\n return undefined;\n });\n\n if (!_this55.parsingType3Font) {\n _context14.next = 45;\n break;\n }\n\n _context14.next = 45;\n return imgPromise;\n\n case 45:\n operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintImageXObject,\n args: args\n };\n }\n\n return _context14.abrupt(\"return\", undefined);\n\n case 48:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14);\n }))();\n },\n handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {\n var smaskContent = smask.get(\"G\");\n var smaskOptions = {\n subtype: smask.get(\"S\").name,\n backdrop: smask.get(\"BC\")\n };\n var transferObj = smask.get(\"TR\");\n\n if ((0, _function.isPDFFunction)(transferObj)) {\n var transferFn = this.pdfFunctionFactory.create(transferObj);\n var transferMap = new Uint8Array(256);\n var tmp = new Float32Array(1);\n\n for (var i = 0; i < 256; i++) {\n tmp[0] = i / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[i] = tmp[0] * 255 | 0;\n }\n\n smaskOptions.transferMap = transferMap;\n }\n\n return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone());\n },\n handleTilingType: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n var _this56 = this;\n\n var tilingOpList = new _operator_list.OperatorList();\n var resourcesArray = [patternDict.get(\"Resources\"), resources];\n\n var patternResources = _primitives.Dict.merge(this.xref, resourcesArray);\n\n return this.getOperatorList({\n stream: pattern,\n task: task,\n resources: patternResources,\n operatorList: tilingOpList\n }).then(function () {\n return (0, _pattern.getTilingPatternIR)({\n fnArray: tilingOpList.fnArray,\n argsArray: tilingOpList.argsArray\n }, patternDict, args);\n }).then(function (tilingPatternIR) {\n operatorList.addDependencies(tilingOpList.dependencies);\n operatorList.addOp(fn, tilingPatternIR);\n }, function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this56.options.ignoreErrors) {\n _this56.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n });\n },\n handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n var _this57 = this;\n\n var fontName;\n\n if (fontArgs) {\n fontArgs = fontArgs.slice();\n fontName = fontArgs[0].name;\n }\n\n return this.loadFont(fontName, fontRef, resources).then(function (translated) {\n if (!translated.font.isType3Font) {\n return translated;\n }\n\n return translated.loadType3Data(_this57, resources, operatorList, task).then(function () {\n return translated;\n }).catch(function (reason) {\n _this57.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n return new TranslatedFont(\"g_font_error\", new _fonts.ErrorFont(\"Type3 font load error: \" + reason), translated.font);\n });\n }).then(function (translated) {\n state.font = translated.font;\n translated.send(_this57.handler);\n return translated.loadedName;\n });\n },\n handleText: function handleText(chars, state) {\n var font = state.font;\n var glyphs = font.charsToGlyphs(chars);\n\n if (font.data) {\n var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n\n if (isAddToPathSet || state.fillColorSpace.name === \"Pattern\" || font.disableFontFace || this.options.disableFontFace) {\n PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n }\n }\n\n return glyphs;\n },\n ensureStateFont: function ensureStateFont(state) {\n if (state.font) {\n return;\n }\n\n var reason = new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n (0, _util.warn)(\"ensureStateFont: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n },\n setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {\n var _this58 = this;\n\n var gStateObj = [];\n var gStateKeys = gState.getKeys();\n var promise = Promise.resolve();\n\n var _loop2 = function _loop2() {\n var key = gStateKeys[i];\n var value = gState.get(key);\n\n switch (key) {\n case \"Type\":\n break;\n\n case \"LW\":\n case \"LC\":\n case \"LJ\":\n case \"ML\":\n case \"D\":\n case \"RI\":\n case \"FL\":\n case \"CA\":\n case \"ca\":\n gStateObj.push([key, value]);\n break;\n\n case \"Font\":\n promise = promise.then(function () {\n return _this58.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n gStateObj.push([key, [loadedName, value[1]]]);\n });\n });\n break;\n\n case \"BM\":\n gStateObj.push([key, normalizeBlendMode(value)]);\n break;\n\n case \"SMask\":\n if ((0, _primitives.isName)(value, \"None\")) {\n gStateObj.push([key, false]);\n break;\n }\n\n if ((0, _primitives.isDict)(value)) {\n promise = promise.then(function () {\n return _this58.handleSMask(value, resources, operatorList, task, stateManager);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)(\"Unsupported SMask type\");\n }\n\n break;\n\n case \"OP\":\n case \"op\":\n case \"OPM\":\n case \"BG\":\n case \"BG2\":\n case \"UCR\":\n case \"UCR2\":\n case \"TR\":\n case \"TR2\":\n case \"HT\":\n case \"SM\":\n case \"SA\":\n case \"AIS\":\n case \"TK\":\n (0, _util.info)(\"graphic state operator \" + key);\n break;\n\n default:\n (0, _util.info)(\"Unknown graphic state operator \" + key);\n break;\n }\n };\n\n for (var i = 0, ii = gStateKeys.length; i < ii; i++) {\n _loop2();\n }\n\n return promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n });\n },\n loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {\n var _this59 = this;\n\n function errorFont() {\n return Promise.resolve(new TranslatedFont(\"g_font_error\", new _fonts.ErrorFont(\"Font \" + fontName + \" is not available\"), font));\n }\n\n var fontRef,\n xref = this.xref;\n\n if (font) {\n if (!(0, _primitives.isRef)(font)) {\n throw new _util.FormatError('The \"font\" object should be a reference.');\n }\n\n fontRef = font;\n } else {\n var fontRes = resources.get(\"Font\");\n\n if (fontRes) {\n fontRef = fontRes.getRaw(fontName);\n }\n }\n\n if (!fontRef) {\n var partialMsg = \"Font \\\"\".concat(fontName || font && font.toString(), \"\\\" is not available\");\n\n if (!this.options.ignoreErrors && !this.parsingType3Font) {\n (0, _util.warn)(\"\".concat(partialMsg, \".\"));\n return errorFont();\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n (0, _util.warn)(\"\".concat(partialMsg, \" -- attempting to fallback to a default font.\"));\n fontRef = PartialEvaluator.getFallbackFontDict();\n }\n\n if (this.fontCache.has(fontRef)) {\n return this.fontCache.get(fontRef);\n }\n\n font = xref.fetchIfRef(fontRef);\n\n if (!(0, _primitives.isDict)(font)) {\n return errorFont();\n }\n\n if (font.translated) {\n return font.translated;\n }\n\n var fontCapability = (0, _util.createPromiseCapability)();\n var preEvaluatedFont = this.preEvaluateFont(font);\n var descriptor = preEvaluatedFont.descriptor,\n hash = preEvaluatedFont.hash;\n var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n fontID;\n\n if (fontRefIsRef) {\n fontID = fontRef.toString();\n }\n\n if (hash && (0, _primitives.isDict)(descriptor)) {\n if (!descriptor.fontAliases) {\n descriptor.fontAliases = Object.create(null);\n }\n\n var fontAliases = descriptor.fontAliases;\n\n if (fontAliases[hash]) {\n var aliasFontRef = fontAliases[hash].aliasRef;\n\n if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n this.fontCache.putAlias(fontRef, aliasFontRef);\n return this.fontCache.get(fontRef);\n }\n } else {\n fontAliases[hash] = {\n fontID: _fonts.Font.getFontID()\n };\n }\n\n if (fontRefIsRef) {\n fontAliases[hash].aliasRef = fontRef;\n }\n\n fontID = fontAliases[hash].fontID;\n }\n\n if (fontRefIsRef) {\n this.fontCache.put(fontRef, fontCapability.promise);\n } else {\n if (!fontID) {\n fontID = this.idFactory.createObjId();\n }\n\n this.fontCache.put(\"id_\".concat(fontID), fontCapability.promise);\n }\n\n (0, _util.assert)(fontID, 'The \"fontID\" must be defined.');\n font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_f\").concat(fontID);\n font.translated = fontCapability.promise;\n var translatedPromise;\n\n try {\n translatedPromise = this.translateFont(preEvaluatedFont);\n } catch (e) {\n translatedPromise = Promise.reject(e);\n }\n\n translatedPromise.then(function (translatedFont) {\n if (translatedFont.fontType !== undefined) {\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[translatedFont.fontType] = true;\n }\n\n fontCapability.resolve(new TranslatedFont(font.loadedName, translatedFont, font));\n }).catch(function (reason) {\n _this59.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n try {\n var fontFile3 = descriptor && descriptor.get(\"FontFile3\");\n var subtype = fontFile3 && fontFile3.get(\"Subtype\");\n var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[fontType] = true;\n } catch (ex) {}\n\n fontCapability.resolve(new TranslatedFont(font.loadedName, new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason), font));\n });\n return fontCapability.promise;\n },\n buildPath: function buildPath(operatorList, fn, args) {\n var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var lastIndex = operatorList.length - 1;\n\n if (!args) {\n args = [];\n }\n\n if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n if (parsingText) {\n (0, _util.warn)(\"Encountered path operator \\\"\".concat(fn, \"\\\" inside of a text object.\"));\n operatorList.addOp(_util.OPS.save, null);\n }\n\n operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n\n if (parsingText) {\n operatorList.addOp(_util.OPS.restore, null);\n }\n } else {\n var opArgs = operatorList.argsArray[lastIndex];\n opArgs[0].push(fn);\n Array.prototype.push.apply(opArgs[1], args);\n }\n },\n parseColorSpace: function parseColorSpace(_ref25) {\n var _this60 = this;\n\n var cs = _ref25.cs,\n resources = _ref25.resources;\n return new Promise(function (resolve) {\n resolve(_colorspace.ColorSpace.parse(cs, _this60.xref, resources, _this60.pdfFunctionFactory));\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (_this60.options.ignoreErrors) {\n _this60.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"parseColorSpace - ignoring ColorSpace: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }\n\n throw reason;\n });\n },\n handleColorN: function handleColorN(operatorList, fn, args, cs, patterns, resources, task) {\n var _this61 = this;\n\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15() {\n var patternName, pattern, dict, typeNum, color, shading, matrix;\n return _regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n patternName = args[args.length - 1];\n\n if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {\n _context15.next = 16;\n break;\n }\n\n dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n typeNum = dict.get(\"PatternType\");\n\n if (!(typeNum === TILING_PATTERN)) {\n _context15.next = 9;\n break;\n }\n\n color = cs.base ? cs.base.getRgb(args, 0) : null;\n return _context15.abrupt(\"return\", _this61.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));\n\n case 9:\n if (!(typeNum === SHADING_PATTERN)) {\n _context15.next = 15;\n break;\n }\n\n shading = dict.get(\"Shading\");\n matrix = dict.getArray(\"Matrix\");\n pattern = _pattern.Pattern.parseShading(shading, matrix, _this61.xref, resources, _this61.handler, _this61.pdfFunctionFactory);\n operatorList.addOp(fn, pattern.getIR());\n return _context15.abrupt(\"return\", undefined);\n\n case 15:\n throw new _util.FormatError(\"Unknown PatternType: \".concat(typeNum));\n\n case 16:\n throw new _util.FormatError(\"Unknown PatternName: \".concat(patternName));\n\n case 17:\n case \"end\":\n return _context15.stop();\n }\n }\n }, _callee15);\n }))();\n },\n getOperatorList: function getOperatorList(_ref26) {\n var _this62 = this;\n\n var stream = _ref26.stream,\n task = _ref26.task,\n resources = _ref26.resources,\n operatorList = _ref26.operatorList,\n _ref26$initialState = _ref26.initialState,\n initialState = _ref26$initialState === void 0 ? null : _ref26$initialState;\n resources = resources || _primitives.Dict.empty;\n initialState = initialState || new EvalState();\n\n if (!operatorList) {\n throw new Error('getOperatorList: missing \"operatorList\" parameter');\n }\n\n var self = this;\n var xref = this.xref;\n var parsingText = false;\n var imageCache = Object.create(null);\n\n var xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n\n var patterns = resources.get(\"Pattern\") || _primitives.Dict.empty;\n\n var stateManager = new StateManager(initialState);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var timeSlotManager = new TimeSlotManager();\n\n function closePendingRestoreOPS(argument) {\n for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n operatorList.addOp(_util.OPS.restore, []);\n }\n }\n\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n Promise.all([promise, operatorList.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n i,\n ii,\n cs;\n\n while (!(stop = timeSlotManager.check())) {\n operation.args = null;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n var args = operation.args;\n var fn = operation.fn;\n\n switch (fn | 0) {\n case _util.OPS.paintXObject:\n var name = args[0].name;\n\n if (name && imageCache[name] !== undefined) {\n operatorList.addOp(imageCache[name].fn, imageCache[name].args);\n args = null;\n continue;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError(\"XObject must be referred to by name.\");\n }\n\n var xobj = xobjs.get(name);\n\n if (!xobj) {\n operatorList.addOp(fn, args);\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError(\"XObject should be a stream\");\n }\n\n var type = xobj.dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"XObject should have a Name subtype\");\n }\n\n if (type.name === \"Form\") {\n stateManager.save();\n self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {\n stateManager.restore();\n resolveXObject();\n }, rejectXObject);\n return;\n } else if (type.name === \"Image\") {\n self.buildPaintImageXObject({\n resources: resources,\n image: xobj,\n operatorList: operatorList,\n cacheKey: name,\n imageCache: imageCache\n }).then(resolveXObject, rejectXObject);\n return;\n } else if (type.name === \"PS\") {\n (0, _util.info)(\"Ignored XObject subtype PS\");\n } else {\n throw new _util.FormatError(\"Unhandled XObject subtype \".concat(type.name));\n }\n\n resolveXObject();\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n (0, _util.warn)(\"getOperatorList - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setFont:\n var fontSize = args[1];\n next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n }));\n return;\n\n case _util.OPS.beginText:\n parsingText = true;\n break;\n\n case _util.OPS.endText:\n parsingText = false;\n break;\n\n case _util.OPS.endInlineImage:\n var cacheKey = args[0].cacheKey;\n\n if (cacheKey) {\n var cacheEntry = imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n operatorList.addOp(cacheEntry.fn, cacheEntry.args);\n args = null;\n continue;\n }\n }\n\n next(self.buildPaintImageXObject({\n resources: resources,\n image: args[0],\n isInline: true,\n operatorList: operatorList,\n cacheKey: cacheKey,\n imageCache: imageCache\n }));\n return;\n\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n var arr = args[0];\n var combinedGlyphs = [];\n var arrLength = arr.length;\n var state = stateManager.state;\n\n for (i = 0; i < arrLength; ++i) {\n var arrItem = arr[i];\n\n if ((0, _util.isString)(arrItem)) {\n Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n } else if ((0, _util.isNum)(arrItem)) {\n combinedGlyphs.push(arrItem);\n }\n }\n\n args[0] = combinedGlyphs;\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n operatorList.addOp(_util.OPS.nextLine);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n operatorList.addOp(_util.OPS.nextLine);\n operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.setTextRenderingMode:\n stateManager.state.textRenderingMode = args[0];\n break;\n\n case _util.OPS.setFillColorSpace:\n next(self.parseColorSpace({\n cs: args[0],\n resources: resources\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.fillColorSpace = colorSpace;\n }\n }));\n return;\n\n case _util.OPS.setStrokeColorSpace:\n next(self.parseColorSpace({\n cs: args[0],\n resources: resources\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.strokeColorSpace = colorSpace;\n }\n }));\n return;\n\n case _util.OPS.setFillColor:\n cs = stateManager.state.fillColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColor:\n cs = stateManager.state.strokeColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillGray:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeGray:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillCMYKColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeCMYKColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillRGBColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setFillColorN:\n cs = stateManager.state.fillColorSpace;\n\n if (cs.name === \"Pattern\") {\n next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColorN:\n cs = stateManager.state.strokeColorSpace;\n\n if (cs.name === \"Pattern\") {\n next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.shadingFill:\n var shadingRes = resources.get(\"Shading\");\n\n if (!shadingRes) {\n throw new _util.FormatError(\"No shading resource found\");\n }\n\n var shading = shadingRes.get(args[0].name);\n\n if (!shading) {\n throw new _util.FormatError(\"No shading object found\");\n }\n\n var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self.pdfFunctionFactory);\n\n var patternIR = shadingFill.getIR();\n args = [patternIR];\n fn = _util.OPS.shadingFill;\n break;\n\n case _util.OPS.setGState:\n var dictName = args[0];\n var extGState = resources.get(\"ExtGState\");\n\n if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n next(self.setGState(resources, gState, operatorList, task, stateManager));\n return;\n\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n case _util.OPS.curveTo:\n case _util.OPS.curveTo2:\n case _util.OPS.curveTo3:\n case _util.OPS.closePath:\n case _util.OPS.rectangle:\n self.buildPath(operatorList, fn, args, parsingText);\n continue;\n\n case _util.OPS.markPoint:\n case _util.OPS.markPointProps:\n case _util.OPS.beginMarkedContent:\n case _util.OPS.beginMarkedContentProps:\n case _util.OPS.endMarkedContent:\n case _util.OPS.beginCompat:\n case _util.OPS.endCompat:\n continue;\n\n default:\n if (args !== null) {\n for (i = 0, ii = args.length; i < ii; i++) {\n if (args[i] instanceof _primitives.Dict) {\n break;\n }\n }\n\n if (i < ii) {\n (0, _util.warn)(\"getOperatorList - ignoring operator: \" + fn);\n continue;\n }\n }\n\n }\n\n operatorList.addOp(fn, args);\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n closePendingRestoreOPS();\n resolve();\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this62.options.ignoreErrors) {\n _this62.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"getOperatorList - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n closePendingRestoreOPS();\n return;\n }\n\n throw reason;\n });\n },\n getTextContent: function getTextContent(_ref27) {\n var _this63 = this;\n\n var stream = _ref27.stream,\n task = _ref27.task,\n resources = _ref27.resources,\n _ref27$stateManager = _ref27.stateManager,\n stateManager = _ref27$stateManager === void 0 ? null : _ref27$stateManager,\n _ref27$normalizeWhite = _ref27.normalizeWhitespace,\n normalizeWhitespace = _ref27$normalizeWhite === void 0 ? false : _ref27$normalizeWhite,\n _ref27$combineTextIte = _ref27.combineTextItems,\n combineTextItems = _ref27$combineTextIte === void 0 ? false : _ref27$combineTextIte,\n sink = _ref27.sink,\n _ref27$seenStyles = _ref27.seenStyles,\n seenStyles = _ref27$seenStyles === void 0 ? Object.create(null) : _ref27$seenStyles;\n resources = resources || _primitives.Dict.empty;\n stateManager = stateManager || new StateManager(new TextState());\n var WhitespaceRegexp = /\\s/g;\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n var textContentItem = {\n initialized: false,\n str: [],\n width: 0,\n height: 0,\n vertical: false,\n lastAdvanceWidth: 0,\n lastAdvanceHeight: 0,\n textAdvanceScale: 0,\n spaceWidth: 0,\n fakeSpaceMin: Infinity,\n fakeMultiSpaceMin: Infinity,\n fakeMultiSpaceMax: -0,\n textRunBreakAllowed: false,\n transform: null,\n fontName: null\n };\n var SPACE_FACTOR = 0.3;\n var MULTI_SPACE_FACTOR = 1.5;\n var MULTI_SPACE_FACTOR_MAX = 4;\n var self = this;\n var xref = this.xref;\n var xobjs = null;\n var skipEmptyXObjs = Object.create(null);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var textState;\n\n function ensureTextContentItem() {\n if (textContentItem.initialized) {\n return textContentItem;\n }\n\n var font = textState.font;\n\n if (!(font.loadedName in seenStyles)) {\n seenStyles[font.loadedName] = true;\n textContent.styles[font.loadedName] = {\n fontFamily: font.fallbackName,\n ascent: font.ascent,\n descent: font.descent,\n vertical: !!font.vertical\n };\n }\n\n textContentItem.fontName = font.loadedName;\n var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n\n if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n var glyphHeight = font.bbox[3] - font.bbox[1];\n\n if (glyphHeight > 0) {\n tsm[3] *= glyphHeight * textState.fontMatrix[3];\n }\n }\n\n var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n\n textContentItem.transform = trm;\n\n if (!font.vertical) {\n textContentItem.width = 0;\n textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n textContentItem.vertical = false;\n } else {\n textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n textContentItem.height = 0;\n textContentItem.vertical = true;\n }\n\n var a = textState.textLineMatrix[0];\n var b = textState.textLineMatrix[1];\n var scaleLineX = Math.sqrt(a * a + b * b);\n a = textState.ctm[0];\n b = textState.ctm[1];\n var scaleCtmX = Math.sqrt(a * a + b * b);\n textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n textContentItem.lastAdvanceWidth = 0;\n textContentItem.lastAdvanceHeight = 0;\n var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n\n if (spaceWidth) {\n textContentItem.spaceWidth = spaceWidth;\n textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n textContentItem.textRunBreakAllowed = !font.isMonospace;\n } else {\n textContentItem.spaceWidth = 0;\n textContentItem.fakeSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMax = 0;\n textContentItem.textRunBreakAllowed = false;\n }\n\n textContentItem.initialized = true;\n return textContentItem;\n }\n\n function replaceWhitespace(str) {\n var i = 0,\n ii = str.length,\n code;\n\n while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7f) {\n i++;\n }\n\n return i < ii ? str.replace(WhitespaceRegexp, \" \") : str;\n }\n\n function runBidiTransform(textChunk) {\n var str = textChunk.str.join(\"\");\n var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n return {\n str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n dir: bidiResult.dir,\n width: textChunk.width,\n height: textChunk.height,\n transform: textChunk.transform,\n fontName: textChunk.fontName\n };\n }\n\n function handleSetFont(fontName, fontRef) {\n return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n textState.font = translated.font;\n textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n });\n }\n\n function buildTextContentItem(chars) {\n var font = textState.font;\n var textChunk = ensureTextContentItem();\n var width = 0;\n var height = 0;\n var glyphs = font.charsToGlyphs(chars);\n\n for (var i = 0; i < glyphs.length; i++) {\n var glyph = glyphs[i];\n var glyphWidth = null;\n\n if (font.vertical && glyph.vmetric) {\n glyphWidth = glyph.vmetric[0];\n } else {\n glyphWidth = glyph.width;\n }\n\n var glyphUnicode = glyph.unicode;\n var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n\n if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n glyphUnicode = NormalizedUnicodes[glyphUnicode];\n }\n\n glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n var charSpacing = textState.charSpacing;\n\n if (glyph.isSpace) {\n var wordSpacing = textState.wordSpacing;\n charSpacing += wordSpacing;\n\n if (wordSpacing > 0) {\n addFakeSpaces(wordSpacing, textChunk.str);\n }\n }\n\n var tx = 0;\n var ty = 0;\n\n if (!font.vertical) {\n var w0 = glyphWidth * textState.fontMatrix[0];\n tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n width += tx;\n } else {\n var w1 = glyphWidth * textState.fontMatrix[0];\n ty = w1 * textState.fontSize + charSpacing;\n height += ty;\n }\n\n textState.translateTextMatrix(tx, ty);\n textChunk.str.push(glyphUnicode);\n }\n\n if (!font.vertical) {\n textChunk.lastAdvanceWidth = width;\n textChunk.width += width;\n } else {\n textChunk.lastAdvanceHeight = height;\n textChunk.height += Math.abs(height);\n }\n\n return textChunk;\n }\n\n function addFakeSpaces(width, strBuf) {\n if (width < textContentItem.fakeSpaceMin) {\n return;\n }\n\n if (width < textContentItem.fakeMultiSpaceMin) {\n strBuf.push(\" \");\n return;\n }\n\n var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n\n while (fakeSpaces-- > 0) {\n strBuf.push(\" \");\n }\n }\n\n function flushTextContentItem() {\n if (!textContentItem.initialized) {\n return;\n }\n\n if (!textContentItem.vertical) {\n textContentItem.width *= textContentItem.textAdvanceScale;\n } else {\n textContentItem.height *= textContentItem.textAdvanceScale;\n }\n\n textContent.items.push(runBidiTransform(textContentItem));\n textContentItem.initialized = false;\n textContentItem.str.length = 0;\n }\n\n function enqueueChunk() {\n var length = textContent.items.length;\n\n if (length > 0) {\n sink.enqueue(textContent, length);\n textContent.items = [];\n textContent.styles = Object.create(null);\n }\n }\n\n var timeSlotManager = new TimeSlotManager();\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n enqueueChunk();\n Promise.all([promise, sink.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n args = [];\n\n while (!(stop = timeSlotManager.check())) {\n args.length = 0;\n operation.args = args;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n textState = stateManager.state;\n var fn = operation.fn;\n args = operation.args;\n var advance, diff;\n\n switch (fn | 0) {\n case _util.OPS.setFont:\n var fontNameArg = args[0].name,\n fontSizeArg = args[1];\n\n if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n break;\n }\n\n flushTextContentItem();\n textState.fontName = fontNameArg;\n textState.fontSize = fontSizeArg;\n next(handleSetFont(fontNameArg, null));\n return;\n\n case _util.OPS.setTextRise:\n flushTextContentItem();\n textState.textRise = args[0];\n break;\n\n case _util.OPS.setHScale:\n flushTextContentItem();\n textState.textHScale = args[0] / 100;\n break;\n\n case _util.OPS.setLeading:\n flushTextContentItem();\n textState.leading = args[0];\n break;\n\n case _util.OPS.moveText:\n var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n advance = args[0] - args[1];\n\n if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(args[0], args[1]);\n textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.setLeadingMoveText:\n flushTextContentItem();\n textState.leading = -args[1];\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.nextLine:\n flushTextContentItem();\n textState.carriageReturn();\n break;\n\n case _util.OPS.setTextMatrix:\n advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n\n if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(advance.width, advance.height);\n textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setCharSpacing:\n textState.charSpacing = args[0];\n break;\n\n case _util.OPS.setWordSpacing:\n textState.wordSpacing = args[0];\n break;\n\n case _util.OPS.beginText:\n flushTextContentItem();\n textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n break;\n\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n var items = args[0];\n var offset;\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n if (typeof items[j] === \"string\") {\n buildTextContentItem(items[j]);\n } else if ((0, _util.isNum)(items[j])) {\n ensureTextContentItem();\n advance = items[j] * textState.fontSize / 1000;\n var breakTextRun = false;\n\n if (textState.font.vertical) {\n offset = advance;\n textState.translateTextMatrix(0, offset);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.height += offset;\n }\n } else {\n advance = -advance;\n offset = advance * textState.textHScale;\n textState.translateTextMatrix(offset, 0);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.width += offset;\n }\n }\n\n if (breakTextRun) {\n flushTextContentItem();\n } else if (advance > 0) {\n addFakeSpaces(advance, textContentItem.str);\n }\n }\n }\n\n break;\n\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n flushTextContentItem();\n textState.carriageReturn();\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n flushTextContentItem();\n textState.wordSpacing = args[0];\n textState.charSpacing = args[1];\n textState.carriageReturn();\n buildTextContentItem(args[2]);\n break;\n\n case _util.OPS.paintXObject:\n flushTextContentItem();\n\n if (!xobjs) {\n xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n }\n\n var name = args[0].name;\n\n if (name && skipEmptyXObjs[name] !== undefined) {\n break;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError(\"XObject must be referred to by name.\");\n }\n\n var xobj = xobjs.get(name);\n\n if (!xobj) {\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError(\"XObject should be a stream\");\n }\n\n var type = xobj.dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"XObject should have a Name subtype\");\n }\n\n if (type.name !== \"Form\") {\n skipEmptyXObjs[name] = true;\n resolveXObject();\n return;\n }\n\n var currentState = stateManager.state.clone();\n var xObjStateManager = new StateManager(currentState);\n var matrix = xobj.dict.getArray(\"Matrix\");\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n xObjStateManager.transform(matrix);\n }\n\n enqueueChunk();\n var sinkWrapper = {\n enqueueInvoked: false,\n enqueue: function enqueue(chunk, size) {\n this.enqueueInvoked = true;\n sink.enqueue(chunk, size);\n },\n\n get desiredSize() {\n return sink.desiredSize;\n },\n\n get ready() {\n return sink.ready;\n }\n\n };\n self.getTextContent({\n stream: xobj,\n task: task,\n resources: xobj.dict.get(\"Resources\") || resources,\n stateManager: xObjStateManager,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sinkWrapper,\n seenStyles: seenStyles\n }).then(function () {\n if (!sinkWrapper.enqueueInvoked) {\n skipEmptyXObjs[name] = true;\n }\n\n resolveXObject();\n }, rejectXObject);\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setGState:\n flushTextContentItem();\n var dictName = args[0];\n var extGState = resources.get(\"ExtGState\");\n\n if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n\n if (!(0, _primitives.isDict)(gState)) {\n break;\n }\n\n var gStateFont = gState.get(\"Font\");\n\n if (gStateFont) {\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n next(handleSetFont(null, gStateFont[0]));\n return;\n }\n\n break;\n }\n\n if (textContent.items.length >= sink.desiredSize) {\n stop = true;\n break;\n }\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n flushTextContentItem();\n enqueueChunk();\n resolve();\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this63.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n flushTextContentItem();\n enqueueChunk();\n return;\n }\n\n throw reason;\n });\n },\n extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {\n var _this64 = this;\n\n var xref = this.xref;\n var cidToGidBytes;\n var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n\n if (properties.composite) {\n var cidSystemInfo = dict.get(\"CIDSystemInfo\");\n\n if ((0, _primitives.isDict)(cidSystemInfo)) {\n properties.cidSystemInfo = {\n registry: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Registry\")),\n ordering: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Ordering\")),\n supplement: cidSystemInfo.get(\"Supplement\")\n };\n }\n\n var cidToGidMap = dict.get(\"CIDToGIDMap\");\n\n if ((0, _primitives.isStream)(cidToGidMap)) {\n cidToGidBytes = cidToGidMap.getBytes();\n }\n }\n\n var differences = [];\n var baseEncodingName = null;\n var encoding;\n\n if (dict.has(\"Encoding\")) {\n encoding = dict.get(\"Encoding\");\n\n if ((0, _primitives.isDict)(encoding)) {\n baseEncodingName = encoding.get(\"BaseEncoding\");\n baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n\n if (encoding.has(\"Differences\")) {\n var diffEncoding = encoding.get(\"Differences\");\n var index = 0;\n\n for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n var data = xref.fetchIfRef(diffEncoding[j]);\n\n if ((0, _util.isNum)(data)) {\n index = data;\n } else if ((0, _primitives.isName)(data)) {\n differences[index++] = data.name;\n } else {\n throw new _util.FormatError(\"Invalid entry in 'Differences' array: \".concat(data));\n }\n }\n }\n } else if ((0, _primitives.isName)(encoding)) {\n baseEncodingName = encoding.name;\n } else {\n throw new _util.FormatError(\"Encoding is not a Name nor a Dict\");\n }\n\n if (baseEncodingName !== \"MacRomanEncoding\" && baseEncodingName !== \"MacExpertEncoding\" && baseEncodingName !== \"WinAnsiEncoding\") {\n baseEncodingName = null;\n }\n }\n\n if (baseEncodingName) {\n properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n } else {\n var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n encoding = _encodings.StandardEncoding;\n\n if (properties.type === \"TrueType\" && !isNonsymbolicFont) {\n encoding = _encodings.WinAnsiEncoding;\n }\n\n if (isSymbolicFont) {\n encoding = _encodings.MacRomanEncoding;\n\n if (!properties.file) {\n if (/Symbol/i.test(properties.name)) {\n encoding = _encodings.SymbolSetEncoding;\n } else if (/Dingbats|Wingdings/i.test(properties.name)) {\n encoding = _encodings.ZapfDingbatsEncoding;\n }\n }\n }\n\n properties.defaultEncoding = encoding;\n }\n\n properties.differences = differences;\n properties.baseEncodingName = baseEncodingName;\n properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n properties.dict = dict;\n return toUnicodePromise.then(function (toUnicode) {\n properties.toUnicode = toUnicode;\n return _this64.buildToUnicode(properties);\n }).then(function (toUnicode) {\n properties.toUnicode = toUnicode;\n\n if (cidToGidBytes) {\n properties.cidToGidMap = _this64.readCidToGidMap(cidToGidBytes, toUnicode);\n }\n\n return properties;\n });\n },\n _buildSimpleFontToUnicode: function _buildSimpleFontToUnicode(properties) {\n var forceGlyphs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(!properties.composite, \"Must be a simple font.\");\n var toUnicode = [];\n var encoding = properties.defaultEncoding.slice();\n var baseEncodingName = properties.baseEncodingName;\n var differences = properties.differences;\n\n for (var charcode in differences) {\n var glyphName = differences[charcode];\n\n if (glyphName === \".notdef\") {\n continue;\n }\n\n encoding[charcode] = glyphName;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var _charcode in encoding) {\n var _glyphName = encoding[_charcode];\n\n if (_glyphName === \"\") {\n continue;\n } else if (glyphsUnicodeMap[_glyphName] === undefined) {\n var code = 0;\n\n switch (_glyphName[0]) {\n case \"G\":\n if (_glyphName.length === 3) {\n code = parseInt(_glyphName.substring(1), 16);\n }\n\n break;\n\n case \"g\":\n if (_glyphName.length === 5) {\n code = parseInt(_glyphName.substring(1), 16);\n }\n\n break;\n\n case \"C\":\n case \"c\":\n if (_glyphName.length >= 3 && _glyphName.length <= 4) {\n var codeStr = _glyphName.substring(1);\n\n if (forceGlyphs) {\n code = parseInt(codeStr, 16);\n break;\n }\n\n code = +codeStr;\n\n if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {\n return this._buildSimpleFontToUnicode(properties, true);\n }\n }\n\n break;\n\n default:\n var unicode = (0, _unicode.getUnicodeForGlyph)(_glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n code = unicode;\n }\n\n }\n\n if (code > 0 && Number.isInteger(code)) {\n if (baseEncodingName && code === +_charcode) {\n var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n\n if (baseEncoding && (_glyphName = baseEncoding[_charcode])) {\n toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);\n continue;\n }\n }\n\n toUnicode[_charcode] = String.fromCodePoint(code);\n }\n\n continue;\n }\n\n toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);\n }\n\n return new _fonts.ToUnicodeMap(toUnicode);\n },\n buildToUnicode: function buildToUnicode(properties) {\n properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n\n if (properties.hasIncludedToUnicodeMap) {\n if (!properties.composite && properties.hasEncoding) {\n properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);\n }\n\n return Promise.resolve(properties.toUnicode);\n }\n\n if (!properties.composite) {\n return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n }\n\n if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === \"Adobe\" && (properties.cidSystemInfo.ordering === \"GB1\" || properties.cidSystemInfo.ordering === \"CNS1\" || properties.cidSystemInfo.ordering === \"Japan1\" || properties.cidSystemInfo.ordering === \"Korea1\"))) {\n var registry = properties.cidSystemInfo.registry;\n var ordering = properties.cidSystemInfo.ordering;\n\n var ucs2CMapName = _primitives.Name.get(registry + \"-\" + ordering + \"-UCS2\");\n\n return _cmap.CMapFactory.create({\n encoding: ucs2CMapName,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (ucs2CMap) {\n var cMap = properties.cMap;\n var toUnicode = [];\n cMap.forEach(function (charcode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError(\"Max size of CID is 65,535\");\n }\n\n var ucs2 = ucs2CMap.lookup(cid);\n\n if (ucs2) {\n toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n }\n });\n return new _fonts.ToUnicodeMap(toUnicode);\n });\n }\n\n return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n },\n readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {\n var _this65 = this;\n\n var cmapObj = toUnicode;\n\n if ((0, _primitives.isName)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n }\n\n return new _fonts.ToUnicodeMap(cmap.getMap());\n });\n } else if ((0, _primitives.isStream)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n }\n\n var map = new Array(cmap.length);\n cmap.forEach(function (charCode, token) {\n var str = [];\n\n for (var k = 0; k < token.length; k += 2) {\n var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n\n if ((w1 & 0xf800) !== 0xd800) {\n str.push(w1);\n continue;\n }\n\n k += 2;\n var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n }\n\n map[charCode] = String.fromCodePoint.apply(String, str);\n });\n return new _fonts.ToUnicodeMap(map);\n }, function (reason) {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (_this65.options.ignoreErrors) {\n _this65.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n (0, _util.warn)(\"readToUnicode - ignoring ToUnicode data: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }\n\n throw reason;\n });\n }\n\n return Promise.resolve(null);\n },\n readCidToGidMap: function readCidToGidMap(glyphsData, toUnicode) {\n var result = [];\n\n for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n var code = j >> 1;\n\n if (glyphID === 0 && !toUnicode.has(code)) {\n continue;\n }\n\n result[code] = glyphID;\n }\n\n return result;\n },\n extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {\n var xref = this.xref;\n var glyphsWidths = [];\n var defaultWidth = 0;\n var glyphsVMetrics = [];\n var defaultVMetrics;\n var i, ii, j, jj, start, code, widths;\n\n if (properties.composite) {\n defaultWidth = dict.has(\"DW\") ? dict.get(\"DW\") : 1000;\n widths = dict.get(\"W\");\n\n if (widths) {\n for (i = 0, ii = widths.length; i < ii; i++) {\n start = xref.fetchIfRef(widths[i++]);\n code = xref.fetchIfRef(widths[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n }\n } else {\n var width = xref.fetchIfRef(widths[++i]);\n\n for (j = start; j <= code; j++) {\n glyphsWidths[j] = width;\n }\n }\n }\n }\n\n if (properties.vertical) {\n var vmetrics = dict.getArray(\"DW2\") || [880, -1000];\n defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n vmetrics = dict.get(\"W2\");\n\n if (vmetrics) {\n for (i = 0, ii = vmetrics.length; i < ii; i++) {\n start = xref.fetchIfRef(vmetrics[i++]);\n code = xref.fetchIfRef(vmetrics[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n }\n } else {\n var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n\n for (j = start; j <= code; j++) {\n glyphsVMetrics[j] = vmetric;\n }\n }\n }\n }\n }\n } else {\n var firstChar = properties.firstChar;\n widths = dict.get(\"Widths\");\n\n if (widths) {\n j = firstChar;\n\n for (i = 0, ii = widths.length; i < ii; i++) {\n glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n }\n\n defaultWidth = parseFloat(descriptor.get(\"MissingWidth\")) || 0;\n } else {\n var baseFontName = dict.get(\"BaseFont\");\n\n if ((0, _primitives.isName)(baseFontName)) {\n var metrics = this.getBaseFontMetrics(baseFontName.name);\n glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n defaultWidth = metrics.defaultWidth;\n }\n }\n }\n\n var isMonospace = true;\n var firstWidth = defaultWidth;\n\n for (var glyph in glyphsWidths) {\n var glyphWidth = glyphsWidths[glyph];\n\n if (!glyphWidth) {\n continue;\n }\n\n if (!firstWidth) {\n firstWidth = glyphWidth;\n continue;\n }\n\n if (firstWidth !== glyphWidth) {\n isMonospace = false;\n break;\n }\n }\n\n if (isMonospace) {\n properties.flags |= _fonts.FontFlags.FixedPitch;\n }\n\n properties.defaultWidth = defaultWidth;\n properties.widths = glyphsWidths;\n properties.defaultVMetrics = defaultVMetrics;\n properties.vmetrics = glyphsVMetrics;\n },\n isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {\n var fontNameWoStyle = baseFontName.split(\"-\")[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n },\n getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {\n var defaultWidth = 0;\n var widths = [];\n var monospace = false;\n var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n var lookupName = stdFontMap[name] || name;\n var Metrics = (0, _metrics.getMetrics)();\n\n if (!(lookupName in Metrics)) {\n if (this.isSerifFont(name)) {\n lookupName = \"Times-Roman\";\n } else {\n lookupName = \"Helvetica\";\n }\n }\n\n var glyphWidths = Metrics[lookupName];\n\n if ((0, _util.isNum)(glyphWidths)) {\n defaultWidth = glyphWidths;\n monospace = true;\n } else {\n widths = glyphWidths();\n }\n\n return {\n defaultWidth: defaultWidth,\n monospace: monospace,\n widths: widths\n };\n },\n buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {\n var widths = Object.create(null);\n var differences = properties.differences;\n var encoding = properties.defaultEncoding;\n\n for (var charCode = 0; charCode < 256; charCode++) {\n if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n widths[charCode] = widthsByGlyphName[differences[charCode]];\n continue;\n }\n\n if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n widths[charCode] = widthsByGlyphName[encoding[charCode]];\n continue;\n }\n }\n\n return widths;\n },\n preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {\n var baseDict = dict;\n var type = dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"invalid font Subtype\");\n }\n\n var composite = false;\n var uint8array;\n\n if (type.name === \"Type0\") {\n var df = dict.get(\"DescendantFonts\");\n\n if (!df) {\n throw new _util.FormatError(\"Descendant fonts are not specified\");\n }\n\n dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n type = dict.get(\"Subtype\");\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError(\"invalid font Subtype\");\n }\n\n composite = true;\n }\n\n var descriptor = dict.get(\"FontDescriptor\");\n\n if (descriptor) {\n var hash = new _murmurhash.MurmurHash3_64();\n var encoding = baseDict.getRaw(\"Encoding\");\n\n if ((0, _primitives.isName)(encoding)) {\n hash.update(encoding.name);\n } else if ((0, _primitives.isRef)(encoding)) {\n hash.update(encoding.toString());\n } else if ((0, _primitives.isDict)(encoding)) {\n var keys = encoding.getKeys();\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n var entry = encoding.getRaw(keys[i]);\n\n if ((0, _primitives.isName)(entry)) {\n hash.update(entry.name);\n } else if ((0, _primitives.isRef)(entry)) {\n hash.update(entry.toString());\n } else if (Array.isArray(entry)) {\n var diffLength = entry.length,\n diffBuf = new Array(diffLength);\n\n for (var j = 0; j < diffLength; j++) {\n var diffEntry = entry[j];\n\n if ((0, _primitives.isName)(diffEntry)) {\n diffBuf[j] = diffEntry.name;\n } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n diffBuf[j] = diffEntry.toString();\n }\n }\n\n hash.update(diffBuf.join());\n }\n }\n }\n\n var firstChar = dict.get(\"FirstChar\") || 0;\n var lastChar = dict.get(\"LastChar\") || (composite ? 0xffff : 0xff);\n hash.update(\"\".concat(firstChar, \"-\").concat(lastChar));\n var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n\n if ((0, _primitives.isStream)(toUnicode)) {\n var stream = toUnicode.str || toUnicode;\n uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n hash.update(uint8array);\n } else if ((0, _primitives.isName)(toUnicode)) {\n hash.update(toUnicode.name);\n }\n\n var widths = dict.get(\"Widths\") || baseDict.get(\"Widths\");\n\n if (widths) {\n uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n hash.update(uint8array);\n }\n }\n\n return {\n descriptor: descriptor,\n dict: dict,\n baseDict: baseDict,\n composite: composite,\n type: type.name,\n hash: hash ? hash.hexdigest() : \"\"\n };\n },\n translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {\n var _this66 = this;\n\n var baseDict = preEvaluatedFont.baseDict;\n var dict = preEvaluatedFont.dict;\n var composite = preEvaluatedFont.composite;\n var descriptor = preEvaluatedFont.descriptor;\n var type = preEvaluatedFont.type;\n var maxCharIndex = composite ? 0xffff : 0xff;\n var properties;\n var firstChar = dict.get(\"FirstChar\") || 0;\n var lastChar = dict.get(\"LastChar\") || maxCharIndex;\n\n if (!descriptor) {\n if (type === \"Type3\") {\n descriptor = new _primitives.Dict(null);\n descriptor.set(\"FontName\", _primitives.Name.get(type));\n descriptor.set(\"FontBBox\", dict.getArray(\"FontBBox\") || [0, 0, 0, 0]);\n } else {\n var baseFontName = dict.get(\"BaseFont\");\n\n if (!(0, _primitives.isName)(baseFontName)) {\n throw new _util.FormatError(\"Base font is not specified\");\n }\n\n baseFontName = baseFontName.name.replace(/[,_]/g, \"-\");\n var metrics = this.getBaseFontMetrics(baseFontName);\n var fontNameWoStyle = baseFontName.split(\"-\")[0];\n var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n properties = {\n type: type,\n name: baseFontName,\n widths: metrics.widths,\n defaultWidth: metrics.defaultWidth,\n flags: flags,\n firstChar: firstChar,\n lastChar: lastChar\n };\n var widths = dict.get(\"Widths\");\n return this.extractDataStructures(dict, dict, properties).then(function (properties) {\n if (widths) {\n var glyphWidths = [];\n var j = firstChar;\n\n for (var i = 0, ii = widths.length; i < ii; i++) {\n glyphWidths[j++] = _this66.xref.fetchIfRef(widths[i]);\n }\n\n properties.widths = glyphWidths;\n } else {\n properties.widths = _this66.buildCharCodeToWidth(metrics.widths, properties);\n }\n\n return new _fonts.Font(baseFontName, null, properties);\n });\n }\n }\n\n var fontName = descriptor.get(\"FontName\");\n var baseFont = dict.get(\"BaseFont\");\n\n if ((0, _util.isString)(fontName)) {\n fontName = _primitives.Name.get(fontName);\n }\n\n if ((0, _util.isString)(baseFont)) {\n baseFont = _primitives.Name.get(baseFont);\n }\n\n if (type !== \"Type3\") {\n var fontNameStr = fontName && fontName.name;\n var baseFontStr = baseFont && baseFont.name;\n\n if (fontNameStr !== baseFontStr) {\n (0, _util.info)(\"The FontDescriptor's FontName is \\\"\".concat(fontNameStr, \"\\\" but \") + \"should be the same as the Font's BaseFont \\\"\".concat(baseFontStr, \"\\\".\"));\n\n if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {\n fontName = baseFont;\n }\n }\n }\n\n fontName = fontName || baseFont;\n\n if (!(0, _primitives.isName)(fontName)) {\n throw new _util.FormatError(\"invalid font name\");\n }\n\n var fontFile = descriptor.get(\"FontFile\", \"FontFile2\", \"FontFile3\");\n\n if (fontFile) {\n if (fontFile.dict) {\n var subtype = fontFile.dict.get(\"Subtype\");\n\n if (subtype) {\n subtype = subtype.name;\n }\n\n var length1 = fontFile.dict.get(\"Length1\");\n var length2 = fontFile.dict.get(\"Length2\");\n var length3 = fontFile.dict.get(\"Length3\");\n }\n }\n\n properties = {\n type: type,\n name: fontName.name,\n subtype: subtype,\n file: fontFile,\n length1: length1,\n length2: length2,\n length3: length3,\n loadedName: baseDict.loadedName,\n composite: composite,\n wideChars: composite,\n fixedPitch: false,\n fontMatrix: dict.getArray(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX,\n firstChar: firstChar || 0,\n lastChar: lastChar || maxCharIndex,\n bbox: descriptor.getArray(\"FontBBox\"),\n ascent: descriptor.get(\"Ascent\"),\n descent: descriptor.get(\"Descent\"),\n xHeight: descriptor.get(\"XHeight\"),\n capHeight: descriptor.get(\"CapHeight\"),\n flags: descriptor.get(\"Flags\"),\n italicAngle: descriptor.get(\"ItalicAngle\"),\n isType3Font: false\n };\n var cMapPromise;\n\n if (composite) {\n var cidEncoding = baseDict.get(\"Encoding\");\n\n if ((0, _primitives.isName)(cidEncoding)) {\n properties.cidEncoding = cidEncoding.name;\n }\n\n cMapPromise = _cmap.CMapFactory.create({\n encoding: cidEncoding,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cMap) {\n properties.cMap = cMap;\n properties.vertical = properties.cMap.vertical;\n });\n } else {\n cMapPromise = Promise.resolve(undefined);\n }\n\n return cMapPromise.then(function () {\n return _this66.extractDataStructures(dict, baseDict, properties);\n }).then(function (properties) {\n _this66.extractWidths(dict, descriptor, properties);\n\n if (type === \"Type3\") {\n properties.isType3Font = true;\n }\n\n return new _fonts.Font(fontName.name, fontFile, properties);\n });\n }\n };\n\n PartialEvaluator.buildFontPaths = function (font, glyphs, handler) {\n function buildPath(fontChar) {\n if (font.renderer.hasBuiltPath(fontChar)) {\n return;\n }\n\n handler.send(\"commonobj\", [\"\".concat(font.loadedName, \"_path_\").concat(fontChar), \"FontPath\", font.renderer.getPathJs(fontChar)]);\n }\n\n var _iterator13 = _createForOfIteratorHelper(glyphs),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var glyph = _step13.value;\n buildPath(glyph.fontChar);\n var accent = glyph.accent;\n\n if (accent && accent.fontChar) {\n buildPath(accent.fontChar);\n }\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n };\n\n PartialEvaluator.getFallbackFontDict = function () {\n if (this._fallbackFontDict) {\n return this._fallbackFontDict;\n }\n\n var dict = new _primitives.Dict();\n dict.set(\"BaseFont\", _primitives.Name.get(\"PDFJS-FallbackFont\"));\n dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n return this._fallbackFontDict = dict;\n };\n\n return PartialEvaluator;\n }();\n\n exports.PartialEvaluator = PartialEvaluator;\n\n var TranslatedFont = function TranslatedFontClosure() {\n function TranslatedFont(loadedName, font, dict) {\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this.type3Loaded = null;\n this.sent = false;\n }\n\n TranslatedFont.prototype = {\n send: function send(handler) {\n if (this.sent) {\n return;\n }\n\n this.sent = true;\n handler.send(\"commonobj\", [this.loadedName, \"Font\", this.font.exportData()]);\n },\n fallback: function fallback(handler) {\n if (!this.font.data) {\n return;\n }\n\n this.font.disableFontFace = true;\n var glyphs = this.font.glyphCacheValues;\n PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n },\n loadType3Data: function loadType3Data(evaluator, resources, parentOperatorList, task) {\n if (!this.font.isType3Font) {\n throw new Error(\"Must be a Type3 font.\");\n }\n\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n\n var type3Options = Object.create(evaluator.options);\n type3Options.ignoreErrors = false;\n type3Options.nativeImageDecoderSupport = _util.NativeImageDecoding.NONE;\n var type3Evaluator = evaluator.clone(type3Options);\n type3Evaluator.parsingType3Font = true;\n var translatedFont = this.font;\n var loadCharProcsPromise = Promise.resolve();\n var charProcs = this.dict.get(\"CharProcs\");\n var fontResources = this.dict.get(\"Resources\") || resources;\n var charProcKeys = charProcs.getKeys();\n var charProcOperatorList = Object.create(null);\n\n var _loop3 = function _loop3() {\n var key = charProcKeys[i];\n loadCharProcsPromise = loadCharProcsPromise.then(function () {\n var glyphStream = charProcs.get(key);\n var operatorList = new _operator_list.OperatorList();\n return type3Evaluator.getOperatorList({\n stream: glyphStream,\n task: task,\n resources: fontResources,\n operatorList: operatorList\n }).then(function () {\n charProcOperatorList[key] = operatorList.getIR();\n parentOperatorList.addDependencies(operatorList.dependencies);\n }).catch(function (reason) {\n (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n var operatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = operatorList.getIR();\n });\n });\n };\n\n for (var i = 0, n = charProcKeys.length; i < n; ++i) {\n _loop3();\n }\n\n this.type3Loaded = loadCharProcsPromise.then(function () {\n translatedFont.charProcOperatorList = charProcOperatorList;\n });\n return this.type3Loaded;\n }\n };\n return TranslatedFont;\n }();\n\n var StateManager = function StateManagerClosure() {\n function StateManager(initialState) {\n this.state = initialState;\n this.stateStack = [];\n }\n\n StateManager.prototype = {\n save: function save() {\n var old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n },\n restore: function restore() {\n var prev = this.stateStack.pop();\n\n if (prev) {\n this.state = prev;\n }\n },\n transform: function transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n };\n return StateManager;\n }();\n\n var TextState = function TextStateClosure() {\n function TextState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.fontName = null;\n this.fontSize = 0;\n this.font = null;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.textMatrix = _util.IDENTITY_MATRIX.slice();\n this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.leading = 0;\n this.textHScale = 1;\n this.textRise = 0;\n }\n\n TextState.prototype = {\n setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textLineMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n translateTextMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textLineMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n var font = this.font;\n\n if (!font) {\n return null;\n }\n\n var m = this.textLineMatrix;\n\n if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n return null;\n }\n\n var txDiff = e - m[4],\n tyDiff = f - m[5];\n\n if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n return null;\n }\n\n var tx,\n ty,\n denominator = a * d - b * c;\n\n if (font.vertical) {\n tx = -tyDiff * c / denominator;\n ty = tyDiff * a / denominator;\n } else {\n tx = txDiff * d / denominator;\n ty = -txDiff * b / denominator;\n }\n\n return {\n width: tx,\n height: ty,\n value: font.vertical ? ty : tx\n };\n },\n calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {\n var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n },\n carriageReturn: function TextState_carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n },\n clone: function TextState_clone() {\n var clone = Object.create(this);\n clone.textMatrix = this.textMatrix.slice();\n clone.textLineMatrix = this.textLineMatrix.slice();\n clone.fontMatrix = this.fontMatrix.slice();\n return clone;\n }\n };\n return TextState;\n }();\n\n var EvalState = function EvalStateClosure() {\n function EvalState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.font = null;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n }\n\n EvalState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n }\n };\n return EvalState;\n }();\n\n var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {\n var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"w\"] = {\n id: _util.OPS.setLineWidth,\n numArgs: 1,\n variableArgs: false\n };\n t[\"J\"] = {\n id: _util.OPS.setLineCap,\n numArgs: 1,\n variableArgs: false\n };\n t[\"j\"] = {\n id: _util.OPS.setLineJoin,\n numArgs: 1,\n variableArgs: false\n };\n t[\"M\"] = {\n id: _util.OPS.setMiterLimit,\n numArgs: 1,\n variableArgs: false\n };\n t[\"d\"] = {\n id: _util.OPS.setDash,\n numArgs: 2,\n variableArgs: false\n };\n t[\"ri\"] = {\n id: _util.OPS.setRenderingIntent,\n numArgs: 1,\n variableArgs: false\n };\n t[\"i\"] = {\n id: _util.OPS.setFlatness,\n numArgs: 1,\n variableArgs: false\n };\n t[\"gs\"] = {\n id: _util.OPS.setGState,\n numArgs: 1,\n variableArgs: false\n };\n t[\"q\"] = {\n id: _util.OPS.save,\n numArgs: 0,\n variableArgs: false\n };\n t[\"Q\"] = {\n id: _util.OPS.restore,\n numArgs: 0,\n variableArgs: false\n };\n t[\"cm\"] = {\n id: _util.OPS.transform,\n numArgs: 6,\n variableArgs: false\n };\n t[\"m\"] = {\n id: _util.OPS.moveTo,\n numArgs: 2,\n variableArgs: false\n };\n t[\"l\"] = {\n id: _util.OPS.lineTo,\n numArgs: 2,\n variableArgs: false\n };\n t[\"c\"] = {\n id: _util.OPS.curveTo,\n numArgs: 6,\n variableArgs: false\n };\n t[\"v\"] = {\n id: _util.OPS.curveTo2,\n numArgs: 4,\n variableArgs: false\n };\n t[\"y\"] = {\n id: _util.OPS.curveTo3,\n numArgs: 4,\n variableArgs: false\n };\n t[\"h\"] = {\n id: _util.OPS.closePath,\n numArgs: 0,\n variableArgs: false\n };\n t[\"re\"] = {\n id: _util.OPS.rectangle,\n numArgs: 4,\n variableArgs: false\n };\n t[\"S\"] = {\n id: _util.OPS.stroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"s\"] = {\n id: _util.OPS.closeStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"f\"] = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t[\"F\"] = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t[\"f*\"] = {\n id: _util.OPS.eoFill,\n numArgs: 0,\n variableArgs: false\n };\n t[\"B\"] = {\n id: _util.OPS.fillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"B*\"] = {\n id: _util.OPS.eoFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"b\"] = {\n id: _util.OPS.closeFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"b*\"] = {\n id: _util.OPS.closeEOFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t[\"n\"] = {\n id: _util.OPS.endPath,\n numArgs: 0,\n variableArgs: false\n };\n t[\"W\"] = {\n id: _util.OPS.clip,\n numArgs: 0,\n variableArgs: false\n };\n t[\"W*\"] = {\n id: _util.OPS.eoClip,\n numArgs: 0,\n variableArgs: false\n };\n t[\"BT\"] = {\n id: _util.OPS.beginText,\n numArgs: 0,\n variableArgs: false\n };\n t[\"ET\"] = {\n id: _util.OPS.endText,\n numArgs: 0,\n variableArgs: false\n };\n t[\"Tc\"] = {\n id: _util.OPS.setCharSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t[\"Tw\"] = {\n id: _util.OPS.setWordSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t[\"Tz\"] = {\n id: _util.OPS.setHScale,\n numArgs: 1,\n variableArgs: false\n };\n t[\"TL\"] = {\n id: _util.OPS.setLeading,\n numArgs: 1,\n variableArgs: false\n };\n t[\"Tf\"] = {\n id: _util.OPS.setFont,\n numArgs: 2,\n variableArgs: false\n };\n t[\"Tr\"] = {\n id: _util.OPS.setTextRenderingMode,\n numArgs: 1,\n variableArgs: false\n };\n t[\"Ts\"] = {\n id: _util.OPS.setTextRise,\n numArgs: 1,\n variableArgs: false\n };\n t[\"Td\"] = {\n id: _util.OPS.moveText,\n numArgs: 2,\n variableArgs: false\n };\n t[\"TD\"] = {\n id: _util.OPS.setLeadingMoveText,\n numArgs: 2,\n variableArgs: false\n };\n t[\"Tm\"] = {\n id: _util.OPS.setTextMatrix,\n numArgs: 6,\n variableArgs: false\n };\n t[\"T*\"] = {\n id: _util.OPS.nextLine,\n numArgs: 0,\n variableArgs: false\n };\n t[\"Tj\"] = {\n id: _util.OPS.showText,\n numArgs: 1,\n variableArgs: false\n };\n t[\"TJ\"] = {\n id: _util.OPS.showSpacedText,\n numArgs: 1,\n variableArgs: false\n };\n t[\"'\"] = {\n id: _util.OPS.nextLineShowText,\n numArgs: 1,\n variableArgs: false\n };\n t['\"'] = {\n id: _util.OPS.nextLineSetSpacingShowText,\n numArgs: 3,\n variableArgs: false\n };\n t[\"d0\"] = {\n id: _util.OPS.setCharWidth,\n numArgs: 2,\n variableArgs: false\n };\n t[\"d1\"] = {\n id: _util.OPS.setCharWidthAndBounds,\n numArgs: 6,\n variableArgs: false\n };\n t[\"CS\"] = {\n id: _util.OPS.setStrokeColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t[\"cs\"] = {\n id: _util.OPS.setFillColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t[\"SC\"] = {\n id: _util.OPS.setStrokeColor,\n numArgs: 4,\n variableArgs: true\n };\n t[\"SCN\"] = {\n id: _util.OPS.setStrokeColorN,\n numArgs: 33,\n variableArgs: true\n };\n t[\"sc\"] = {\n id: _util.OPS.setFillColor,\n numArgs: 4,\n variableArgs: true\n };\n t[\"scn\"] = {\n id: _util.OPS.setFillColorN,\n numArgs: 33,\n variableArgs: true\n };\n t[\"G\"] = {\n id: _util.OPS.setStrokeGray,\n numArgs: 1,\n variableArgs: false\n };\n t[\"g\"] = {\n id: _util.OPS.setFillGray,\n numArgs: 1,\n variableArgs: false\n };\n t[\"RG\"] = {\n id: _util.OPS.setStrokeRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t[\"rg\"] = {\n id: _util.OPS.setFillRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t[\"K\"] = {\n id: _util.OPS.setStrokeCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t[\"k\"] = {\n id: _util.OPS.setFillCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t[\"sh\"] = {\n id: _util.OPS.shadingFill,\n numArgs: 1,\n variableArgs: false\n };\n t[\"BI\"] = {\n id: _util.OPS.beginInlineImage,\n numArgs: 0,\n variableArgs: false\n };\n t[\"ID\"] = {\n id: _util.OPS.beginImageData,\n numArgs: 0,\n variableArgs: false\n };\n t[\"EI\"] = {\n id: _util.OPS.endInlineImage,\n numArgs: 1,\n variableArgs: false\n };\n t[\"Do\"] = {\n id: _util.OPS.paintXObject,\n numArgs: 1,\n variableArgs: false\n };\n t[\"MP\"] = {\n id: _util.OPS.markPoint,\n numArgs: 1,\n variableArgs: false\n };\n t[\"DP\"] = {\n id: _util.OPS.markPointProps,\n numArgs: 2,\n variableArgs: false\n };\n t[\"BMC\"] = {\n id: _util.OPS.beginMarkedContent,\n numArgs: 1,\n variableArgs: false\n };\n t[\"BDC\"] = {\n id: _util.OPS.beginMarkedContentProps,\n numArgs: 2,\n variableArgs: false\n };\n t[\"EMC\"] = {\n id: _util.OPS.endMarkedContent,\n numArgs: 0,\n variableArgs: false\n };\n t[\"BX\"] = {\n id: _util.OPS.beginCompat,\n numArgs: 0,\n variableArgs: false\n };\n t[\"EX\"] = {\n id: _util.OPS.endCompat,\n numArgs: 0,\n variableArgs: false\n };\n t[\"BM\"] = null;\n t[\"BD\"] = null;\n t[\"true\"] = null;\n t[\"fa\"] = null;\n t[\"fal\"] = null;\n t[\"fals\"] = null;\n t[\"false\"] = null;\n t[\"nu\"] = null;\n t[\"nul\"] = null;\n t[\"null\"] = null;\n });\n var MAX_INVALID_PATH_OPS = 20;\n\n function EvaluatorPreprocessor(stream, xref, stateManager) {\n this.opMap = getOPMap();\n this.parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream, this.opMap),\n xref: xref\n });\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._numInvalidPathOPS = 0;\n }\n\n EvaluatorPreprocessor.prototype = {\n get savedStatesDepth() {\n return this.stateManager.stateStack.length;\n },\n\n read: function EvaluatorPreprocessor_read(operation) {\n var args = operation.args;\n\n while (true) {\n var obj = this.parser.getObj();\n\n if (obj instanceof _primitives.Cmd) {\n var cmd = obj.cmd;\n var opSpec = this.opMap[cmd];\n\n if (!opSpec) {\n (0, _util.warn)(\"Unknown command \\\"\".concat(cmd, \"\\\".\"));\n continue;\n }\n\n var fn = opSpec.id;\n var numArgs = opSpec.numArgs;\n var argsLength = args !== null ? args.length : 0;\n\n if (!opSpec.variableArgs) {\n if (argsLength !== numArgs) {\n var nonProcessedArgs = this.nonProcessedArgs;\n\n while (argsLength > numArgs) {\n nonProcessedArgs.push(args.shift());\n argsLength--;\n }\n\n while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n if (args === null) {\n args = [];\n }\n\n args.unshift(nonProcessedArgs.pop());\n argsLength++;\n }\n }\n\n if (argsLength < numArgs) {\n var partialMsg = \"command \".concat(cmd, \": expected \").concat(numArgs, \" args, \") + \"but received \".concat(argsLength, \" args.\");\n\n if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > MAX_INVALID_PATH_OPS) {\n throw new _util.FormatError(\"Invalid \".concat(partialMsg));\n }\n\n (0, _util.warn)(\"Skipping \".concat(partialMsg));\n\n if (args !== null) {\n args.length = 0;\n }\n\n continue;\n }\n } else if (argsLength > numArgs) {\n (0, _util.info)(\"Command \".concat(cmd, \": expected [0, \").concat(numArgs, \"] args, \") + \"but received \".concat(argsLength, \" args.\"));\n }\n\n this.preprocessCommand(fn, args);\n operation.fn = fn;\n operation.args = args;\n return true;\n }\n\n if (obj === _primitives.EOF) {\n return false;\n }\n\n if (obj !== null) {\n if (args === null) {\n args = [];\n }\n\n args.push(obj);\n\n if (args.length > 33) {\n throw new _util.FormatError(\"Too many arguments\");\n }\n }\n }\n },\n preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) {\n switch (fn | 0) {\n case _util.OPS.save:\n this.stateManager.save();\n break;\n\n case _util.OPS.restore:\n this.stateManager.restore();\n break;\n\n case _util.OPS.transform:\n this.stateManager.transform(args);\n break;\n }\n }\n };\n return EvaluatorPreprocessor;\n }();\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _parser = __w_pdfjs_require__(10);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _stream = __w_pdfjs_require__(11);\n\n var BUILT_IN_CMAPS = [\"Adobe-GB1-UCS2\", \"Adobe-CNS1-UCS2\", \"Adobe-Japan1-UCS2\", \"Adobe-Korea1-UCS2\", \"78-EUC-H\", \"78-EUC-V\", \"78-H\", \"78-RKSJ-H\", \"78-RKSJ-V\", \"78-V\", \"78ms-RKSJ-H\", \"78ms-RKSJ-V\", \"83pv-RKSJ-H\", \"90ms-RKSJ-H\", \"90ms-RKSJ-V\", \"90msp-RKSJ-H\", \"90msp-RKSJ-V\", \"90pv-RKSJ-H\", \"90pv-RKSJ-V\", \"Add-H\", \"Add-RKSJ-H\", \"Add-RKSJ-V\", \"Add-V\", \"Adobe-CNS1-0\", \"Adobe-CNS1-1\", \"Adobe-CNS1-2\", \"Adobe-CNS1-3\", \"Adobe-CNS1-4\", \"Adobe-CNS1-5\", \"Adobe-CNS1-6\", \"Adobe-GB1-0\", \"Adobe-GB1-1\", \"Adobe-GB1-2\", \"Adobe-GB1-3\", \"Adobe-GB1-4\", \"Adobe-GB1-5\", \"Adobe-Japan1-0\", \"Adobe-Japan1-1\", \"Adobe-Japan1-2\", \"Adobe-Japan1-3\", \"Adobe-Japan1-4\", \"Adobe-Japan1-5\", \"Adobe-Japan1-6\", \"Adobe-Korea1-0\", \"Adobe-Korea1-1\", \"Adobe-Korea1-2\", \"B5-H\", \"B5-V\", \"B5pc-H\", \"B5pc-V\", \"CNS-EUC-H\", \"CNS-EUC-V\", \"CNS1-H\", \"CNS1-V\", \"CNS2-H\", \"CNS2-V\", \"ETHK-B5-H\", \"ETHK-B5-V\", \"ETen-B5-H\", \"ETen-B5-V\", \"ETenms-B5-H\", \"ETenms-B5-V\", \"EUC-H\", \"EUC-V\", \"Ext-H\", \"Ext-RKSJ-H\", \"Ext-RKSJ-V\", \"Ext-V\", \"GB-EUC-H\", \"GB-EUC-V\", \"GB-H\", \"GB-V\", \"GBK-EUC-H\", \"GBK-EUC-V\", \"GBK2K-H\", \"GBK2K-V\", \"GBKp-EUC-H\", \"GBKp-EUC-V\", \"GBT-EUC-H\", \"GBT-EUC-V\", \"GBT-H\", \"GBT-V\", \"GBTpc-EUC-H\", \"GBTpc-EUC-V\", \"GBpc-EUC-H\", \"GBpc-EUC-V\", \"H\", \"HKdla-B5-H\", \"HKdla-B5-V\", \"HKdlb-B5-H\", \"HKdlb-B5-V\", \"HKgccs-B5-H\", \"HKgccs-B5-V\", \"HKm314-B5-H\", \"HKm314-B5-V\", \"HKm471-B5-H\", \"HKm471-B5-V\", \"HKscs-B5-H\", \"HKscs-B5-V\", \"Hankaku\", \"Hiragana\", \"KSC-EUC-H\", \"KSC-EUC-V\", \"KSC-H\", \"KSC-Johab-H\", \"KSC-Johab-V\", \"KSC-V\", \"KSCms-UHC-H\", \"KSCms-UHC-HW-H\", \"KSCms-UHC-HW-V\", \"KSCms-UHC-V\", \"KSCpc-EUC-H\", \"KSCpc-EUC-V\", \"Katakana\", \"NWP-H\", \"NWP-V\", \"RKSJ-H\", \"RKSJ-V\", \"Roman\", \"UniCNS-UCS2-H\", \"UniCNS-UCS2-V\", \"UniCNS-UTF16-H\", \"UniCNS-UTF16-V\", \"UniCNS-UTF32-H\", \"UniCNS-UTF32-V\", \"UniCNS-UTF8-H\", \"UniCNS-UTF8-V\", \"UniGB-UCS2-H\", \"UniGB-UCS2-V\", \"UniGB-UTF16-H\", \"UniGB-UTF16-V\", \"UniGB-UTF32-H\", \"UniGB-UTF32-V\", \"UniGB-UTF8-H\", \"UniGB-UTF8-V\", \"UniJIS-UCS2-H\", \"UniJIS-UCS2-HW-H\", \"UniJIS-UCS2-HW-V\", \"UniJIS-UCS2-V\", \"UniJIS-UTF16-H\", \"UniJIS-UTF16-V\", \"UniJIS-UTF32-H\", \"UniJIS-UTF32-V\", \"UniJIS-UTF8-H\", \"UniJIS-UTF8-V\", \"UniJIS2004-UTF16-H\", \"UniJIS2004-UTF16-V\", \"UniJIS2004-UTF32-H\", \"UniJIS2004-UTF32-V\", \"UniJIS2004-UTF8-H\", \"UniJIS2004-UTF8-V\", \"UniJISPro-UCS2-HW-V\", \"UniJISPro-UCS2-V\", \"UniJISPro-UTF8-V\", \"UniJISX0213-UTF32-H\", \"UniJISX0213-UTF32-V\", \"UniJISX02132004-UTF32-H\", \"UniJISX02132004-UTF32-V\", \"UniKS-UCS2-H\", \"UniKS-UCS2-V\", \"UniKS-UTF16-H\", \"UniKS-UTF16-V\", \"UniKS-UTF32-H\", \"UniKS-UTF32-V\", \"UniKS-UTF8-H\", \"UniKS-UTF8-V\", \"V\", \"WP-Symbol\"];\n\n var CMap = /*#__PURE__*/function () {\n function CMap() {\n var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _classCallCheck(this, CMap);\n\n this.codespaceRanges = [[], [], [], []];\n this.numCodespaceRanges = 0;\n this._map = [];\n this.name = \"\";\n this.vertical = false;\n this.useCMap = null;\n this.builtInCMap = builtInCMap;\n }\n\n _createClass(CMap, [{\n key: \"addCodespaceRange\",\n value: function addCodespaceRange(n, low, high) {\n this.codespaceRanges[n - 1].push(low, high);\n this.numCodespaceRanges++;\n }\n }, {\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n var lastByte = dstLow.length - 1;\n\n while (low <= high) {\n this._map[low++] = dstLow;\n dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n }\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n var ii = array.length;\n var i = 0;\n\n while (low <= high && i < ii) {\n this._map[low] = array[i++];\n ++low;\n }\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n this._map[src] = dst;\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return this._map[code];\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return this._map[code] !== undefined;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var map = this._map;\n var length = map.length;\n\n if (length <= 0x10000) {\n for (var i = 0; i < length; i++) {\n if (map[i] !== undefined) {\n callback(i, map[i]);\n }\n }\n } else {\n for (var _i20 in map) {\n callback(_i20, map[_i20]);\n }\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n return this._map;\n }\n }, {\n key: \"readCharCode\",\n value: function readCharCode(str, offset, out) {\n var c = 0;\n var codespaceRanges = this.codespaceRanges;\n\n for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {\n c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n var codespaceRange = codespaceRanges[n];\n\n for (var k = 0, kk = codespaceRange.length; k < kk;) {\n var low = codespaceRange[k++];\n var high = codespaceRange[k++];\n\n if (c >= low && c <= high) {\n out.charcode = c;\n out.length = n + 1;\n return;\n }\n }\n }\n\n out.charcode = 0;\n out.length = 1;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._map.length;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n if (!(this.name === \"Identity-H\" || this.name === \"Identity-V\")) {\n return false;\n }\n\n if (this._map.length !== 0x10000) {\n return false;\n }\n\n for (var i = 0; i < 0x10000; i++) {\n if (this._map[i] !== i) {\n return false;\n }\n }\n\n return true;\n }\n }]);\n\n return CMap;\n }();\n\n exports.CMap = CMap;\n\n var IdentityCMap = /*#__PURE__*/function (_CMap) {\n _inherits(IdentityCMap, _CMap);\n\n var _super53 = _createSuper(IdentityCMap);\n\n function IdentityCMap(vertical, n) {\n var _this67;\n\n _classCallCheck(this, IdentityCMap);\n\n _this67 = _super53.call(this);\n _this67.vertical = vertical;\n\n _this67.addCodespaceRange(n, 0, 0xffff);\n\n return _this67;\n }\n\n _createClass(IdentityCMap, [{\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n (0, _util.unreachable)(\"should not call mapCidRange\");\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n (0, _util.unreachable)(\"should not call mapBfRange\");\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n (0, _util.unreachable)(\"should not call mapBfRangeToArray\");\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n (0, _util.unreachable)(\"should not call mapCidOne\");\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return Number.isInteger(code) && code <= 0xffff;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n for (var i = 0; i <= 0xffff; i++) {\n callback(i, i);\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n return Number.isInteger(value) && value <= 0xffff ? value : -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n var map = new Array(0x10000);\n\n for (var i = 0; i <= 0xffff; i++) {\n map[i] = i;\n }\n\n return map;\n }\n }, {\n key: \"length\",\n get: function get() {\n return 0x10000;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n (0, _util.unreachable)(\"should not access .isIdentityCMap\");\n }\n }]);\n\n return IdentityCMap;\n }(CMap);\n\n exports.IdentityCMap = IdentityCMap;\n\n var BinaryCMapReader = function BinaryCMapReaderClosure() {\n function hexToInt(a, size) {\n var n = 0;\n\n for (var i = 0; i <= size; i++) {\n n = n << 8 | a[i];\n }\n\n return n >>> 0;\n }\n\n function hexToStr(a, size) {\n if (size === 1) {\n return String.fromCharCode(a[0], a[1]);\n }\n\n if (size === 3) {\n return String.fromCharCode(a[0], a[1], a[2], a[3]);\n }\n\n return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n }\n\n function addHex(a, b, size) {\n var c = 0;\n\n for (var i = size; i >= 0; i--) {\n c += a[i] + b[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n function incHex(a, size) {\n var c = 1;\n\n for (var i = size; i >= 0 && c > 0; i--) {\n c += a[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n var MAX_NUM_SIZE = 16;\n var MAX_ENCODED_NUM_SIZE = 19;\n\n function BinaryCMapStream(data) {\n this.buffer = data;\n this.pos = 0;\n this.end = data.length;\n this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n }\n\n BinaryCMapStream.prototype = {\n readByte: function readByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.buffer[this.pos++];\n },\n readNumber: function readNumber() {\n var n = 0;\n var last;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n\n last = !(b & 0x80);\n n = n << 7 | b & 0x7f;\n } while (!last);\n\n return n;\n },\n readSigned: function readSigned() {\n var n = this.readNumber();\n return n & 1 ? ~(n >>> 1) : n >>> 1;\n },\n readHex: function readHex(num, size) {\n num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n this.pos += size + 1;\n },\n readHexNumber: function readHexNumber(num, size) {\n var last;\n var stack = this.tmpBuf,\n sp = 0;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n\n last = !(b & 0x80);\n stack[sp++] = b & 0x7f;\n } while (!last);\n\n var i = size,\n buffer = 0,\n bufferSize = 0;\n\n while (i >= 0) {\n while (bufferSize < 8 && stack.length > 0) {\n buffer = stack[--sp] << bufferSize | buffer;\n bufferSize += 7;\n }\n\n num[i] = buffer & 255;\n i--;\n buffer >>= 8;\n bufferSize -= 8;\n }\n },\n readHexSigned: function readHexSigned(num, size) {\n this.readHexNumber(num, size);\n var sign = num[size] & 1 ? 255 : 0;\n var c = 0;\n\n for (var i = 0; i <= size; i++) {\n c = (c & 1) << 8 | num[i];\n num[i] = c >> 1 ^ sign;\n }\n },\n readString: function readString() {\n var len = this.readNumber();\n var s = \"\";\n\n for (var i = 0; i < len; i++) {\n s += String.fromCharCode(this.readNumber());\n }\n\n return s;\n }\n };\n\n function processBinaryCMap(data, cMap, extend) {\n return new Promise(function (resolve, reject) {\n var stream = new BinaryCMapStream(data);\n var header = stream.readByte();\n cMap.vertical = !!(header & 1);\n var useCMap = null;\n var start = new Uint8Array(MAX_NUM_SIZE);\n var end = new Uint8Array(MAX_NUM_SIZE);\n var char = new Uint8Array(MAX_NUM_SIZE);\n var charCode = new Uint8Array(MAX_NUM_SIZE);\n var tmp = new Uint8Array(MAX_NUM_SIZE);\n var code;\n var b;\n\n while ((b = stream.readByte()) >= 0) {\n var type = b >> 5;\n\n if (type === 7) {\n switch (b & 0x1f) {\n case 0:\n stream.readString();\n break;\n\n case 1:\n useCMap = stream.readString();\n break;\n }\n\n continue;\n }\n\n var sequence = !!(b & 0x10);\n var dataSize = b & 15;\n\n if (dataSize + 1 > MAX_NUM_SIZE) {\n throw new Error(\"processBinaryCMap: Invalid dataSize.\");\n }\n\n var ucs2DataSize = 1;\n var subitemsCount = stream.readNumber();\n var i;\n\n switch (type) {\n case 0:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n }\n\n break;\n\n case 1:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n }\n\n break;\n\n case 2:\n stream.readHex(char, dataSize);\n code = stream.readNumber();\n cMap.mapOne(hexToInt(char, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(char, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, dataSize);\n addHex(char, tmp, dataSize);\n }\n\n code = stream.readSigned() + (code + 1);\n cMap.mapOne(hexToInt(char, dataSize), code);\n }\n\n break;\n\n case 3:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n }\n\n break;\n\n case 4:\n stream.readHex(char, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(char, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, ucs2DataSize);\n addHex(char, tmp, ucs2DataSize);\n }\n\n incHex(charCode, dataSize);\n stream.readHexSigned(tmp, dataSize);\n addHex(charCode, tmp, dataSize);\n cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n case 5:\n stream.readHex(start, ucs2DataSize);\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, ucs2DataSize);\n addHex(start, end, ucs2DataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n default:\n reject(new Error(\"processBinaryCMap: Unknown type: \" + type));\n return;\n }\n }\n\n if (useCMap) {\n resolve(extend(useCMap));\n return;\n }\n\n resolve(cMap);\n });\n }\n\n function BinaryCMapReader() {}\n\n BinaryCMapReader.prototype = {\n process: processBinaryCMap\n };\n return BinaryCMapReader;\n }();\n\n var CMapFactory = function CMapFactoryClosure() {\n function strToInt(str) {\n var a = 0;\n\n for (var i = 0; i < str.length; i++) {\n a = a << 8 | str.charCodeAt(i);\n }\n\n return a >>> 0;\n }\n\n function expectString(obj) {\n if (!(0, _util.isString)(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected string.\");\n }\n }\n\n function expectInt(obj) {\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected int.\");\n }\n }\n\n function parseBfChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endbfchar\")) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseBfRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endbfrange\")) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n\n if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n cMap.mapBfRange(low, high, dstLow);\n } else if ((0, _primitives.isCmd)(obj, \"[\")) {\n obj = lexer.getObj();\n var array = [];\n\n while (!(0, _primitives.isCmd)(obj, \"]\") && !(0, _primitives.isEOF)(obj)) {\n array.push(obj);\n obj = lexer.getObj();\n }\n\n cMap.mapBfRangeToArray(low, high, array);\n } else {\n break;\n }\n }\n\n throw new _util.FormatError(\"Invalid bf range.\");\n }\n\n function parseCidChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcidchar\")) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseCidRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcidrange\")) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dstLow = obj;\n cMap.mapCidRange(low, high, dstLow);\n }\n }\n\n function parseCodespaceRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcodespacerange\")) {\n return;\n }\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var low = strToInt(obj);\n obj = lexer.getObj();\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var high = strToInt(obj);\n cMap.addCodespaceRange(obj.length, low, high);\n }\n\n throw new _util.FormatError(\"Invalid codespace range.\");\n }\n\n function parseWMode(cMap, lexer) {\n var obj = lexer.getObj();\n\n if (Number.isInteger(obj)) {\n cMap.vertical = !!obj;\n }\n }\n\n function parseCMapName(cMap, lexer) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n cMap.name = obj.name;\n }\n }\n\n function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n var previous;\n var embeddedUseCMap;\n\n objLoop: while (true) {\n try {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n } else if ((0, _primitives.isName)(obj)) {\n if (obj.name === \"WMode\") {\n parseWMode(cMap, lexer);\n } else if (obj.name === \"CMapName\") {\n parseCMapName(cMap, lexer);\n }\n\n previous = obj;\n } else if ((0, _primitives.isCmd)(obj)) {\n switch (obj.cmd) {\n case \"endcmap\":\n break objLoop;\n\n case \"usecmap\":\n if ((0, _primitives.isName)(previous)) {\n embeddedUseCMap = previous.name;\n }\n\n break;\n\n case \"begincodespacerange\":\n parseCodespaceRange(cMap, lexer);\n break;\n\n case \"beginbfchar\":\n parseBfChar(cMap, lexer);\n break;\n\n case \"begincidchar\":\n parseCidChar(cMap, lexer);\n break;\n\n case \"beginbfrange\":\n parseBfRange(cMap, lexer);\n break;\n\n case \"begincidrange\":\n parseCidRange(cMap, lexer);\n break;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid cMap data: \" + ex);\n continue;\n }\n }\n\n if (!useCMap && embeddedUseCMap) {\n useCMap = embeddedUseCMap;\n }\n\n if (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n }\n\n return Promise.resolve(cMap);\n }\n\n function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n cMap.useCMap = newCMap;\n\n if (cMap.numCodespaceRanges === 0) {\n var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n for (var i = 0; i < useCodespaceRanges.length; i++) {\n cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n }\n\n cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n }\n\n cMap.useCMap.forEach(function (key, value) {\n if (!cMap.contains(key)) {\n cMap.mapOne(key, cMap.useCMap.lookup(key));\n }\n });\n return cMap;\n });\n }\n\n function createBuiltInCMap(name, fetchBuiltInCMap) {\n if (name === \"Identity-H\") {\n return Promise.resolve(new IdentityCMap(false, 2));\n } else if (name === \"Identity-V\") {\n return Promise.resolve(new IdentityCMap(true, 2));\n }\n\n if (!BUILT_IN_CMAPS.includes(name)) {\n return Promise.reject(new Error(\"Unknown CMap name: \" + name));\n }\n\n if (!fetchBuiltInCMap) {\n return Promise.reject(new Error(\"Built-in CMap parameters are not provided.\"));\n }\n\n return fetchBuiltInCMap(name).then(function (data) {\n var cMapData = data.cMapData,\n compressionType = data.compressionType;\n var cMap = new CMap(true);\n\n if (compressionType === _util.CMapCompressionType.BINARY) {\n return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n });\n }\n\n if (compressionType === _util.CMapCompressionType.NONE) {\n var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n }\n\n return Promise.reject(new Error(\"TODO: Only BINARY/NONE CMap compression is currently supported.\"));\n });\n }\n\n return {\n create: function create(params) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16() {\n var encoding, fetchBuiltInCMap, useCMap, cMap, lexer;\n return _regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n encoding = params.encoding;\n fetchBuiltInCMap = params.fetchBuiltInCMap;\n useCMap = params.useCMap;\n\n if (!(0, _primitives.isName)(encoding)) {\n _context16.next = 7;\n break;\n }\n\n return _context16.abrupt(\"return\", createBuiltInCMap(encoding.name, fetchBuiltInCMap));\n\n case 7:\n if (!(0, _primitives.isStream)(encoding)) {\n _context16.next = 11;\n break;\n }\n\n cMap = new CMap();\n lexer = new _parser.Lexer(encoding);\n return _context16.abrupt(\"return\", parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n if (parsedCMap.isIdentityCMap) {\n return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n }\n\n return parsedCMap;\n }));\n\n case 11:\n throw new Error(\"Encoding required.\");\n\n case 12:\n case \"end\":\n return _context16.stop();\n }\n }\n }, _callee16);\n }))();\n }\n };\n }();\n\n exports.CMapFactory = CMapFactory;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getFontType = getFontType;\n exports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _cff_parser = __w_pdfjs_require__(28);\n\n var _glyphlist = __w_pdfjs_require__(31);\n\n var _encodings = __w_pdfjs_require__(30);\n\n var _standard_fonts = __w_pdfjs_require__(32);\n\n var _unicode = __w_pdfjs_require__(33);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _font_renderer = __w_pdfjs_require__(34);\n\n var _cmap = __w_pdfjs_require__(26);\n\n var _stream = __w_pdfjs_require__(11);\n\n var _type1_parser = __w_pdfjs_require__(35);\n\n var PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];\n var PDF_GLYPH_SPACE_UNITS = 1000;\n var SEAC_ANALYSIS_ENABLED = true;\n exports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\n var FontFlags = {\n FixedPitch: 1,\n Serif: 2,\n Symbolic: 4,\n Script: 8,\n Nonsymbolic: 32,\n Italic: 64,\n AllCap: 65536,\n SmallCap: 131072,\n ForceBold: 262144\n };\n exports.FontFlags = FontFlags;\n var MacStandardGlyphOrdering = [\".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\"];\n\n function adjustWidths(properties) {\n if (!properties.fontMatrix) {\n return;\n }\n\n if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n return;\n }\n\n var scale = 0.001 / properties.fontMatrix[0];\n var glyphsWidths = properties.widths;\n\n for (var glyph in glyphsWidths) {\n glyphsWidths[glyph] *= scale;\n }\n\n properties.defaultWidth *= scale;\n }\n\n function adjustToUnicode(properties, builtInEncoding) {\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n\n if (properties.hasEncoding) {\n return;\n }\n\n if (builtInEncoding === properties.defaultEncoding) {\n return;\n }\n\n if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n return;\n }\n\n var toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var charCode in builtInEncoding) {\n var glyphName = builtInEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n }\n\n properties.toUnicode.amend(toUnicode);\n }\n\n function getFontType(type, subtype) {\n switch (type) {\n case \"Type1\":\n return subtype === \"Type1C\" ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n case \"CIDFontType0\":\n return subtype === \"CIDFontType0C\" ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n case \"OpenType\":\n return _util.FontType.OPENTYPE;\n\n case \"TrueType\":\n return _util.FontType.TRUETYPE;\n\n case \"CIDFontType2\":\n return _util.FontType.CIDFONTTYPE2;\n\n case \"MMType1\":\n return _util.FontType.MMTYPE1;\n\n case \"Type0\":\n return _util.FontType.TYPE0;\n\n default:\n return _util.FontType.UNKNOWN;\n }\n }\n\n function recoverGlyphName(name, glyphsUnicodeMap) {\n if (glyphsUnicodeMap[name] !== undefined) {\n return name;\n }\n\n var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n for (var key in glyphsUnicodeMap) {\n if (glyphsUnicodeMap[key] === unicode) {\n return key;\n }\n }\n }\n\n (0, _util.info)(\"Unable to recover a standard glyph name for: \" + name);\n return name;\n }\n\n var Glyph = function GlyphClosure() {\n function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n this.fontChar = fontChar;\n this.unicode = unicode;\n this.accent = accent;\n this.width = width;\n this.vmetric = vmetric;\n this.operatorListId = operatorListId;\n this.isSpace = isSpace;\n this.isInFont = isInFont;\n }\n\n Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n };\n\n return Glyph;\n }();\n\n var ToUnicodeMap = function ToUnicodeMapClosure() {\n function ToUnicodeMap() {\n var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._map = cmap;\n }\n\n ToUnicodeMap.prototype = {\n get length() {\n return this._map.length;\n },\n\n forEach: function forEach(callback) {\n for (var charCode in this._map) {\n callback(charCode, this._map[charCode].charCodeAt(0));\n }\n },\n has: function has(i) {\n return this._map[i] !== undefined;\n },\n get: function get(i) {\n return this._map[i];\n },\n charCodeOf: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n },\n amend: function amend(map) {\n for (var charCode in map) {\n this._map[charCode] = map[charCode];\n }\n }\n };\n return ToUnicodeMap;\n }();\n\n exports.ToUnicodeMap = ToUnicodeMap;\n\n var IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n function IdentityToUnicodeMap(firstChar, lastChar) {\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n }\n\n IdentityToUnicodeMap.prototype = {\n get length() {\n return this.lastChar + 1 - this.firstChar;\n },\n\n forEach: function forEach(callback) {\n for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n callback(i, i);\n }\n },\n has: function has(i) {\n return this.firstChar <= i && i <= this.lastChar;\n },\n get: function get(i) {\n if (this.firstChar <= i && i <= this.lastChar) {\n return String.fromCharCode(i);\n }\n\n return undefined;\n },\n charCodeOf: function charCodeOf(v) {\n return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n },\n amend: function amend(map) {\n (0, _util.unreachable)(\"Should not call amend()\");\n }\n };\n return IdentityToUnicodeMap;\n }();\n\n exports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\n var OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n function writeInt16(dest, offset, num) {\n dest[offset] = num >> 8 & 0xff;\n dest[offset + 1] = num & 0xff;\n }\n\n function writeInt32(dest, offset, num) {\n dest[offset] = num >> 24 & 0xff;\n dest[offset + 1] = num >> 16 & 0xff;\n dest[offset + 2] = num >> 8 & 0xff;\n dest[offset + 3] = num & 0xff;\n }\n\n function writeData(dest, offset, data) {\n var i, ii;\n\n if (data instanceof Uint8Array) {\n dest.set(data, offset);\n } else if (typeof data === \"string\") {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data.charCodeAt(i) & 0xff;\n }\n } else {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data[i] & 0xff;\n }\n }\n }\n\n function OpenTypeFileBuilder(sfnt) {\n this.sfnt = sfnt;\n this.tables = Object.create(null);\n }\n\n OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n var maxPower2 = 1,\n log2 = 0;\n\n while ((maxPower2 ^ entriesCount) > maxPower2) {\n maxPower2 <<= 1;\n log2++;\n }\n\n var searchRange = maxPower2 * entrySize;\n return {\n range: searchRange,\n entry: log2,\n rangeShift: entrySize * entriesCount - searchRange\n };\n };\n\n var OTF_HEADER_SIZE = 12;\n var OTF_TABLE_ENTRY_SIZE = 16;\n OpenTypeFileBuilder.prototype = {\n toArray: function OpenTypeFileBuilder_toArray() {\n var sfnt = this.sfnt;\n var tables = this.tables;\n var tablesNames = Object.keys(tables);\n tablesNames.sort();\n var numTables = tablesNames.length;\n var i, j, jj, table, tableName;\n var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n var tableOffsets = [offset];\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n var paddedLength = (table.length + 3 & ~3) >>> 0;\n offset += paddedLength;\n tableOffsets.push(offset);\n }\n\n var file = new Uint8Array(offset);\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n writeData(file, tableOffsets[i], table);\n }\n\n if (sfnt === \"true\") {\n sfnt = (0, _util.string32)(0x00010000);\n }\n\n file[0] = sfnt.charCodeAt(0) & 0xff;\n file[1] = sfnt.charCodeAt(1) & 0xff;\n file[2] = sfnt.charCodeAt(2) & 0xff;\n file[3] = sfnt.charCodeAt(3) & 0xff;\n writeInt16(file, 4, numTables);\n var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n writeInt16(file, 6, searchParams.range);\n writeInt16(file, 8, searchParams.entry);\n writeInt16(file, 10, searchParams.rangeShift);\n offset = OTF_HEADER_SIZE;\n\n for (i = 0; i < numTables; i++) {\n tableName = tablesNames[i];\n file[offset] = tableName.charCodeAt(0) & 0xff;\n file[offset + 1] = tableName.charCodeAt(1) & 0xff;\n file[offset + 2] = tableName.charCodeAt(2) & 0xff;\n file[offset + 3] = tableName.charCodeAt(3) & 0xff;\n var checksum = 0;\n\n for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n var quad = (0, _core_utils.readUint32)(file, j);\n checksum = checksum + quad >>> 0;\n }\n\n writeInt32(file, offset + 4, checksum);\n writeInt32(file, offset + 8, tableOffsets[i]);\n writeInt32(file, offset + 12, tables[tableName].length);\n offset += OTF_TABLE_ENTRY_SIZE;\n }\n\n return file;\n },\n addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n if (tag in this.tables) {\n throw new Error(\"Table \" + tag + \" already exists\");\n }\n\n this.tables[tag] = data;\n }\n };\n return OpenTypeFileBuilder;\n }();\n\n var Font = function FontClosure() {\n function Font(name, file, properties) {\n var charCode;\n this.name = name;\n this.loadedName = properties.loadedName;\n this.isType3Font = properties.isType3Font;\n this.sizes = [];\n this.missingFile = false;\n this.glyphCache = Object.create(null);\n this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n var type = properties.type;\n var subtype = properties.subtype;\n this.type = type;\n this.subtype = subtype;\n var fallbackName = \"sans-serif\";\n\n if (this.isMonospace) {\n fallbackName = \"monospace\";\n } else if (this.isSerifFont) {\n fallbackName = \"serif\";\n }\n\n this.fallbackName = fallbackName;\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\n this.wideChars = properties.wideChars;\n this.cMap = properties.cMap;\n this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n this.fontMatrix = properties.fontMatrix;\n this.bbox = properties.bbox;\n this.defaultEncoding = properties.defaultEncoding;\n this.toUnicode = properties.toUnicode;\n this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n this.toFontChar = [];\n\n if (properties.type === \"Type3\") {\n for (charCode = 0; charCode < 256; charCode++) {\n this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n }\n\n this.fontType = _util.FontType.TYPE3;\n return;\n }\n\n this.cidEncoding = properties.cidEncoding;\n this.vertical = properties.vertical;\n\n if (this.vertical) {\n this.vmetrics = properties.vmetrics;\n this.defaultVMetrics = properties.defaultVMetrics;\n }\n\n if (!file || file.isEmpty) {\n if (file) {\n (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + \")\");\n }\n\n this.fallbackToSystemFont();\n return;\n }\n\n var _getFontFileType = getFontFileType(file, properties);\n\n var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);\n\n type = _getFontFileType2[0];\n subtype = _getFontFileType2[1];\n\n if (type !== this.type || subtype !== this.subtype) {\n (0, _util.info)(\"Inconsistent font file Type/SubType, expected: \" + \"\".concat(this.type, \"/\").concat(this.subtype, \" but found: \").concat(type, \"/\").concat(subtype, \".\"));\n }\n\n try {\n var data;\n\n switch (type) {\n case \"MMType1\":\n (0, _util.info)(\"MMType1 font (\" + name + \"), falling back to Type1.\");\n\n case \"Type1\":\n case \"CIDFontType0\":\n this.mimetype = \"font/opentype\";\n var cff = subtype === \"Type1C\" || subtype === \"CIDFontType0C\" ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n adjustWidths(properties);\n data = this.convert(name, cff, properties);\n break;\n\n case \"OpenType\":\n case \"TrueType\":\n case \"CIDFontType2\":\n this.mimetype = \"font/opentype\";\n data = this.checkAndRepair(name, file, properties);\n\n if (this.isOpenType) {\n adjustWidths(properties);\n type = \"OpenType\";\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Font \".concat(type, \" is not supported\"));\n }\n } catch (e) {\n (0, _util.warn)(e);\n this.fallbackToSystemFont();\n return;\n }\n\n this.data = data;\n this.fontType = getFontType(type, subtype);\n this.fontMatrix = properties.fontMatrix;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.toUnicode = properties.toUnicode;\n this.encoding = properties.baseEncoding;\n this.seacMap = properties.seacMap;\n }\n\n Font.getFontID = function () {\n var ID = 1;\n return function Font_getFontID() {\n return String(ID++);\n };\n }();\n\n function int16(b0, b1) {\n return (b0 << 8) + b1;\n }\n\n function writeSignedInt16(bytes, index, value) {\n bytes[index + 1] = value;\n bytes[index] = value >>> 8;\n }\n\n function signedInt16(b0, b1) {\n var value = (b0 << 8) + b1;\n return value & 1 << 15 ? value - 0x10000 : value;\n }\n\n function int32(b0, b1, b2, b3) {\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n\n function string16(value) {\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function safeString16(value) {\n if (value > 0x7fff) {\n value = 0x7fff;\n } else if (value < -0x8000) {\n value = -0x8000;\n }\n\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function isTrueTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _core_utils.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === \"true\";\n }\n\n function isTrueTypeCollectionFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === \"ttcf\";\n }\n\n function isOpenTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === \"OTTO\";\n }\n\n function isType1File(file) {\n var header = file.peekBytes(2);\n\n if (header[0] === 0x25 && header[1] === 0x21) {\n return true;\n }\n\n if (header[0] === 0x80 && header[1] === 0x01) {\n return true;\n }\n\n return false;\n }\n\n function isCFFFile(file) {\n var header = file.peekBytes(4);\n\n if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n return true;\n }\n\n return false;\n }\n\n function getFontFileType(file, _ref28) {\n var type = _ref28.type,\n subtype = _ref28.subtype,\n composite = _ref28.composite;\n var fileType, fileSubtype;\n\n if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n if (composite) {\n fileType = \"CIDFontType2\";\n } else {\n fileType = \"TrueType\";\n }\n } else if (isOpenTypeFile(file)) {\n if (composite) {\n fileType = \"CIDFontType2\";\n } else {\n fileType = \"OpenType\";\n }\n } else if (isType1File(file)) {\n if (composite) {\n fileType = \"CIDFontType0\";\n } else {\n fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n }\n } else if (isCFFFile(file)) {\n if (composite) {\n fileType = \"CIDFontType0\";\n fileSubtype = \"CIDFontType0C\";\n } else {\n fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n fileSubtype = \"Type1C\";\n }\n } else {\n (0, _util.warn)(\"getFontFileType: Unable to detect correct font file Type/Subtype.\");\n fileType = type;\n fileSubtype = subtype;\n }\n\n return [fileType, fileSubtype];\n }\n\n function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n var toFontChar = [],\n unicode;\n\n for (var i = 0, ii = encoding.length; i < ii; i++) {\n unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[i] = unicode;\n }\n }\n\n for (var charCode in differences) {\n unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[+charCode] = unicode;\n }\n }\n\n return toFontChar;\n }\n\n function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n var newMap = Object.create(null);\n var toFontChar = [];\n var privateUseAreaIndex = 0;\n var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n\n for (var originalCharCode in charCodeToGlyphId) {\n originalCharCode |= 0;\n var glyphId = charCodeToGlyphId[originalCharCode];\n\n if (!hasGlyph(glyphId)) {\n continue;\n }\n\n if (nextAvailableFontCharCode > privateUseOffetEnd) {\n privateUseAreaIndex++;\n\n if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n (0, _util.warn)(\"Ran out of space in font private use area.\");\n break;\n }\n\n nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n }\n\n var fontCharCode = nextAvailableFontCharCode++;\n\n if (glyphId === 0) {\n glyphId = newGlyphZeroId;\n }\n\n newMap[fontCharCode] = glyphId;\n toFontChar[originalCharCode] = fontCharCode;\n }\n\n return {\n toFontChar: toFontChar,\n charCodeToGlyphId: newMap,\n nextAvailableFontCharCode: nextAvailableFontCharCode\n };\n }\n\n function getRanges(glyphs, numGlyphs) {\n var codes = [];\n\n for (var charCode in glyphs) {\n if (glyphs[charCode] >= numGlyphs) {\n continue;\n }\n\n codes.push({\n fontCharCode: charCode | 0,\n glyphId: glyphs[charCode]\n });\n }\n\n if (codes.length === 0) {\n codes.push({\n fontCharCode: 0,\n glyphId: 0\n });\n }\n\n codes.sort(function fontGetRangesSort(a, b) {\n return a.fontCharCode - b.fontCharCode;\n });\n var ranges = [];\n var length = codes.length;\n\n for (var n = 0; n < length;) {\n var start = codes[n].fontCharCode;\n var codeIndices = [codes[n].glyphId];\n ++n;\n var end = start;\n\n while (n < length && end + 1 === codes[n].fontCharCode) {\n codeIndices.push(codes[n].glyphId);\n ++end;\n ++n;\n\n if (end === 0xffff) {\n break;\n }\n }\n\n ranges.push([start, end, codeIndices]);\n }\n\n return ranges;\n }\n\n function createCmapTable(glyphs, numGlyphs) {\n var ranges = getRanges(glyphs, numGlyphs);\n var numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;\n var cmap = \"\\x00\\x00\" + string16(numTables) + \"\\x00\\x03\" + \"\\x00\\x01\" + (0, _util.string32)(4 + numTables * 8);\n var i, ii, j, jj;\n\n for (i = ranges.length - 1; i >= 0; --i) {\n if (ranges[i][0] <= 0xffff) {\n break;\n }\n }\n\n var bmpLength = i + 1;\n\n if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {\n ranges[i][1] = 0xfffe;\n }\n\n var trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;\n var segCount = bmpLength + trailingRangesCount;\n var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n var startCount = \"\";\n var endCount = \"\";\n var idDeltas = \"\";\n var idRangeOffsets = \"\";\n var glyphsIds = \"\";\n var bias = 0;\n var range, start, end, codes;\n\n for (i = 0, ii = bmpLength; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n end = range[1];\n startCount += string16(start);\n endCount += string16(end);\n codes = range[2];\n var contiguous = true;\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n contiguous = false;\n break;\n }\n }\n\n if (!contiguous) {\n var offset = (segCount - i) * 2 + bias * 2;\n bias += end - start + 1;\n idDeltas += string16(0);\n idRangeOffsets += string16(offset);\n\n for (j = 0, jj = codes.length; j < jj; ++j) {\n glyphsIds += string16(codes[j]);\n }\n } else {\n var startCode = codes[0];\n idDeltas += string16(startCode - start & 0xffff);\n idRangeOffsets += string16(0);\n }\n }\n\n if (trailingRangesCount > 0) {\n endCount += \"\\xFF\\xFF\";\n startCount += \"\\xFF\\xFF\";\n idDeltas += \"\\x00\\x01\";\n idRangeOffsets += \"\\x00\\x00\";\n }\n\n var format314 = \"\\x00\\x00\" + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + \"\\x00\\x00\" + startCount + idDeltas + idRangeOffsets + glyphsIds;\n var format31012 = \"\";\n var header31012 = \"\";\n\n if (numTables > 1) {\n cmap += \"\\x00\\x03\" + \"\\x00\\x0A\" + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n format31012 = \"\";\n\n for (i = 0, ii = ranges.length; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n codes = range[2];\n var code = codes[0];\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n end = range[0] + j - 1;\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n start = end + 1;\n code = codes[j];\n }\n }\n\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n }\n\n header31012 = \"\\x00\\x0C\" + \"\\x00\\x00\" + (0, _util.string32)(format31012.length + 16) + \"\\x00\\x00\\x00\\x00\" + (0, _util.string32)(format31012.length / 12);\n }\n\n return cmap + \"\\x00\\x04\" + string16(format314.length + 4) + format314 + header31012 + format31012;\n }\n\n function validateOS2Table(os2) {\n var stream = new _stream.Stream(os2.data);\n var version = stream.getUint16();\n stream.getBytes(60);\n var selection = stream.getUint16();\n\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n\n var firstChar = stream.getUint16();\n var lastChar = stream.getUint16();\n\n if (firstChar > lastChar) {\n return false;\n }\n\n stream.getBytes(6);\n var usWinAscent = stream.getUint16();\n\n if (usWinAscent === 0) {\n return false;\n }\n\n os2.data[8] = os2.data[9] = 0;\n return true;\n }\n\n function createOS2Table(properties, charstrings, override) {\n override = override || {\n unitsPerEm: 0,\n yMax: 0,\n yMin: 0,\n ascent: 0,\n descent: 0\n };\n var ulUnicodeRange1 = 0;\n var ulUnicodeRange2 = 0;\n var ulUnicodeRange3 = 0;\n var ulUnicodeRange4 = 0;\n var firstCharIndex = null;\n var lastCharIndex = 0;\n\n if (charstrings) {\n for (var code in charstrings) {\n code |= 0;\n\n if (firstCharIndex > code || !firstCharIndex) {\n firstCharIndex = code;\n }\n\n if (lastCharIndex < code) {\n lastCharIndex = code;\n }\n\n var position = (0, _unicode.getUnicodeRangeFor)(code);\n\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new _util.FormatError(\"Unicode ranges Bits > 123 are reserved for internal usage\");\n }\n }\n\n if (lastCharIndex > 0xffff) {\n lastCharIndex = 0xffff;\n }\n } else {\n firstCharIndex = 0;\n lastCharIndex = 255;\n }\n\n var bbox = properties.bbox || [0, 0, 0, 0];\n var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n\n if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n typoDescent = -typoDescent;\n }\n\n var winAscent = override.yMax || typoAscent;\n var winDescent = -override.yMin || -typoDescent;\n return \"\\x00\\x03\" + \"\\x02\\x24\" + \"\\x01\\xF4\" + \"\\x00\\x05\" + \"\\x00\\x00\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x00\\x8C\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x01\\xDF\" + \"\\x00\\x31\" + \"\\x01\\x02\" + \"\\x00\\x00\" + \"\\x00\\x00\\x06\" + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + \"\\x00\\x00\\x00\\x00\\x00\\x00\" + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + \"\\x2A\\x32\\x31\\x2A\" + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + \"\\x00\\x64\" + string16(winAscent) + string16(winDescent) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + \"\\x00\\x03\";\n }\n\n function createPostTable(properties) {\n var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));\n return \"\\x00\\x03\\x00\\x00\" + (0, _util.string32)(angle) + \"\\x00\\x00\" + \"\\x00\\x00\" + (0, _util.string32)(properties.fixedPitch) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\";\n }\n\n function createNameTable(name, proto) {\n if (!proto) {\n proto = [[], []];\n }\n\n var strings = [proto[0][0] || \"Original licence\", proto[0][1] || name, proto[0][2] || \"Unknown\", proto[0][3] || \"uniqueID\", proto[0][4] || name, proto[0][5] || \"Version 0.11\", proto[0][6] || \"\", proto[0][7] || \"Unknown\", proto[0][8] || \"Unknown\", proto[0][9] || \"Unknown\"];\n var stringsUnicode = [];\n var i, ii, j, jj, str;\n\n for (i = 0, ii = strings.length; i < ii; i++) {\n str = proto[1][i] || strings[i];\n var strBufUnicode = [];\n\n for (j = 0, jj = str.length; j < jj; j++) {\n strBufUnicode.push(string16(str.charCodeAt(j)));\n }\n\n stringsUnicode.push(strBufUnicode.join(\"\"));\n }\n\n var names = [strings, stringsUnicode];\n var platforms = [\"\\x00\\x01\", \"\\x00\\x03\"];\n var encodings = [\"\\x00\\x00\", \"\\x00\\x01\"];\n var languages = [\"\\x00\\x00\", \"\\x04\\x09\"];\n var namesRecordCount = strings.length * platforms.length;\n var nameTable = \"\\x00\\x00\" + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n var strOffset = 0;\n\n for (i = 0, ii = platforms.length; i < ii; i++) {\n var strs = names[i];\n\n for (j = 0, jj = strs.length; j < jj; j++) {\n str = strs[j];\n var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n nameTable += nameRecord;\n strOffset += str.length;\n }\n }\n\n nameTable += strings.join(\"\") + stringsUnicode.join(\"\");\n return nameTable;\n }\n\n Font.prototype = {\n name: null,\n font: null,\n mimetype: null,\n encoding: null,\n disableFontFace: false,\n\n get renderer() {\n var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n\n return (0, _util.shadow)(this, \"renderer\", renderer);\n },\n\n exportData: function Font_exportData() {\n var data = {};\n\n for (var i in this) {\n if (this.hasOwnProperty(i)) {\n data[i] = this[i];\n }\n }\n\n return data;\n },\n fallbackToSystemFont: function Font_fallbackToSystemFont() {\n var _this68 = this;\n\n this.missingFile = true;\n var charCode, unicode;\n var name = this.name;\n var type = this.type;\n var subtype = this.subtype;\n var fontName = name.replace(/[,_]/g, \"-\").replace(/\\s/g, \"\");\n var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n this.bold = fontName.search(/bold/gi) !== -1;\n this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n this.black = name.search(/Black/g) !== -1;\n this.remeasure = Object.keys(this.widths).length > 0;\n\n if (isStandardFont && type === \"CIDFontType2\" && this.cidEncoding.startsWith(\"Identity-\")) {\n var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n var map = [];\n\n for (charCode in GlyphMapForStandardFonts) {\n map[+charCode] = GlyphMapForStandardFonts[charCode];\n }\n\n if (/Arial-?Black/i.test(name)) {\n var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n\n for (charCode in SupplementalGlyphMapForArialBlack) {\n map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];\n }\n } else if (/Calibri/i.test(name)) {\n var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();\n\n for (charCode in SupplementalGlyphMapForCalibri) {\n map[+charCode] = SupplementalGlyphMapForCalibri[charCode];\n }\n }\n\n var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n\n if (!isIdentityUnicode) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n map[+charCode] = unicodeCharCode;\n });\n }\n\n this.toFontChar = map;\n this.toUnicode = new ToUnicodeMap(map);\n } else if (/Symbol/i.test(fontName)) {\n this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else if (/Dingbats/i.test(fontName)) {\n if (/Wingdings/i.test(name)) {\n (0, _util.warn)(\"Non-embedded Wingdings font, falling back to ZapfDingbats.\");\n }\n\n this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n } else if (isStandardFont) {\n this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else {\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n var _map = [];\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n if (!_this68.composite) {\n var glyphName = _this68.differences[charCode] || _this68.defaultEncoding[charCode];\n unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n\n _map[+charCode] = unicodeCharCode;\n });\n\n if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {\n if (/Verdana/i.test(name)) {\n var _GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n\n for (charCode in _GlyphMapForStandardFonts) {\n _map[+charCode] = _GlyphMapForStandardFonts[charCode];\n }\n }\n }\n\n this.toFontChar = _map;\n }\n\n this.loadedName = fontName.split(\"-\")[0];\n this.fontType = getFontType(type, subtype);\n },\n checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n var VALID_TABLES = [\"OS/2\", \"cmap\", \"head\", \"hhea\", \"hmtx\", \"maxp\", \"name\", \"post\", \"loca\", \"glyf\", \"fpgm\", \"prep\", \"cvt \", \"CFF \"];\n\n function readTables(file, numTables) {\n var tables = Object.create(null);\n tables[\"OS/2\"] = null;\n tables[\"cmap\"] = null;\n tables[\"head\"] = null;\n tables[\"hhea\"] = null;\n tables[\"hmtx\"] = null;\n tables[\"maxp\"] = null;\n tables[\"name\"] = null;\n tables[\"post\"] = null;\n\n for (var i = 0; i < numTables; i++) {\n var table = readTableEntry(font);\n\n if (!VALID_TABLES.includes(table.tag)) {\n continue;\n }\n\n if (table.length === 0) {\n continue;\n }\n\n tables[table.tag] = table;\n }\n\n return tables;\n }\n\n function readTableEntry(file) {\n var tag = (0, _util.bytesToString)(file.getBytes(4));\n var checksum = file.getInt32() >>> 0;\n var offset = file.getInt32() >>> 0;\n var length = file.getInt32() >>> 0;\n var previousPosition = file.pos;\n file.pos = file.start ? file.start : 0;\n file.skip(offset);\n var data = file.getBytes(length);\n file.pos = previousPosition;\n\n if (tag === \"head\") {\n data[8] = data[9] = data[10] = data[11] = 0;\n data[17] |= 0x20;\n }\n\n return {\n tag: tag,\n checksum: checksum,\n length: length,\n offset: offset,\n data: data\n };\n }\n\n function readOpenTypeHeader(ttf) {\n return {\n version: (0, _util.bytesToString)(ttf.getBytes(4)),\n numTables: ttf.getUint16(),\n searchRange: ttf.getUint16(),\n entrySelector: ttf.getUint16(),\n rangeShift: ttf.getUint16()\n };\n }\n\n function readTrueTypeCollectionHeader(ttc) {\n var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));\n (0, _util.assert)(ttcTag === \"ttcf\", \"Must be a TrueType Collection font.\");\n var majorVersion = ttc.getUint16();\n var minorVersion = ttc.getUint16();\n var numFonts = ttc.getInt32() >>> 0;\n var offsetTable = [];\n\n for (var i = 0; i < numFonts; i++) {\n offsetTable.push(ttc.getInt32() >>> 0);\n }\n\n var header = {\n ttcTag: ttcTag,\n majorVersion: majorVersion,\n minorVersion: minorVersion,\n numFonts: numFonts,\n offsetTable: offsetTable\n };\n\n switch (majorVersion) {\n case 1:\n return header;\n\n case 2:\n header.dsigTag = ttc.getInt32() >>> 0;\n header.dsigLength = ttc.getInt32() >>> 0;\n header.dsigOffset = ttc.getInt32() >>> 0;\n return header;\n }\n\n throw new _util.FormatError(\"Invalid TrueType Collection majorVersion: \".concat(majorVersion, \".\"));\n }\n\n function readTrueTypeCollectionData(ttc, fontName) {\n var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),\n numFonts = _readTrueTypeCollecti.numFonts,\n offsetTable = _readTrueTypeCollecti.offsetTable;\n\n for (var i = 0; i < numFonts; i++) {\n ttc.pos = (ttc.start || 0) + offsetTable[i];\n var potentialHeader = readOpenTypeHeader(ttc);\n var potentialTables = readTables(ttc, potentialHeader.numTables);\n\n if (!potentialTables[\"name\"]) {\n throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n }\n\n var nameTable = readNameTable(potentialTables[\"name\"]);\n\n for (var j = 0, jj = nameTable.length; j < jj; j++) {\n for (var k = 0, kk = nameTable[j].length; k < kk; k++) {\n var nameEntry = nameTable[j][k];\n\n if (nameEntry && nameEntry.replace(/\\s/g, \"\") === fontName) {\n return {\n header: potentialHeader,\n tables: potentialTables\n };\n }\n }\n }\n }\n\n throw new _util.FormatError(\"TrueType Collection does not contain \\\"\".concat(fontName, \"\\\" font.\"));\n }\n\n function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) {\n if (!cmap) {\n (0, _util.warn)(\"No cmap table available.\");\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var segment;\n var start = (font.start ? font.start : 0) + cmap.offset;\n font.pos = start;\n font.getUint16();\n var numTables = font.getUint16();\n var potentialTable;\n var canBreak = false;\n\n for (var i = 0; i < numTables; i++) {\n var platformId = font.getUint16();\n var encodingId = font.getUint16();\n var offset = font.getInt32() >>> 0;\n var useTable = false;\n\n if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n continue;\n }\n\n if (platformId === 0 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 1 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n useTable = true;\n\n if (!isSymbolicFont) {\n canBreak = true;\n }\n } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n useTable = true;\n canBreak = true;\n }\n\n if (useTable) {\n potentialTable = {\n platformId: platformId,\n encodingId: encodingId,\n offset: offset\n };\n }\n\n if (canBreak) {\n break;\n }\n }\n\n if (potentialTable) {\n font.pos = start + potentialTable.offset;\n }\n\n if (!potentialTable || font.peekByte() === -1) {\n (0, _util.warn)(\"Could not find a preferred cmap table.\");\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var format = font.getUint16();\n font.getUint16();\n font.getUint16();\n var hasShortCmap = false;\n var mappings = [];\n var j, glyphId;\n\n if (format === 0) {\n for (j = 0; j < 256; j++) {\n var index = font.getByte();\n\n if (!index) {\n continue;\n }\n\n mappings.push({\n charCode: j,\n glyphId: index\n });\n }\n\n hasShortCmap = true;\n } else if (format === 4) {\n var segCount = font.getUint16() >> 1;\n font.getBytes(6);\n var segIndex,\n segments = [];\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: font.getUint16()\n });\n }\n\n font.getUint16();\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = font.getUint16();\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = font.getUint16();\n }\n\n var offsetsCount = 0;\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n var rangeOffset = font.getUint16();\n\n if (!rangeOffset) {\n segment.offsetIndex = -1;\n continue;\n }\n\n var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n segment.offsetIndex = offsetIndex;\n offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n }\n\n var offsets = [];\n\n for (j = 0; j < offsetsCount; j++) {\n offsets.push(font.getUint16());\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n start = segment.start;\n var end = segment.end;\n var delta = segment.delta;\n offsetIndex = segment.offsetIndex;\n\n for (j = start; j <= end; j++) {\n if (j === 0xffff) {\n continue;\n }\n\n glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n glyphId = glyphId + delta & 0xffff;\n mappings.push({\n charCode: j,\n glyphId: glyphId\n });\n }\n }\n } else if (format === 6) {\n var firstCode = font.getUint16();\n var entryCount = font.getUint16();\n\n for (j = 0; j < entryCount; j++) {\n glyphId = font.getUint16();\n var charCode = firstCode + j;\n mappings.push({\n charCode: charCode,\n glyphId: glyphId\n });\n }\n } else {\n (0, _util.warn)(\"cmap table has unsupported format: \" + format);\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n mappings.sort(function (a, b) {\n return a.charCode - b.charCode;\n });\n\n for (i = 1; i < mappings.length; i++) {\n if (mappings[i - 1].charCode === mappings[i].charCode) {\n mappings.splice(i, 1);\n i--;\n }\n }\n\n return {\n platformId: potentialTable.platformId,\n encodingId: potentialTable.encodingId,\n mappings: mappings,\n hasShortCmap: hasShortCmap\n };\n }\n\n function sanitizeMetrics(font, header, metrics, numGlyphs, dupFirstEntry) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n\n return;\n }\n\n font.pos = (font.start ? font.start : 0) + header.offset;\n font.pos += 4;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 8;\n font.pos += 2;\n var numOfMetrics = font.getUint16();\n\n if (numOfMetrics > numGlyphs) {\n (0, _util.info)(\"The numOfMetrics (\" + numOfMetrics + \") should not be \" + \"greater than the numGlyphs (\" + numGlyphs + \")\");\n numOfMetrics = numGlyphs;\n header.data[34] = (numOfMetrics & 0xff00) >> 8;\n header.data[35] = numOfMetrics & 0x00ff;\n }\n\n var numOfSidebearings = numGlyphs - numOfMetrics;\n var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n\n if (numMissing > 0) {\n var entries = new Uint8Array(metrics.length + numMissing * 2);\n entries.set(metrics.data);\n\n if (dupFirstEntry) {\n entries[metrics.length] = metrics.data[2];\n entries[metrics.length + 1] = metrics.data[3];\n }\n\n metrics.data = entries;\n }\n }\n\n function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n var glyphProfile = {\n length: 0,\n sizeOfInstructions: 0\n };\n\n if (sourceEnd - sourceStart <= 12) {\n return glyphProfile;\n }\n\n var glyf = source.subarray(sourceStart, sourceEnd);\n var contoursCount = signedInt16(glyf[0], glyf[1]);\n\n if (contoursCount < 0) {\n contoursCount = -1;\n writeSignedInt16(glyf, 0, contoursCount);\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n var i,\n j = 10,\n flagsCount = 0;\n\n for (i = 0; i < contoursCount; i++) {\n var endPoint = glyf[j] << 8 | glyf[j + 1];\n flagsCount = endPoint + 1;\n j += 2;\n }\n\n var instructionsStart = j;\n var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n glyphProfile.sizeOfInstructions = instructionsLength;\n j += 2 + instructionsLength;\n var instructionsEnd = j;\n var coordinatesLength = 0;\n\n for (i = 0; i < flagsCount; i++) {\n var flag = glyf[j++];\n\n if (flag & 0xc0) {\n glyf[j - 1] = flag & 0x3f;\n }\n\n var xLength = 2;\n\n if (flag & 2) {\n xLength = 1;\n } else if (flag & 16) {\n xLength = 0;\n }\n\n var yLength = 2;\n\n if (flag & 4) {\n yLength = 1;\n } else if (flag & 32) {\n yLength = 0;\n }\n\n var xyLength = xLength + yLength;\n coordinatesLength += xyLength;\n\n if (flag & 8) {\n var repeat = glyf[j++];\n i += repeat;\n coordinatesLength += repeat * xyLength;\n }\n }\n\n if (coordinatesLength === 0) {\n return glyphProfile;\n }\n\n var glyphDataLength = j + coordinatesLength;\n\n if (glyphDataLength > glyf.length) {\n return glyphProfile;\n }\n\n if (!hintsValid && instructionsLength > 0) {\n dest.set(glyf.subarray(0, instructionsStart), destStart);\n dest.set([0, 0], destStart + instructionsStart);\n dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n glyphDataLength -= instructionsLength;\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n }\n\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n dest.set(glyf.subarray(0, glyphDataLength), destStart);\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n function sanitizeHead(head, numGlyphs, locaLength) {\n var data = head.data;\n var version = int32(data[0], data[1], data[2], data[3]);\n\n if (version >> 16 !== 1) {\n (0, _util.info)(\"Attempting to fix invalid version in head table: \" + version);\n data[0] = 0;\n data[1] = 1;\n data[2] = 0;\n data[3] = 0;\n }\n\n var indexToLocFormat = int16(data[50], data[51]);\n\n if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n (0, _util.info)(\"Attempting to fix invalid indexToLocFormat in head table: \" + indexToLocFormat);\n var numGlyphsPlusOne = numGlyphs + 1;\n\n if (locaLength === numGlyphsPlusOne << 1) {\n data[50] = 0;\n data[51] = 0;\n } else if (locaLength === numGlyphsPlusOne << 2) {\n data[50] = 0;\n data[51] = 1;\n } else {\n throw new _util.FormatError(\"Could not fix indexToLocFormat: \" + indexToLocFormat);\n }\n }\n }\n\n function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n var itemSize, itemDecode, itemEncode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n\n itemEncode = function fontItemEncodeLong(data, offset, value) {\n data[offset] = value >>> 24 & 0xff;\n data[offset + 1] = value >> 16 & 0xff;\n data[offset + 2] = value >> 8 & 0xff;\n data[offset + 3] = value & 0xff;\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n\n itemEncode = function fontItemEncode(data, offset, value) {\n data[offset] = value >> 9 & 0xff;\n data[offset + 1] = value >> 1 & 0xff;\n };\n }\n\n var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n var locaDataSize = itemSize * (1 + numGlyphsOut);\n var locaData = new Uint8Array(locaDataSize);\n locaData.set(loca.data.subarray(0, locaDataSize));\n loca.data = locaData;\n var oldGlyfData = glyf.data;\n var oldGlyfDataLength = oldGlyfData.length;\n var newGlyfData = new Uint8Array(oldGlyfDataLength);\n var startOffset = itemDecode(locaData, 0);\n var writeOffset = 0;\n var missingGlyphs = Object.create(null);\n itemEncode(locaData, 0, writeOffset);\n var i, j;\n\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n var endOffset = itemDecode(locaData, j);\n\n if (endOffset === 0) {\n endOffset = startOffset;\n }\n\n if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {\n endOffset = oldGlyfDataLength;\n }\n\n if (endOffset > oldGlyfDataLength) {\n startOffset = endOffset;\n }\n\n var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);\n var newLength = glyphProfile.length;\n\n if (newLength === 0) {\n missingGlyphs[i] = true;\n }\n\n if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n }\n\n writeOffset += newLength;\n itemEncode(locaData, j, writeOffset);\n startOffset = endOffset;\n }\n\n if (writeOffset === 0) {\n var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n\n for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n itemEncode(locaData, j, simpleGlyph.length);\n }\n\n glyf.data = simpleGlyph;\n } else if (dupFirstEntry) {\n var firstEntryLength = itemDecode(locaData, itemSize);\n\n if (newGlyfData.length > firstEntryLength + writeOffset) {\n glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n } else {\n glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n glyf.data.set(newGlyfData.subarray(0, writeOffset));\n }\n\n glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n } else {\n glyf.data = newGlyfData.subarray(0, writeOffset);\n }\n\n return {\n missingGlyphs: missingGlyphs,\n maxSizeOfInstructions: maxSizeOfInstructions\n };\n }\n\n function readPostScriptTable(post, properties, maxpNumGlyphs) {\n var start = (font.start ? font.start : 0) + post.offset;\n font.pos = start;\n var length = post.length,\n end = start + length;\n var version = font.getInt32();\n font.getBytes(28);\n var glyphNames;\n var valid = true;\n var i;\n\n switch (version) {\n case 0x00010000:\n glyphNames = MacStandardGlyphOrdering;\n break;\n\n case 0x00020000:\n var numGlyphs = font.getUint16();\n\n if (numGlyphs !== maxpNumGlyphs) {\n valid = false;\n break;\n }\n\n var glyphNameIndexes = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var index = font.getUint16();\n\n if (index >= 32768) {\n valid = false;\n break;\n }\n\n glyphNameIndexes.push(index);\n }\n\n if (!valid) {\n break;\n }\n\n var customNames = [];\n var strBuf = [];\n\n while (font.pos < end) {\n var stringLength = font.getByte();\n strBuf.length = stringLength;\n\n for (i = 0; i < stringLength; ++i) {\n strBuf[i] = String.fromCharCode(font.getByte());\n }\n\n customNames.push(strBuf.join(\"\"));\n }\n\n glyphNames = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var j = glyphNameIndexes[i];\n\n if (j < 258) {\n glyphNames.push(MacStandardGlyphOrdering[j]);\n continue;\n }\n\n glyphNames.push(customNames[j - 258]);\n }\n\n break;\n\n case 0x00030000:\n break;\n\n default:\n (0, _util.warn)(\"Unknown/unsupported post table version \" + version);\n valid = false;\n\n if (properties.defaultEncoding) {\n glyphNames = properties.defaultEncoding;\n }\n\n break;\n }\n\n properties.glyphNames = glyphNames;\n return valid;\n }\n\n function readNameTable(nameTable) {\n var start = (font.start ? font.start : 0) + nameTable.offset;\n font.pos = start;\n var names = [[], []];\n var length = nameTable.length,\n end = start + length;\n var format = font.getUint16();\n var FORMAT_0_HEADER_LENGTH = 6;\n\n if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n return names;\n }\n\n var numRecords = font.getUint16();\n var stringsStart = font.getUint16();\n var records = [];\n var NAME_RECORD_LENGTH = 12;\n var i, ii;\n\n for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n var r = {\n platform: font.getUint16(),\n encoding: font.getUint16(),\n language: font.getUint16(),\n name: font.getUint16(),\n length: font.getUint16(),\n offset: font.getUint16()\n };\n\n if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n records.push(r);\n }\n }\n\n for (i = 0, ii = records.length; i < ii; i++) {\n var record = records[i];\n\n if (record.length <= 0) {\n continue;\n }\n\n var pos = start + stringsStart + record.offset;\n\n if (pos + record.length > end) {\n continue;\n }\n\n font.pos = pos;\n var nameIndex = record.name;\n\n if (record.encoding) {\n var str = \"\";\n\n for (var j = 0, jj = record.length; j < jj; j += 2) {\n str += String.fromCharCode(font.getUint16());\n }\n\n names[1][nameIndex] = str;\n } else {\n names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n }\n }\n\n return names;\n }\n\n var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n\n function sanitizeTTProgram(table, ttContext) {\n var data = table.data;\n var i = 0,\n j,\n n,\n b,\n funcId,\n pc,\n lastEndf = 0,\n lastDeff = 0;\n var stack = [];\n var callstack = [];\n var functionsCalled = [];\n var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n var inFDEF = false,\n ifLevel = 0,\n inELSE = 0;\n\n for (var ii = data.length; i < ii;) {\n var op = data[i++];\n\n if (op === 0x40) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if (op === 0x41) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if ((op & 0xf8) === 0xb0) {\n n = op - 0xb0 + 1;\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if ((op & 0xf8) === 0xb8) {\n n = op - 0xb8 + 1;\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if (op === 0x2b && !tooComplexToFollowFunctions) {\n if (!inFDEF && !inELSE) {\n funcId = stack[stack.length - 1];\n\n if (isNaN(funcId)) {\n (0, _util.info)(\"TT: CALL empty stack (or invalid entry).\");\n } else {\n ttContext.functionsUsed[funcId] = true;\n\n if (funcId in ttContext.functionsStackDeltas) {\n var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n\n if (newStackLength < 0) {\n (0, _util.warn)(\"TT: CALL invalid functions stack delta.\");\n ttContext.hintsValid = false;\n return;\n }\n\n stack.length = newStackLength;\n } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n callstack.push({\n data: data,\n i: i,\n stackTop: stack.length - 1\n });\n functionsCalled.push(funcId);\n pc = ttContext.functionsDefined[funcId];\n\n if (!pc) {\n (0, _util.warn)(\"TT: CALL non-existent function\");\n ttContext.hintsValid = false;\n return;\n }\n\n data = pc.data;\n i = pc.i;\n }\n }\n }\n } else if (op === 0x2c && !tooComplexToFollowFunctions) {\n if (inFDEF || inELSE) {\n (0, _util.warn)(\"TT: nested FDEFs not allowed\");\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n funcId = stack.pop();\n ttContext.functionsDefined[funcId] = {\n data: data,\n i: i\n };\n } else if (op === 0x2d) {\n if (inFDEF) {\n inFDEF = false;\n lastEndf = i;\n } else {\n pc = callstack.pop();\n\n if (!pc) {\n (0, _util.warn)(\"TT: ENDF bad stack\");\n ttContext.hintsValid = false;\n return;\n }\n\n funcId = functionsCalled.pop();\n data = pc.data;\n i = pc.i;\n ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n }\n } else if (op === 0x89) {\n if (inFDEF || inELSE) {\n (0, _util.warn)(\"TT: nested IDEFs not allowed\");\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n } else if (op === 0x58) {\n ++ifLevel;\n } else if (op === 0x1b) {\n inELSE = ifLevel;\n } else if (op === 0x59) {\n if (inELSE === ifLevel) {\n inELSE = 0;\n }\n\n --ifLevel;\n } else if (op === 0x1c) {\n if (!inFDEF && !inELSE) {\n var offset = stack[stack.length - 1];\n\n if (offset > 0) {\n i += offset - 1;\n }\n }\n }\n\n if (!inFDEF && !inELSE) {\n var stackDelta = 0;\n\n if (op <= 0x8e) {\n stackDelta = TTOpsStackDeltas[op];\n } else if (op >= 0xc0 && op <= 0xdf) {\n stackDelta = -1;\n } else if (op >= 0xe0) {\n stackDelta = -2;\n }\n\n if (op >= 0x71 && op <= 0x75) {\n n = stack.pop();\n\n if (!isNaN(n)) {\n stackDelta = -n * 2;\n }\n }\n\n while (stackDelta < 0 && stack.length > 0) {\n stack.pop();\n stackDelta++;\n }\n\n while (stackDelta > 0) {\n stack.push(NaN);\n stackDelta--;\n }\n }\n }\n\n ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n var content = [data];\n\n if (i > data.length) {\n content.push(new Uint8Array(i - data.length));\n }\n\n if (lastDeff > lastEndf) {\n (0, _util.warn)(\"TT: complementing a missing function tail\");\n content.push(new Uint8Array([0x22, 0x2d]));\n }\n\n foldTTTable(table, content);\n }\n\n function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n if (ttContext.tooComplexToFollowFunctions) {\n return;\n }\n\n if (ttContext.functionsDefined.length > maxFunctionDefs) {\n (0, _util.warn)(\"TT: more functions defined than expected\");\n ttContext.hintsValid = false;\n return;\n }\n\n for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n if (j > maxFunctionDefs) {\n (0, _util.warn)(\"TT: invalid function id: \" + j);\n ttContext.hintsValid = false;\n return;\n }\n\n if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n (0, _util.warn)(\"TT: undefined function: \" + j);\n ttContext.hintsValid = false;\n return;\n }\n }\n }\n\n function foldTTTable(table, content) {\n if (content.length > 1) {\n var newLength = 0;\n var j, jj;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n newLength += content[j].length;\n }\n\n newLength = newLength + 3 & ~3;\n var result = new Uint8Array(newLength);\n var pos = 0;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n result.set(content[j], pos);\n pos += content[j].length;\n }\n\n table.data = result;\n table.length = newLength;\n }\n }\n\n function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n var ttContext = {\n functionsDefined: [],\n functionsUsed: [],\n functionsStackDeltas: [],\n tooComplexToFollowFunctions: false,\n hintsValid: true\n };\n\n if (fpgm) {\n sanitizeTTProgram(fpgm, ttContext);\n }\n\n if (prep) {\n sanitizeTTProgram(prep, ttContext);\n }\n\n if (fpgm) {\n checkInvalidFunctions(ttContext, maxFunctionDefs);\n }\n\n if (cvt && cvt.length & 1) {\n var cvtData = new Uint8Array(cvt.length + 1);\n cvtData.set(cvt.data);\n cvt.data = cvtData;\n }\n\n return ttContext.hintsValid;\n }\n\n font = new _stream.Stream(new Uint8Array(font.getBytes()));\n var header, tables;\n\n if (isTrueTypeCollectionFile(font)) {\n var ttcData = readTrueTypeCollectionData(font, this.name);\n header = ttcData.header;\n tables = ttcData.tables;\n } else {\n header = readOpenTypeHeader(font);\n tables = readTables(font, header.numTables);\n }\n\n var cff, cffFile;\n var isTrueType = !tables[\"CFF \"];\n\n if (!isTrueType) {\n var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n\n if (header.version === \"OTTO\" && !isComposite || !tables[\"head\"] || !tables[\"hhea\"] || !tables[\"maxp\"] || !tables[\"post\"]) {\n cffFile = new _stream.Stream(tables[\"CFF \"].data);\n cff = new CFFFont(cffFile, properties);\n adjustWidths(properties);\n return this.convert(name, cff, properties);\n }\n\n delete tables[\"glyf\"];\n delete tables[\"loca\"];\n delete tables[\"fpgm\"];\n delete tables[\"prep\"];\n delete tables[\"cvt \"];\n this.isOpenType = true;\n } else {\n if (!tables[\"loca\"]) {\n throw new _util.FormatError('Required \"loca\" table is not found');\n }\n\n if (!tables[\"glyf\"]) {\n (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n tables[\"glyf\"] = {\n tag: \"glyf\",\n data: new Uint8Array(0)\n };\n }\n\n this.isOpenType = false;\n }\n\n if (!tables[\"maxp\"]) {\n throw new _util.FormatError('Required \"maxp\" table is not found');\n }\n\n font.pos = (font.start || 0) + tables[\"maxp\"].offset;\n var version = font.getInt32();\n var numGlyphs = font.getUint16();\n var numGlyphsOut = numGlyphs + 1;\n var dupFirstEntry = true;\n\n if (numGlyphsOut > 0xffff) {\n dupFirstEntry = false;\n numGlyphsOut = numGlyphs;\n (0, _util.warn)(\"Not enough space in glyfs to duplicate first glyph.\");\n }\n\n var maxFunctionDefs = 0;\n var maxSizeOfInstructions = 0;\n\n if (version >= 0x00010000 && tables[\"maxp\"].length >= 22) {\n font.pos += 8;\n var maxZones = font.getUint16();\n\n if (maxZones > 2) {\n tables[\"maxp\"].data[14] = 0;\n tables[\"maxp\"].data[15] = 2;\n }\n\n font.pos += 4;\n maxFunctionDefs = font.getUint16();\n font.pos += 4;\n maxSizeOfInstructions = font.getUint16();\n }\n\n tables[\"maxp\"].data[4] = numGlyphsOut >> 8;\n tables[\"maxp\"].data[5] = numGlyphsOut & 255;\n var hintsValid = sanitizeTTPrograms(tables[\"fpgm\"], tables[\"prep\"], tables[\"cvt \"], maxFunctionDefs);\n\n if (!hintsValid) {\n delete tables[\"fpgm\"];\n delete tables[\"prep\"];\n delete tables[\"cvt \"];\n }\n\n sanitizeMetrics(font, tables[\"hhea\"], tables[\"hmtx\"], numGlyphsOut, dupFirstEntry);\n\n if (!tables[\"head\"]) {\n throw new _util.FormatError('Required \"head\" table is not found');\n }\n\n sanitizeHead(tables[\"head\"], numGlyphs, isTrueType ? tables[\"loca\"].length : 0);\n var missingGlyphs = Object.create(null);\n\n if (isTrueType) {\n var isGlyphLocationsLong = int16(tables[\"head\"].data[50], tables[\"head\"].data[51]);\n var glyphsInfo = sanitizeGlyphLocations(tables[\"loca\"], tables[\"glyf\"], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n missingGlyphs = glyphsInfo.missingGlyphs;\n\n if (version >= 0x00010000 && tables[\"maxp\"].length >= 22) {\n tables[\"maxp\"].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n tables[\"maxp\"].data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n }\n }\n\n if (!tables[\"hhea\"]) {\n throw new _util.FormatError('Required \"hhea\" table is not found');\n }\n\n if (tables[\"hhea\"].data[10] === 0 && tables[\"hhea\"].data[11] === 0) {\n tables[\"hhea\"].data[10] = 0xff;\n tables[\"hhea\"].data[11] = 0xff;\n }\n\n var metricsOverride = {\n unitsPerEm: int16(tables[\"head\"].data[18], tables[\"head\"].data[19]),\n yMax: int16(tables[\"head\"].data[42], tables[\"head\"].data[43]),\n yMin: signedInt16(tables[\"head\"].data[38], tables[\"head\"].data[39]),\n ascent: int16(tables[\"hhea\"].data[4], tables[\"hhea\"].data[5]),\n descent: signedInt16(tables[\"hhea\"].data[6], tables[\"hhea\"].data[7])\n };\n this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n if (tables[\"post\"]) {\n readPostScriptTable(tables[\"post\"], properties, numGlyphs);\n }\n\n tables[\"post\"] = {\n tag: \"post\",\n data: createPostTable(properties)\n };\n var charCodeToGlyphId = [],\n charCode;\n\n function hasGlyph(glyphId) {\n return !missingGlyphs[glyphId];\n }\n\n if (properties.composite) {\n var cidToGidMap = properties.cidToGidMap || [];\n var isCidToGidMapEmpty = cidToGidMap.length === 0;\n properties.cMap.forEach(function (charCode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError(\"Max size of CID is 65,535\");\n }\n\n var glyphId = -1;\n\n if (isCidToGidMapEmpty) {\n glyphId = cid;\n } else if (cidToGidMap[cid] !== undefined) {\n glyphId = cidToGidMap[cid];\n }\n\n if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n });\n } else {\n var cmapTable = readCmapTable(tables[\"cmap\"], font, this.isSymbolicFont, properties.hasEncoding);\n var cmapPlatformId = cmapTable.platformId;\n var cmapEncodingId = cmapTable.encodingId;\n var cmapMappings = cmapTable.mappings;\n var cmapMappingsLength = cmapMappings.length;\n\n if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, _encodings.getEncoding)(properties.baseEncodingName)) {\n var baseEncoding = [];\n\n if (properties.baseEncodingName === \"MacRomanEncoding\" || properties.baseEncodingName === \"WinAnsiEncoding\") {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (charCode = 0; charCode < 256; charCode++) {\n var glyphName, standardGlyphName;\n\n if (this.differences && charCode in this.differences) {\n glyphName = this.differences[charCode];\n } else if (charCode in baseEncoding && baseEncoding[charCode] !== \"\") {\n glyphName = baseEncoding[charCode];\n } else {\n glyphName = _encodings.StandardEncoding[charCode];\n }\n\n if (!glyphName) {\n continue;\n }\n\n standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n var unicodeOrCharCode;\n\n if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n }\n\n var found = false;\n\n for (var i = 0; i < cmapMappingsLength; ++i) {\n if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n continue;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n found = true;\n break;\n }\n\n if (!found && properties.glyphNames) {\n var glyphId = properties.glyphNames.indexOf(glyphName);\n\n if (glyphId === -1 && standardGlyphName !== glyphName) {\n glyphId = properties.glyphNames.indexOf(standardGlyphName);\n }\n\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n }\n } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {\n for (var _i21 = 0; _i21 < cmapMappingsLength; ++_i21) {\n charCodeToGlyphId[cmapMappings[_i21].charCode] = cmapMappings[_i21].glyphId;\n }\n } else {\n for (var _i22 = 0; _i22 < cmapMappingsLength; ++_i22) {\n charCode = cmapMappings[_i22].charCode;\n\n if (cmapPlatformId === 3 && charCode >= 0xf000 && charCode <= 0xf0ff) {\n charCode &= 0xff;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[_i22].glyphId;\n }\n }\n }\n\n if (charCodeToGlyphId.length === 0) {\n charCodeToGlyphId[0] = 0;\n }\n\n var glyphZeroId = numGlyphsOut - 1;\n\n if (!dupFirstEntry) {\n glyphZeroId = 0;\n }\n\n var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n tables[\"cmap\"] = {\n tag: \"cmap\",\n data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)\n };\n\n if (!tables[\"OS/2\"] || !validateOS2Table(tables[\"OS/2\"])) {\n tables[\"OS/2\"] = {\n tag: \"OS/2\",\n data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n };\n }\n\n if (!isTrueType) {\n try {\n cffFile = new _stream.Stream(tables[\"CFF \"].data);\n var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n cff = parser.parse();\n cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(cff);\n tables[\"CFF \"].data = compiler.compile();\n } catch (e) {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n }\n }\n\n if (!tables[\"name\"]) {\n tables[\"name\"] = {\n tag: \"name\",\n data: createNameTable(this.name)\n };\n } else {\n var namePrototype = readNameTable(tables[\"name\"]);\n tables[\"name\"].data = createNameTable(name, namePrototype);\n }\n\n var builder = new OpenTypeFileBuilder(header.version);\n\n for (var tableTag in tables) {\n builder.addTable(tableTag, tables[tableTag].data);\n }\n\n return builder.toArray();\n },\n convert: function Font_convert(fontName, font, properties) {\n properties.fixedPitch = false;\n\n if (properties.builtInEncoding) {\n adjustToUnicode(properties, properties.builtInEncoding);\n }\n\n var glyphZeroId = 1;\n\n if (font instanceof CFFFont) {\n glyphZeroId = font.numGlyphs - 1;\n }\n\n var mapping = font.getGlyphMapping(properties);\n var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n var numGlyphs = font.numGlyphs;\n\n function getCharCodes(charCodeToGlyphId, glyphId) {\n var charCodes = null;\n\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n if (!charCodes) {\n charCodes = [];\n }\n\n charCodes.push(charCode | 0);\n }\n }\n\n return charCodes;\n }\n\n function createCharCode(charCodeToGlyphId, glyphId) {\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n return charCode | 0;\n }\n }\n\n newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n return newMapping.nextAvailableFontCharCode++;\n }\n\n var seacs = font.seacs;\n\n if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var charset = font.getCharset();\n var seacMap = Object.create(null);\n\n for (var glyphId in seacs) {\n glyphId |= 0;\n var seac = seacs[glyphId];\n var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n var baseGlyphId = charset.indexOf(baseGlyphName);\n var accentGlyphId = charset.indexOf(accentGlyphName);\n\n if (baseGlyphId < 0 || accentGlyphId < 0) {\n continue;\n }\n\n var accentOffset = {\n x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n };\n var charCodes = getCharCodes(mapping, glyphId);\n\n if (!charCodes) {\n continue;\n }\n\n for (var i = 0, ii = charCodes.length; i < ii; i++) {\n var charCode = charCodes[i];\n var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n seacMap[charCode] = {\n baseFontCharCode: baseFontCharCode,\n accentFontCharCode: accentFontCharCode,\n accentOffset: accentOffset\n };\n }\n }\n\n properties.seacMap = seacMap;\n }\n\n var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var builder = new OpenTypeFileBuilder(\"\\x4F\\x54\\x54\\x4F\");\n builder.addTable(\"CFF \", font.data);\n builder.addTable(\"OS/2\", createOS2Table(properties, newMapping.charCodeToGlyphId));\n builder.addTable(\"cmap\", createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n builder.addTable(\"head\", \"\\x00\\x01\\x00\\x00\" + \"\\x00\\x00\\x10\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x5F\\x0F\\x3C\\xF5\" + \"\\x00\\x00\" + safeString16(unitsPerEm) + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\" + safeString16(properties.descent) + \"\\x0F\\xFF\" + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + \"\\x00\\x11\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\");\n builder.addTable(\"hhea\", \"\\x00\\x01\\x00\\x00\" + safeString16(properties.ascent) + safeString16(properties.descent) + \"\\x00\\x00\" + \"\\xFF\\xFF\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + string16(numGlyphs));\n builder.addTable(\"hmtx\", function fontFieldsHmtx() {\n var charstrings = font.charstrings;\n var cffWidths = font.cff ? font.cff.widths : null;\n var hmtx = \"\\x00\\x00\\x00\\x00\";\n\n for (var i = 1, ii = numGlyphs; i < ii; i++) {\n var width = 0;\n\n if (charstrings) {\n var charstring = charstrings[i - 1];\n width = \"width\" in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[i] || 0);\n }\n\n hmtx += string16(width) + string16(0);\n }\n\n return hmtx;\n }());\n builder.addTable(\"maxp\", \"\\x00\\x00\\x50\\x00\" + string16(numGlyphs));\n builder.addTable(\"name\", createNameTable(fontName));\n builder.addTable(\"post\", createPostTable(properties));\n return builder.toArray();\n },\n\n get spaceWidth() {\n if (\"_shadowWidth\" in this) {\n return this._shadowWidth;\n }\n\n var possibleSpaceReplacements = [\"space\", \"minus\", \"one\", \"i\", \"I\"];\n var width;\n\n for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n var glyphName = possibleSpaceReplacements[i];\n\n if (glyphName in this.widths) {\n width = this.widths[glyphName];\n break;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n var glyphUnicode = glyphsUnicodeMap[glyphName];\n var charcode = 0;\n\n if (this.composite) {\n if (this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\n }\n }\n\n if (!charcode && this.toUnicode) {\n charcode = this.toUnicode.charCodeOf(glyphUnicode);\n }\n\n if (charcode <= 0) {\n charcode = glyphUnicode;\n }\n\n width = this.widths[charcode];\n\n if (width) {\n break;\n }\n }\n\n width = width || this.defaultWidth;\n this._shadowWidth = width;\n return width;\n },\n\n charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n var fontCharCode, width, operatorListId;\n var widthCode = charcode;\n\n if (this.cMap && this.cMap.contains(charcode)) {\n widthCode = this.cMap.lookup(charcode);\n }\n\n width = this.widths[widthCode];\n width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n var vmetric = this.vmetrics && this.vmetrics[widthCode];\n var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;\n\n if (typeof unicode === \"number\") {\n unicode = String.fromCharCode(unicode);\n }\n\n var isInFont = (charcode in this.toFontChar);\n fontCharCode = this.toFontChar[charcode] || charcode;\n\n if (this.missingFile) {\n var glyphName = this.differences[charcode] || this.defaultEncoding[charcode];\n\n if ((glyphName === \".notdef\" || glyphName === \"\") && this.type === \"Type1\") {\n fontCharCode = 0x20;\n }\n\n fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n }\n\n if (this.isType3Font) {\n operatorListId = fontCharCode;\n }\n\n var accent = null;\n\n if (this.seacMap && this.seacMap[charcode]) {\n isInFont = true;\n var seac = this.seacMap[charcode];\n fontCharCode = seac.baseFontCharCode;\n accent = {\n fontChar: String.fromCodePoint(seac.accentFontCharCode),\n offset: seac.accentOffset\n };\n }\n\n var fontChar = typeof fontCharCode === \"number\" ? String.fromCodePoint(fontCharCode) : \"\";\n var glyph = this.glyphCache[charcode];\n\n if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n this.glyphCache[charcode] = glyph;\n }\n\n return glyph;\n },\n charsToGlyphs: function Font_charsToGlyphs(chars) {\n var charsCache = this.charsCache;\n var glyphs, glyph, charcode;\n\n if (charsCache) {\n glyphs = charsCache[chars];\n\n if (glyphs) {\n return glyphs;\n }\n }\n\n if (!charsCache) {\n charsCache = this.charsCache = Object.create(null);\n }\n\n glyphs = [];\n var charsCacheKey = chars;\n var i = 0,\n ii;\n\n if (this.cMap) {\n var c = Object.create(null);\n\n while (i < chars.length) {\n this.cMap.readCharCode(chars, i, c);\n charcode = c.charcode;\n var length = c.length;\n i += length;\n var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n glyph = this.charToGlyph(charcode, isSpace);\n glyphs.push(glyph);\n }\n } else {\n for (i = 0, ii = chars.length; i < ii; ++i) {\n charcode = chars.charCodeAt(i);\n glyph = this.charToGlyph(charcode, charcode === 0x20);\n glyphs.push(glyph);\n }\n }\n\n return charsCache[charsCacheKey] = glyphs;\n },\n\n get glyphCacheValues() {\n return Object.values(this.glyphCache);\n }\n\n };\n return Font;\n }();\n\n exports.Font = Font;\n\n var ErrorFont = function ErrorFontClosure() {\n function ErrorFont(error) {\n this.error = error;\n this.loadedName = \"g_font_error\";\n this.missingFile = true;\n }\n\n ErrorFont.prototype = {\n charsToGlyphs: function ErrorFont_charsToGlyphs() {\n return [];\n },\n exportData: function ErrorFont_exportData() {\n return {\n error: this.error\n };\n }\n };\n return ErrorFont;\n }();\n\n exports.ErrorFont = ErrorFont;\n\n function type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n var charCodeToGlyphId = Object.create(null);\n var glyphId, charCode, baseEncoding;\n var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n if (properties.baseEncodingName) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n } else if (isSymbolicFont) {\n for (charCode in builtInEncoding) {\n charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n }\n } else {\n baseEncoding = _encodings.StandardEncoding;\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n var differences = properties.differences,\n glyphsUnicodeMap;\n\n if (differences) {\n for (charCode in differences) {\n var glyphName = differences[charCode];\n glyphId = glyphNames.indexOf(glyphName);\n\n if (glyphId === -1) {\n if (!glyphsUnicodeMap) {\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n }\n\n var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n if (standardGlyphName !== glyphName) {\n glyphId = glyphNames.indexOf(standardGlyphName);\n }\n }\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n return charCodeToGlyphId;\n }\n\n var Type1Font = function Type1FontClosure() {\n function findBlock(streamBytes, signature, startIndex) {\n var streamBytesLength = streamBytes.length;\n var signatureLength = signature.length;\n var scanLength = streamBytesLength - signatureLength;\n var i = startIndex,\n j,\n found = false;\n\n while (i < scanLength) {\n j = 0;\n\n while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n i += j;\n\n while (i < streamBytesLength && (0, _core_utils.isWhiteSpace)(streamBytes[i])) {\n i++;\n }\n\n found = true;\n break;\n }\n\n i++;\n }\n\n return {\n found: found,\n length: i\n };\n }\n\n function getHeaderBlock(stream, suggestedLength) {\n var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n var streamStartPos = stream.pos;\n var headerBytes, headerBytesLength, block;\n\n try {\n headerBytes = stream.getBytes(suggestedLength);\n headerBytesLength = headerBytes.length;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n\n if (headerBytesLength === suggestedLength) {\n block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n\n if (block.found && block.length === suggestedLength) {\n return {\n stream: new _stream.Stream(headerBytes),\n length: suggestedLength\n };\n }\n }\n\n (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n stream.pos = streamStartPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var actualLength;\n\n while (true) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n if (block.length === 0) {\n break;\n }\n\n stream.pos += block.length;\n\n if (block.found) {\n actualLength = stream.pos - streamStartPos;\n break;\n }\n }\n\n stream.pos = streamStartPos;\n\n if (actualLength) {\n return {\n stream: new _stream.Stream(stream.getBytes(actualLength)),\n length: actualLength\n };\n }\n\n (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n return {\n stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n length: suggestedLength\n };\n }\n\n function getEexecBlock(stream, suggestedLength) {\n var eexecBytes = stream.getBytes();\n return {\n stream: new _stream.Stream(eexecBytes),\n length: eexecBytes.length\n };\n }\n\n function Type1Font(name, file, properties) {\n var PFB_HEADER_SIZE = 6;\n var headerBlockLength = properties.length1;\n var eexecBlockLength = properties.length2;\n var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n\n if (pfbHeaderPresent) {\n file.skip(PFB_HEADER_SIZE);\n headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var headerBlock = getHeaderBlock(file, headerBlockLength);\n var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n headerBlockParser.extractFontHeader(properties);\n\n if (pfbHeaderPresent) {\n pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var eexecBlock = getEexecBlock(file, eexecBlockLength);\n var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n var data = eexecBlockParser.extractFontProgram(properties);\n\n for (var info in data.properties) {\n properties[info] = data.properties[info];\n }\n\n var charstrings = data.charstrings;\n var type2Charstrings = this.getType2Charstrings(charstrings);\n var subrs = this.getType2Subrs(data.subrs);\n this.charstrings = charstrings;\n this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n this.seacs = this.getSeacs(data.charstrings);\n }\n\n Type1Font.prototype = {\n get numGlyphs() {\n return this.charstrings.length + 1;\n },\n\n getCharset: function Type1Font_getCharset() {\n var charset = [\".notdef\"];\n var charstrings = this.charstrings;\n\n for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n charset.push(charstrings[glyphId].glyphName);\n }\n\n return charset;\n },\n getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n var charstrings = this.charstrings;\n var glyphNames = [\".notdef\"],\n glyphId;\n\n for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n glyphNames.push(charstrings[glyphId].glyphName);\n }\n\n var encoding = properties.builtInEncoding;\n\n if (encoding) {\n var builtInEncoding = Object.create(null);\n\n for (var charCode in encoding) {\n glyphId = glyphNames.indexOf(encoding[charCode]);\n\n if (glyphId >= 0) {\n builtInEncoding[charCode] = glyphId;\n }\n }\n }\n\n return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n },\n hasGlyphId: function Type1Font_hasGlyphID(id) {\n if (id < 0 || id >= this.numGlyphs) {\n return false;\n }\n\n if (id === 0) {\n return true;\n }\n\n var glyph = this.charstrings[id - 1];\n return glyph.charstring.length > 0;\n },\n getSeacs: function Type1Font_getSeacs(charstrings) {\n var i, ii;\n var seacMap = [];\n\n for (i = 0, ii = charstrings.length; i < ii; i++) {\n var charstring = charstrings[i];\n\n if (charstring.seac) {\n seacMap[i + 1] = charstring.seac;\n }\n }\n\n return seacMap;\n },\n getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n var type2Charstrings = [];\n\n for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n type2Charstrings.push(type1Charstrings[i].charstring);\n }\n\n return type2Charstrings;\n },\n getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n var bias = 0;\n var count = type1Subrs.length;\n\n if (count < 1133) {\n bias = 107;\n } else if (count < 33769) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n\n var type2Subrs = [];\n var i;\n\n for (i = 0; i < bias; i++) {\n type2Subrs.push([0x0b]);\n }\n\n for (i = 0; i < count; i++) {\n type2Subrs.push(type1Subrs[i]);\n }\n\n return type2Subrs;\n },\n wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n var cff = new _cff_parser.CFF();\n cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n cff.names = [name];\n var topDict = new _cff_parser.CFFTopDict();\n topDict.setByName(\"version\", 391);\n topDict.setByName(\"Notice\", 392);\n topDict.setByName(\"FullName\", 393);\n topDict.setByName(\"FamilyName\", 394);\n topDict.setByName(\"Weight\", 395);\n topDict.setByName(\"Encoding\", null);\n topDict.setByName(\"FontMatrix\", properties.fontMatrix);\n topDict.setByName(\"FontBBox\", properties.bbox);\n topDict.setByName(\"charset\", null);\n topDict.setByName(\"CharStrings\", null);\n topDict.setByName(\"Private\", null);\n cff.topDict = topDict;\n var strings = new _cff_parser.CFFStrings();\n strings.add(\"Version 0.11\");\n strings.add(\"See original notice\");\n strings.add(name);\n strings.add(name);\n strings.add(\"Medium\");\n cff.strings = strings;\n cff.globalSubrIndex = new _cff_parser.CFFIndex();\n var count = glyphs.length;\n var charsetArray = [\".notdef\"];\n var i, ii;\n\n for (i = 0; i < count; i++) {\n var glyphName = charstrings[i].glyphName;\n\n var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n\n if (index === -1) {\n strings.add(glyphName);\n }\n\n charsetArray.push(glyphName);\n }\n\n cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);\n var charStringsIndex = new _cff_parser.CFFIndex();\n charStringsIndex.add([0x8b, 0x0e]);\n\n for (i = 0; i < count; i++) {\n charStringsIndex.add(glyphs[i]);\n }\n\n cff.charStrings = charStringsIndex;\n var privateDict = new _cff_parser.CFFPrivateDict();\n privateDict.setByName(\"Subrs\", null);\n var fields = [\"BlueValues\", \"OtherBlues\", \"FamilyBlues\", \"FamilyOtherBlues\", \"StemSnapH\", \"StemSnapV\", \"BlueShift\", \"BlueFuzz\", \"BlueScale\", \"LanguageGroup\", \"ExpansionFactor\", \"ForceBold\", \"StdHW\", \"StdVW\"];\n\n for (i = 0, ii = fields.length; i < ii; i++) {\n var field = fields[i];\n\n if (!(field in properties.privateData)) {\n continue;\n }\n\n var value = properties.privateData[field];\n\n if (Array.isArray(value)) {\n for (var j = value.length - 1; j > 0; j--) {\n value[j] -= value[j - 1];\n }\n }\n\n privateDict.setByName(field, value);\n }\n\n cff.topDict.privateDict = privateDict;\n var subrIndex = new _cff_parser.CFFIndex();\n\n for (i = 0, ii = subrs.length; i < ii; i++) {\n subrIndex.add(subrs[i]);\n }\n\n privateDict.subrsIndex = subrIndex;\n var compiler = new _cff_parser.CFFCompiler(cff);\n return compiler.compile();\n }\n };\n return Type1Font;\n }();\n\n var CFFFont = function CFFFontClosure() {\n function CFFFont(file, properties) {\n this.properties = properties;\n var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n this.cff = parser.parse();\n this.cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(this.cff);\n this.seacs = this.cff.seacs;\n\n try {\n this.data = compiler.compile();\n } catch (e) {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n this.data = file;\n }\n }\n\n CFFFont.prototype = {\n get numGlyphs() {\n return this.cff.charStrings.count;\n },\n\n getCharset: function CFFFont_getCharset() {\n return this.cff.charset.charset;\n },\n getGlyphMapping: function CFFFont_getGlyphMapping() {\n var cff = this.cff;\n var properties = this.properties;\n var charsets = cff.charset.charset;\n var charCodeToGlyphId;\n var glyphId;\n\n if (properties.composite) {\n charCodeToGlyphId = Object.create(null);\n var charCode;\n\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n var cid = charsets[glyphId];\n charCode = properties.cMap.charCodeOf(cid);\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n\n return charCodeToGlyphId;\n }\n\n var encoding = cff.encoding ? cff.encoding.encoding : null;\n charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n return charCodeToGlyphId;\n },\n hasGlyphId: function CFFFont_hasGlyphID(id) {\n return this.cff.hasGlyphId(id);\n }\n };\n return CFFFont;\n }();\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _charsets = __w_pdfjs_require__(29);\n\n var _encodings = __w_pdfjs_require__(30);\n\n var MAX_SUBR_NESTING = 10;\n var CFFStandardStrings = [\".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\"];\n exports.CFFStandardStrings = CFFStandardStrings;\n var NUM_STANDARD_CFF_STRINGS = 391;\n\n var CFFParser = function CFFParserClosure() {\n var CharstringValidationData = [null, {\n id: \"hstem\",\n min: 2,\n stackClearing: true,\n stem: true\n }, null, {\n id: \"vstem\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"vmoveto\",\n min: 1,\n stackClearing: true\n }, {\n id: \"rlineto\",\n min: 2,\n resetStack: true\n }, {\n id: \"hlineto\",\n min: 1,\n resetStack: true\n }, {\n id: \"vlineto\",\n min: 1,\n resetStack: true\n }, {\n id: \"rrcurveto\",\n min: 6,\n resetStack: true\n }, null, {\n id: \"callsubr\",\n min: 1,\n undefStack: true\n }, {\n id: \"return\",\n min: 0,\n undefStack: true\n }, null, null, {\n id: \"endchar\",\n min: 0,\n stackClearing: true\n }, null, null, null, {\n id: \"hstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"hintmask\",\n min: 0,\n stackClearing: true\n }, {\n id: \"cntrmask\",\n min: 0,\n stackClearing: true\n }, {\n id: \"rmoveto\",\n min: 2,\n stackClearing: true\n }, {\n id: \"hmoveto\",\n min: 1,\n stackClearing: true\n }, {\n id: \"vstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"rcurveline\",\n min: 8,\n resetStack: true\n }, {\n id: \"rlinecurve\",\n min: 8,\n resetStack: true\n }, {\n id: \"vvcurveto\",\n min: 4,\n resetStack: true\n }, {\n id: \"hhcurveto\",\n min: 4,\n resetStack: true\n }, null, {\n id: \"callgsubr\",\n min: 1,\n undefStack: true\n }, {\n id: \"vhcurveto\",\n min: 4,\n resetStack: true\n }, {\n id: \"hvcurveto\",\n min: 4,\n resetStack: true\n }];\n var CharstringValidationData12 = [null, null, null, {\n id: \"and\",\n min: 2,\n stackDelta: -1\n }, {\n id: \"or\",\n min: 2,\n stackDelta: -1\n }, {\n id: \"not\",\n min: 1,\n stackDelta: 0\n }, null, null, null, {\n id: \"abs\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"add\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] + stack[index - 1];\n }\n }, {\n id: \"sub\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] - stack[index - 1];\n }\n }, {\n id: \"div\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] / stack[index - 1];\n }\n }, null, {\n id: \"neg\",\n min: 1,\n stackDelta: 0,\n stackFn: function stack_div(stack, index) {\n stack[index - 1] = -stack[index - 1];\n }\n }, {\n id: \"eq\",\n min: 2,\n stackDelta: -1\n }, null, null, {\n id: \"drop\",\n min: 1,\n stackDelta: -1\n }, null, {\n id: \"put\",\n min: 2,\n stackDelta: -2\n }, {\n id: \"get\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"ifelse\",\n min: 4,\n stackDelta: -3\n }, {\n id: \"random\",\n min: 0,\n stackDelta: 1\n }, {\n id: \"mul\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] * stack[index - 1];\n }\n }, null, {\n id: \"sqrt\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"dup\",\n min: 1,\n stackDelta: 1\n }, {\n id: \"exch\",\n min: 2,\n stackDelta: 0\n }, {\n id: \"index\",\n min: 2,\n stackDelta: 0\n }, {\n id: \"roll\",\n min: 3,\n stackDelta: -2\n }, null, null, null, {\n id: \"hflex\",\n min: 7,\n resetStack: true\n }, {\n id: \"flex\",\n min: 13,\n resetStack: true\n }, {\n id: \"hflex1\",\n min: 9,\n resetStack: true\n }, {\n id: \"flex1\",\n min: 11,\n resetStack: true\n }];\n\n function CFFParser(file, properties, seacAnalysisEnabled) {\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n\n CFFParser.prototype = {\n parse: function CFFParser_parse() {\n var properties = this.properties;\n var cff = new CFF();\n this.cff = cff;\n var header = this.parseHeader();\n var nameIndex = this.parseIndex(header.endPos);\n var topDictIndex = this.parseIndex(nameIndex.endPos);\n var stringIndex = this.parseIndex(topDictIndex.endPos);\n var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n cff.header = header.obj;\n cff.names = this.parseNameIndex(nameIndex.obj);\n cff.strings = this.parseStringIndex(stringIndex.obj);\n cff.topDict = topDict;\n cff.globalSubrIndex = globalSubrIndex.obj;\n this.parsePrivateDict(cff.topDict);\n cff.isCIDFont = topDict.hasName(\"ROS\");\n var charStringOffset = topDict.getByName(\"CharStrings\");\n var charStringIndex = this.parseIndex(charStringOffset).obj;\n var fontMatrix = topDict.getByName(\"FontMatrix\");\n\n if (fontMatrix) {\n properties.fontMatrix = fontMatrix;\n }\n\n var fontBBox = topDict.getByName(\"FontBBox\");\n\n if (fontBBox) {\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n }\n\n var charset, encoding;\n\n if (cff.isCIDFont) {\n var fdArrayIndex = this.parseIndex(topDict.getByName(\"FDArray\")).obj;\n\n for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n var dictRaw = fdArrayIndex.get(i);\n var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n this.parsePrivateDict(fontDict);\n cff.fdArray.push(fontDict);\n }\n\n encoding = null;\n charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, true);\n cff.fdSelect = this.parseFDSelect(topDict.getByName(\"FDSelect\"), charStringIndex.count);\n } else {\n charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, false);\n encoding = this.parseEncoding(topDict.getByName(\"Encoding\"), properties, cff.strings, charset.charset);\n }\n\n cff.charset = charset;\n cff.encoding = encoding;\n var charStringsAndSeacs = this.parseCharStrings({\n charStrings: charStringIndex,\n localSubrIndex: topDict.privateDict.subrsIndex,\n globalSubrIndex: globalSubrIndex.obj,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray,\n privateDict: topDict.privateDict\n });\n cff.charStrings = charStringsAndSeacs.charStrings;\n cff.seacs = charStringsAndSeacs.seacs;\n cff.widths = charStringsAndSeacs.widths;\n return cff;\n },\n parseHeader: function CFFParser_parseHeader() {\n var bytes = this.bytes;\n var bytesLength = bytes.length;\n var offset = 0;\n\n while (offset < bytesLength && bytes[offset] !== 1) {\n ++offset;\n }\n\n if (offset >= bytesLength) {\n throw new _util.FormatError(\"Invalid CFF header\");\n }\n\n if (offset !== 0) {\n (0, _util.info)(\"cff data is shifted\");\n bytes = bytes.subarray(offset);\n this.bytes = bytes;\n }\n\n var major = bytes[0];\n var minor = bytes[1];\n var hdrSize = bytes[2];\n var offSize = bytes[3];\n var header = new CFFHeader(major, minor, hdrSize, offSize);\n return {\n obj: header,\n endPos: hdrSize\n };\n },\n parseDict: function CFFParser_parseDict(dict) {\n var pos = 0;\n\n function parseOperand() {\n var value = dict[pos++];\n\n if (value === 30) {\n return parseFloatOperand();\n } else if (value === 28) {\n value = dict[pos++];\n value = (value << 24 | dict[pos++] << 16) >> 16;\n return value;\n } else if (value === 29) {\n value = dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n return value;\n } else if (value >= 32 && value <= 246) {\n return value - 139;\n } else if (value >= 247 && value <= 250) {\n return (value - 247) * 256 + dict[pos++] + 108;\n } else if (value >= 251 && value <= 254) {\n return -((value - 251) * 256) - dict[pos++] - 108;\n }\n\n (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n return NaN;\n }\n\n function parseFloatOperand() {\n var str = \"\";\n var eof = 15;\n var lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n var length = dict.length;\n\n while (pos < length) {\n var b = dict[pos++];\n var b1 = b >> 4;\n var b2 = b & 15;\n\n if (b1 === eof) {\n break;\n }\n\n str += lookup[b1];\n\n if (b2 === eof) {\n break;\n }\n\n str += lookup[b2];\n }\n\n return parseFloat(str);\n }\n\n var operands = [];\n var entries = [];\n pos = 0;\n var end = dict.length;\n\n while (pos < end) {\n var b = dict[pos];\n\n if (b <= 21) {\n if (b === 12) {\n b = b << 8 | dict[++pos];\n }\n\n entries.push([b, operands]);\n operands = [];\n ++pos;\n } else {\n operands.push(parseOperand());\n }\n }\n\n return entries;\n },\n parseIndex: function CFFParser_parseIndex(pos) {\n var cffIndex = new CFFIndex();\n var bytes = this.bytes;\n var count = bytes[pos++] << 8 | bytes[pos++];\n var offsets = [];\n var end = pos;\n var i, ii;\n\n if (count !== 0) {\n var offsetSize = bytes[pos++];\n var startPos = pos + (count + 1) * offsetSize - 1;\n\n for (i = 0, ii = count + 1; i < ii; ++i) {\n var offset = 0;\n\n for (var j = 0; j < offsetSize; ++j) {\n offset <<= 8;\n offset += bytes[pos++];\n }\n\n offsets.push(startPos + offset);\n }\n\n end = offsets[count];\n }\n\n for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n var offsetStart = offsets[i];\n var offsetEnd = offsets[i + 1];\n cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n }\n\n return {\n obj: cffIndex,\n endPos: end\n };\n },\n parseNameIndex: function CFFParser_parseNameIndex(index) {\n var names = [];\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var name = index.get(i);\n names.push((0, _util.bytesToString)(name));\n }\n\n return names;\n },\n parseStringIndex: function CFFParser_parseStringIndex(index) {\n var strings = new CFFStrings();\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var data = index.get(i);\n strings.add((0, _util.bytesToString)(data));\n }\n\n return strings;\n },\n createDict: function CFFParser_createDict(Type, dict, strings) {\n var cffDict = new Type(strings);\n\n for (var i = 0, ii = dict.length; i < ii; ++i) {\n var pair = dict[i];\n var key = pair[0];\n var value = pair[1];\n cffDict.setByKey(key, value);\n }\n\n return cffDict;\n },\n parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n if (!data || state.callDepth > MAX_SUBR_NESTING) {\n return false;\n }\n\n var stackSize = state.stackSize;\n var stack = state.stack;\n var length = data.length;\n\n for (var j = 0; j < length;) {\n var value = data[j++];\n var validationCommand = null;\n\n if (value === 12) {\n var q = data[j++];\n\n if (q === 0) {\n data[j - 2] = 139;\n data[j - 1] = 22;\n stackSize = 0;\n } else {\n validationCommand = CharstringValidationData12[q];\n }\n } else if (value === 28) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n j += 2;\n stackSize++;\n } else if (value === 14) {\n if (stackSize >= 4) {\n stackSize -= 4;\n\n if (this.seacAnalysisEnabled) {\n state.seac = stack.slice(stackSize, stackSize + 4);\n return false;\n }\n }\n\n validationCommand = CharstringValidationData[value];\n } else if (value >= 32 && value <= 246) {\n stack[stackSize] = value - 139;\n stackSize++;\n } else if (value >= 247 && value <= 254) {\n stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n j++;\n stackSize++;\n } else if (value === 255) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n j += 4;\n stackSize++;\n } else if (value === 19 || value === 20) {\n state.hints += stackSize >> 1;\n j += state.hints + 7 >> 3;\n stackSize %= 2;\n validationCommand = CharstringValidationData[value];\n } else if (value === 10 || value === 29) {\n var subrsIndex;\n\n if (value === 10) {\n subrsIndex = localSubrIndex;\n } else {\n subrsIndex = globalSubrIndex;\n }\n\n if (!subrsIndex) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)(\"Missing subrsIndex for \" + validationCommand.id);\n return false;\n }\n\n var bias = 32768;\n\n if (subrsIndex.count < 1240) {\n bias = 107;\n } else if (subrsIndex.count < 33900) {\n bias = 1131;\n }\n\n var subrNumber = stack[--stackSize] + bias;\n\n if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)(\"Out of bounds subrIndex for \" + validationCommand.id);\n return false;\n }\n\n state.stackSize = stackSize;\n state.callDepth++;\n var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n\n if (!valid) {\n return false;\n }\n\n state.callDepth--;\n stackSize = state.stackSize;\n continue;\n } else if (value === 11) {\n state.stackSize = stackSize;\n return true;\n } else {\n validationCommand = CharstringValidationData[value];\n }\n\n if (validationCommand) {\n if (validationCommand.stem) {\n state.hints += stackSize >> 1;\n\n if (value === 3 || value === 23) {\n state.hasVStems = true;\n } else if (state.hasVStems && (value === 1 || value === 18)) {\n (0, _util.warn)(\"CFF stem hints are in wrong order\");\n data[j - 1] = value === 1 ? 3 : 23;\n }\n }\n\n if (\"min\" in validationCommand) {\n if (!state.undefStack && stackSize < validationCommand.min) {\n (0, _util.warn)(\"Not enough parameters for \" + validationCommand.id + \"; actual: \" + stackSize + \", expected: \" + validationCommand.min);\n return false;\n }\n }\n\n if (state.firstStackClearing && validationCommand.stackClearing) {\n state.firstStackClearing = false;\n stackSize -= validationCommand.min;\n\n if (stackSize >= 2 && validationCommand.stem) {\n stackSize %= 2;\n } else if (stackSize > 1) {\n (0, _util.warn)(\"Found too many parameters for stack-clearing command\");\n }\n\n if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n state.width = stack[stackSize - 1];\n }\n }\n\n if (\"stackDelta\" in validationCommand) {\n if (\"stackFn\" in validationCommand) {\n validationCommand.stackFn(stack, stackSize);\n }\n\n stackSize += validationCommand.stackDelta;\n } else if (validationCommand.stackClearing) {\n stackSize = 0;\n } else if (validationCommand.resetStack) {\n stackSize = 0;\n state.undefStack = false;\n } else if (validationCommand.undefStack) {\n stackSize = 0;\n state.undefStack = true;\n state.firstStackClearing = false;\n }\n }\n }\n\n state.stackSize = stackSize;\n return true;\n },\n parseCharStrings: function parseCharStrings(_ref29) {\n var charStrings = _ref29.charStrings,\n localSubrIndex = _ref29.localSubrIndex,\n globalSubrIndex = _ref29.globalSubrIndex,\n fdSelect = _ref29.fdSelect,\n fdArray = _ref29.fdArray,\n privateDict = _ref29.privateDict;\n var seacs = [];\n var widths = [];\n var count = charStrings.count;\n\n for (var i = 0; i < count; i++) {\n var charstring = charStrings.get(i);\n var state = {\n callDepth: 0,\n stackSize: 0,\n stack: [],\n undefStack: true,\n hints: 0,\n firstStackClearing: true,\n seac: null,\n width: null,\n hasVStems: false\n };\n var valid = true;\n var localSubrToUse = null;\n var privateDictToUse = privateDict;\n\n if (fdSelect && fdArray.length) {\n var fdIndex = fdSelect.getFDIndex(i);\n\n if (fdIndex === -1) {\n (0, _util.warn)(\"Glyph index is not in fd select.\");\n valid = false;\n }\n\n if (fdIndex >= fdArray.length) {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n valid = false;\n }\n\n if (valid) {\n privateDictToUse = fdArray[fdIndex].privateDict;\n localSubrToUse = privateDictToUse.subrsIndex;\n }\n } else if (localSubrIndex) {\n localSubrToUse = localSubrIndex;\n }\n\n if (valid) {\n valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n }\n\n if (state.width !== null) {\n var nominalWidth = privateDictToUse.getByName(\"nominalWidthX\");\n widths[i] = nominalWidth + state.width;\n } else {\n var defaultWidth = privateDictToUse.getByName(\"defaultWidthX\");\n widths[i] = defaultWidth;\n }\n\n if (state.seac !== null) {\n seacs[i] = state.seac;\n }\n\n if (!valid) {\n charStrings.set(i, new Uint8Array([14]));\n }\n }\n\n return {\n charStrings: charStrings,\n seacs: seacs,\n widths: widths\n };\n },\n emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {\n var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n },\n parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {\n if (!parentDict.hasName(\"Private\")) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateOffset = parentDict.getByName(\"Private\");\n\n if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n parentDict.removeByName(\"Private\");\n return;\n }\n\n var size = privateOffset[0];\n var offset = privateOffset[1];\n\n if (size === 0 || offset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateDictEnd = offset + size;\n var dictData = this.bytes.subarray(offset, privateDictEnd);\n var dict = this.parseDict(dictData);\n var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n parentDict.privateDict = privateDict;\n\n if (!privateDict.getByName(\"Subrs\")) {\n return;\n }\n\n var subrsOffset = privateDict.getByName(\"Subrs\");\n var relativeOffset = offset + subrsOffset;\n\n if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var subrsIndex = this.parseIndex(relativeOffset);\n privateDict.subrsIndex = subrsIndex.obj;\n },\n parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {\n if (pos === 0) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n } else if (pos === 1) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n } else if (pos === 2) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n }\n\n var bytes = this.bytes;\n var start = pos;\n var format = bytes[pos++];\n var charset = [\".notdef\"];\n var id, count, i;\n length -= 1;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; i++) {\n id = bytes[pos++] << 8 | bytes[pos++];\n charset.push(cid ? id : strings.get(id));\n }\n\n break;\n\n case 1:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n case 2:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown charset format\");\n }\n\n var end = pos;\n var raw = bytes.subarray(start, end);\n return new CFFCharset(false, format, charset, raw);\n },\n parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) {\n var encoding = Object.create(null);\n var bytes = this.bytes;\n var predefined = false;\n var format, i, ii;\n var raw = null;\n\n function readSupplement() {\n var supplementsCount = bytes[pos++];\n\n for (i = 0; i < supplementsCount; i++) {\n var code = bytes[pos++];\n var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n encoding[code] = charset.indexOf(strings.get(sid));\n }\n }\n\n if (pos === 0 || pos === 1) {\n predefined = true;\n format = pos;\n var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n\n for (i = 0, ii = charset.length; i < ii; i++) {\n var index = baseEncoding.indexOf(charset[i]);\n\n if (index !== -1) {\n encoding[index] = i;\n }\n }\n } else {\n var dataStart = pos;\n format = bytes[pos++];\n\n switch (format & 0x7f) {\n case 0:\n var glyphsCount = bytes[pos++];\n\n for (i = 1; i <= glyphsCount; i++) {\n encoding[bytes[pos++]] = i;\n }\n\n break;\n\n case 1:\n var rangesCount = bytes[pos++];\n var gid = 1;\n\n for (i = 0; i < rangesCount; i++) {\n var start = bytes[pos++];\n var left = bytes[pos++];\n\n for (var j = start; j <= start + left; j++) {\n encoding[j] = gid++;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown encoding format: \".concat(format, \" in CFF\"));\n }\n\n var dataEnd = pos;\n\n if (format & 0x80) {\n bytes[dataStart] &= 0x7f;\n readSupplement();\n }\n\n raw = bytes.subarray(dataStart, dataEnd);\n }\n\n format = format & 0x7f;\n return new CFFEncoding(predefined, format, encoding, raw);\n },\n parseFDSelect: function CFFParser_parseFDSelect(pos, length) {\n var bytes = this.bytes;\n var format = bytes[pos++];\n var fdSelect = [];\n var i;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; ++i) {\n var id = bytes[pos++];\n fdSelect.push(id);\n }\n\n break;\n\n case 3:\n var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i < rangesCount; ++i) {\n var first = bytes[pos++] << 8 | bytes[pos++];\n\n if (i === 0 && first !== 0) {\n (0, _util.warn)(\"parseFDSelect: The first range must have a first GID of 0\" + \" -- trying to recover.\");\n first = 0;\n }\n\n var fdIndex = bytes[pos++];\n var next = bytes[pos] << 8 | bytes[pos + 1];\n\n for (var j = first; j < next; ++j) {\n fdSelect.push(fdIndex);\n }\n }\n\n pos += 2;\n break;\n\n default:\n throw new _util.FormatError(\"parseFDSelect: Unknown format \\\"\".concat(format, \"\\\".\"));\n }\n\n if (fdSelect.length !== length) {\n throw new _util.FormatError(\"parseFDSelect: Invalid font data.\");\n }\n\n return new CFFFDSelect(format, fdSelect);\n }\n };\n return CFFParser;\n }();\n\n exports.CFFParser = CFFParser;\n\n var CFF = function CFFClosure() {\n function CFF() {\n this.header = null;\n this.names = [];\n this.topDict = null;\n this.strings = new CFFStrings();\n this.globalSubrIndex = null;\n this.encoding = null;\n this.charset = null;\n this.charStrings = null;\n this.fdArray = [];\n this.fdSelect = null;\n this.isCIDFont = false;\n }\n\n CFF.prototype = {\n duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {\n if (this.charStrings.count >= 65535) {\n (0, _util.warn)(\"Not enough space in charstrings to duplicate first glyph.\");\n return;\n }\n\n var glyphZero = this.charStrings.get(0);\n this.charStrings.add(glyphZero);\n\n if (this.isCIDFont) {\n this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n }\n },\n hasGlyphId: function CFF_hasGlyphID(id) {\n if (id < 0 || id >= this.charStrings.count) {\n return false;\n }\n\n var glyph = this.charStrings.get(id);\n return glyph.length > 0;\n }\n };\n return CFF;\n }();\n\n exports.CFF = CFF;\n\n var CFFHeader = function CFFHeaderClosure() {\n function CFFHeader(major, minor, hdrSize, offSize) {\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n }\n\n return CFFHeader;\n }();\n\n exports.CFFHeader = CFFHeader;\n\n var CFFStrings = function CFFStringsClosure() {\n function CFFStrings() {\n this.strings = [];\n }\n\n CFFStrings.prototype = {\n get: function CFFStrings_get(index) {\n if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n return CFFStandardStrings[index];\n }\n\n if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n }\n\n return CFFStandardStrings[0];\n },\n getSID: function CFFStrings_getSID(str) {\n var index = CFFStandardStrings.indexOf(str);\n\n if (index !== -1) {\n return index;\n }\n\n index = this.strings.indexOf(str);\n\n if (index !== -1) {\n return index + NUM_STANDARD_CFF_STRINGS;\n }\n\n return -1;\n },\n add: function CFFStrings_add(value) {\n this.strings.push(value);\n },\n\n get count() {\n return this.strings.length;\n }\n\n };\n return CFFStrings;\n }();\n\n exports.CFFStrings = CFFStrings;\n\n var CFFIndex = function CFFIndexClosure() {\n function CFFIndex() {\n this.objects = [];\n this.length = 0;\n }\n\n CFFIndex.prototype = {\n add: function CFFIndex_add(data) {\n this.length += data.length;\n this.objects.push(data);\n },\n set: function CFFIndex_set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n },\n get: function CFFIndex_get(index) {\n return this.objects[index];\n },\n\n get count() {\n return this.objects.length;\n }\n\n };\n return CFFIndex;\n }();\n\n exports.CFFIndex = CFFIndex;\n\n var CFFDict = function CFFDictClosure() {\n function CFFDict(tables, strings) {\n this.keyToNameMap = tables.keyToNameMap;\n this.nameToKeyMap = tables.nameToKeyMap;\n this.defaults = tables.defaults;\n this.types = tables.types;\n this.opcodes = tables.opcodes;\n this.order = tables.order;\n this.strings = strings;\n this.values = Object.create(null);\n }\n\n CFFDict.prototype = {\n setByKey: function CFFDict_setByKey(key, value) {\n if (!(key in this.keyToNameMap)) {\n return false;\n }\n\n var valueLength = value.length;\n\n if (valueLength === 0) {\n return true;\n }\n\n for (var i = 0; i < valueLength; i++) {\n if (isNaN(value[i])) {\n (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n return true;\n }\n }\n\n var type = this.types[key];\n\n if (type === \"num\" || type === \"sid\" || type === \"offset\") {\n value = value[0];\n }\n\n this.values[key] = value;\n return true;\n },\n setByName: function CFFDict_setByName(name, value) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \\\"\".concat(name, \"\\\"\"));\n }\n\n this.values[this.nameToKeyMap[name]] = value;\n },\n hasName: function CFFDict_hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n },\n getByName: function CFFDict_getByName(name) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \".concat(name, \"\\\"\"));\n }\n\n var key = this.nameToKeyMap[name];\n\n if (!(key in this.values)) {\n return this.defaults[key];\n }\n\n return this.values[key];\n },\n removeByName: function CFFDict_removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n };\n\n CFFDict.createTables = function CFFDict_createTables(layout) {\n var tables = {\n keyToNameMap: {},\n nameToKeyMap: {},\n defaults: {},\n types: {},\n opcodes: {},\n order: []\n };\n\n for (var i = 0, ii = layout.length; i < ii; ++i) {\n var entry = layout[i];\n var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n tables.keyToNameMap[key] = entry[1];\n tables.nameToKeyMap[entry[1]] = key;\n tables.types[key] = entry[2];\n tables.defaults[key] = entry[3];\n tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n tables.order.push(key);\n }\n\n return tables;\n };\n\n return CFFDict;\n }();\n\n var CFFTopDict = function CFFTopDictClosure() {\n var layout = [[[12, 30], \"ROS\", [\"sid\", \"sid\", \"num\"], null], [[12, 20], \"SyntheticBase\", \"num\", 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\", \"num\", 0], [[12, 2], \"ItalicAngle\", \"num\", 0], [[12, 3], \"UnderlinePosition\", \"num\", -100], [[12, 4], \"UnderlineThickness\", \"num\", 50], [[12, 5], \"PaintType\", \"num\", 0], [[12, 6], \"CharstringType\", \"num\", 2], [[12, 7], \"FontMatrix\", [\"num\", \"num\", \"num\", \"num\", \"num\", \"num\"], [0.001, 0, 0, 0.001, 0, 0]], [13, \"UniqueID\", \"num\", null], [5, \"FontBBox\", [\"num\", \"num\", \"num\", \"num\"], [0, 0, 0, 0]], [[12, 8], \"StrokeWidth\", \"num\", 0], [14, \"XUID\", \"array\", null], [15, \"charset\", \"offset\", 0], [16, \"Encoding\", \"offset\", 0], [17, \"CharStrings\", \"offset\", 0], [18, \"Private\", [\"offset\", \"offset\"], null], [[12, 21], \"PostScript\", \"sid\", null], [[12, 22], \"BaseFontName\", \"sid\", null], [[12, 23], \"BaseFontBlend\", \"delta\", null], [[12, 31], \"CIDFontVersion\", \"num\", 0], [[12, 32], \"CIDFontRevision\", \"num\", 0], [[12, 33], \"CIDFontType\", \"num\", 0], [[12, 34], \"CIDCount\", \"num\", 8720], [[12, 35], \"UIDBase\", \"num\", null], [[12, 37], \"FDSelect\", \"offset\", null], [[12, 36], \"FDArray\", \"offset\", null], [[12, 38], \"FontName\", \"sid\", null]];\n var tables = null;\n\n function CFFTopDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.privateDict = null;\n }\n\n CFFTopDict.prototype = Object.create(CFFDict.prototype);\n return CFFTopDict;\n }();\n\n exports.CFFTopDict = CFFTopDict;\n\n var CFFPrivateDict = function CFFPrivateDictClosure() {\n var layout = [[6, \"BlueValues\", \"delta\", null], [7, \"OtherBlues\", \"delta\", null], [8, \"FamilyBlues\", \"delta\", null], [9, \"FamilyOtherBlues\", \"delta\", null], [[12, 9], \"BlueScale\", \"num\", 0.039625], [[12, 10], \"BlueShift\", \"num\", 7], [[12, 11], \"BlueFuzz\", \"num\", 1], [10, \"StdHW\", \"num\", null], [11, \"StdVW\", \"num\", null], [[12, 12], \"StemSnapH\", \"delta\", null], [[12, 13], \"StemSnapV\", \"delta\", null], [[12, 14], \"ForceBold\", \"num\", 0], [[12, 17], \"LanguageGroup\", \"num\", 0], [[12, 18], \"ExpansionFactor\", \"num\", 0.06], [[12, 19], \"initialRandomSeed\", \"num\", 0], [20, \"defaultWidthX\", \"num\", 0], [21, \"nominalWidthX\", \"num\", 0], [19, \"Subrs\", \"offset\", null]];\n var tables = null;\n\n function CFFPrivateDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.subrsIndex = null;\n }\n\n CFFPrivateDict.prototype = Object.create(CFFDict.prototype);\n return CFFPrivateDict;\n }();\n\n exports.CFFPrivateDict = CFFPrivateDict;\n var CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n };\n\n var CFFCharset = function CFFCharsetClosure() {\n function CFFCharset(predefined, format, charset, raw) {\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n }\n\n return CFFCharset;\n }();\n\n exports.CFFCharset = CFFCharset;\n\n var CFFEncoding = function CFFEncodingClosure() {\n function CFFEncoding(predefined, format, encoding, raw) {\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n }\n\n return CFFEncoding;\n }();\n\n var CFFFDSelect = function CFFFDSelectClosure() {\n function CFFFDSelect(format, fdSelect) {\n this.format = format;\n this.fdSelect = fdSelect;\n }\n\n CFFFDSelect.prototype = {\n getFDIndex: function CFFFDSelect_get(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n\n return this.fdSelect[glyphIndex];\n }\n };\n return CFFFDSelect;\n }();\n\n exports.CFFFDSelect = CFFFDSelect;\n\n var CFFOffsetTracker = function CFFOffsetTrackerClosure() {\n function CFFOffsetTracker() {\n this.offsets = Object.create(null);\n }\n\n CFFOffsetTracker.prototype = {\n isTracking: function CFFOffsetTracker_isTracking(key) {\n return key in this.offsets;\n },\n track: function CFFOffsetTracker_track(key, location) {\n if (key in this.offsets) {\n throw new _util.FormatError(\"Already tracking location of \".concat(key));\n }\n\n this.offsets[key] = location;\n },\n offset: function CFFOffsetTracker_offset(value) {\n for (var key in this.offsets) {\n this.offsets[key] += value;\n }\n },\n setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {\n if (!(key in this.offsets)) {\n throw new _util.FormatError(\"Not tracking location of \".concat(key));\n }\n\n var data = output.data;\n var dataOffset = this.offsets[key];\n var size = 5;\n\n for (var i = 0, ii = values.length; i < ii; ++i) {\n var offset0 = i * size + dataOffset;\n var offset1 = offset0 + 1;\n var offset2 = offset0 + 2;\n var offset3 = offset0 + 3;\n var offset4 = offset0 + 4;\n\n if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n throw new _util.FormatError(\"writing to an offset that is not empty\");\n }\n\n var value = values[i];\n data[offset0] = 0x1d;\n data[offset1] = value >> 24 & 0xff;\n data[offset2] = value >> 16 & 0xff;\n data[offset3] = value >> 8 & 0xff;\n data[offset4] = value & 0xff;\n }\n }\n };\n return CFFOffsetTracker;\n }();\n\n var CFFCompiler = function CFFCompilerClosure() {\n function CFFCompiler(cff) {\n this.cff = cff;\n }\n\n CFFCompiler.prototype = {\n compile: function CFFCompiler_compile() {\n var cff = this.cff;\n var output = {\n data: [],\n length: 0,\n add: function CFFCompiler_add(data) {\n this.data = this.data.concat(data);\n this.length = this.data.length;\n }\n };\n var header = this.compileHeader(cff.header);\n output.add(header);\n var nameIndex = this.compileNameIndex(cff.names);\n output.add(nameIndex);\n\n if (cff.isCIDFont) {\n if (cff.topDict.hasName(\"FontMatrix\")) {\n var base = cff.topDict.getByName(\"FontMatrix\");\n cff.topDict.removeByName(\"FontMatrix\");\n\n for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n var subDict = cff.fdArray[i];\n var matrix = base.slice(0);\n\n if (subDict.hasName(\"FontMatrix\")) {\n matrix = _util.Util.transform(matrix, subDict.getByName(\"FontMatrix\"));\n }\n\n subDict.setByName(\"FontMatrix\", matrix);\n }\n }\n }\n\n cff.topDict.setByName(\"charset\", 0);\n var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n output.add(compiled.output);\n var topDictTracker = compiled.trackers[0];\n var stringIndex = this.compileStringIndex(cff.strings.strings);\n output.add(stringIndex);\n var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n output.add(globalSubrIndex);\n\n if (cff.encoding && cff.topDict.hasName(\"Encoding\")) {\n if (cff.encoding.predefined) {\n topDictTracker.setEntryLocation(\"Encoding\", [cff.encoding.format], output);\n } else {\n var encoding = this.compileEncoding(cff.encoding);\n topDictTracker.setEntryLocation(\"Encoding\", [output.length], output);\n output.add(encoding);\n }\n }\n\n var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);\n topDictTracker.setEntryLocation(\"charset\", [output.length], output);\n output.add(charset);\n var charStrings = this.compileCharStrings(cff.charStrings);\n topDictTracker.setEntryLocation(\"CharStrings\", [output.length], output);\n output.add(charStrings);\n\n if (cff.isCIDFont) {\n topDictTracker.setEntryLocation(\"FDSelect\", [output.length], output);\n var fdSelect = this.compileFDSelect(cff.fdSelect);\n output.add(fdSelect);\n compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n topDictTracker.setEntryLocation(\"FDArray\", [output.length], output);\n output.add(compiled.output);\n var fontDictTrackers = compiled.trackers;\n this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n }\n\n this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n output.add([0]);\n return output.data;\n },\n encodeNumber: function CFFCompiler_encodeNumber(value) {\n if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {\n return this.encodeInteger(value);\n }\n\n return this.encodeFloat(value);\n },\n encodeFloat: function CFFCompiler_encodeFloat(num) {\n var value = num.toString();\n var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n\n if (m) {\n var epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(num * epsilon) / epsilon).toString();\n }\n\n var nibbles = \"\";\n var i, ii;\n\n for (i = 0, ii = value.length; i < ii; ++i) {\n var a = value[i];\n\n if (a === \"e\") {\n nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n } else if (a === \".\") {\n nibbles += \"a\";\n } else if (a === \"-\") {\n nibbles += \"e\";\n } else {\n nibbles += a;\n }\n }\n\n nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n var out = [30];\n\n for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substring(i, i + 2), 16));\n }\n\n return out;\n },\n encodeInteger: function CFFCompiler_encodeInteger(value) {\n var code;\n\n if (value >= -107 && value <= 107) {\n code = [value + 139];\n } else if (value >= 108 && value <= 1131) {\n value = value - 108;\n code = [(value >> 8) + 247, value & 0xff];\n } else if (value >= -1131 && value <= -108) {\n value = -value - 108;\n code = [(value >> 8) + 251, value & 0xff];\n } else if (value >= -32768 && value <= 32767) {\n code = [0x1c, value >> 8 & 0xff, value & 0xff];\n } else {\n code = [0x1d, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff];\n }\n\n return code;\n },\n compileHeader: function CFFCompiler_compileHeader(header) {\n return [header.major, header.minor, header.hdrSize, header.offSize];\n },\n compileNameIndex: function CFFCompiler_compileNameIndex(names) {\n var nameIndex = new CFFIndex();\n\n for (var i = 0, ii = names.length; i < ii; ++i) {\n var name = names[i];\n var length = Math.min(name.length, 127);\n var sanitizedName = new Array(length);\n\n for (var j = 0; j < length; j++) {\n var char = name[j];\n\n if (char < \"!\" || char > \"~\" || char === \"[\" || char === \"]\" || char === \"(\" || char === \")\" || char === \"{\" || char === \"}\" || char === \"<\" || char === \">\" || char === \"/\" || char === \"%\") {\n char = \"_\";\n }\n\n sanitizedName[j] = char;\n }\n\n sanitizedName = sanitizedName.join(\"\");\n\n if (sanitizedName === \"\") {\n sanitizedName = \"Bad_Font_Name\";\n }\n\n nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n }\n\n return this.compileIndex(nameIndex);\n },\n compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) {\n var fontDictTrackers = [];\n var fdArrayIndex = new CFFIndex();\n\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n\n if (removeCidKeys) {\n fontDict.removeByName(\"CIDFontVersion\");\n fontDict.removeByName(\"CIDFontRevision\");\n fontDict.removeByName(\"CIDFontType\");\n fontDict.removeByName(\"CIDCount\");\n fontDict.removeByName(\"UIDBase\");\n }\n\n var fontDictTracker = new CFFOffsetTracker();\n var fontDictData = this.compileDict(fontDict, fontDictTracker);\n fontDictTrackers.push(fontDictTracker);\n fdArrayIndex.add(fontDictData);\n fontDictTracker.offset(length);\n }\n\n fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n return {\n trackers: fontDictTrackers,\n output: fdArrayIndex\n };\n },\n compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) {\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n var privateDict = fontDict.privateDict;\n\n if (!privateDict || !fontDict.hasName(\"Private\")) {\n throw new _util.FormatError(\"There must be a private dictionary.\");\n }\n\n var privateDictTracker = new CFFOffsetTracker();\n var privateDictData = this.compileDict(privateDict, privateDictTracker);\n var outputLength = output.length;\n privateDictTracker.offset(outputLength);\n\n if (!privateDictData.length) {\n outputLength = 0;\n }\n\n trackers[i].setEntryLocation(\"Private\", [privateDictData.length, outputLength], output);\n output.add(privateDictData);\n\n if (privateDict.subrsIndex && privateDict.hasName(\"Subrs\")) {\n var subrs = this.compileIndex(privateDict.subrsIndex);\n privateDictTracker.setEntryLocation(\"Subrs\", [privateDictData.length], output);\n output.add(subrs);\n }\n }\n },\n compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {\n var out = [];\n var order = dict.order;\n\n for (var i = 0; i < order.length; ++i) {\n var key = order[i];\n\n if (!(key in dict.values)) {\n continue;\n }\n\n var values = dict.values[key];\n var types = dict.types[key];\n\n if (!Array.isArray(types)) {\n types = [types];\n }\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n if (values.length === 0) {\n continue;\n }\n\n for (var j = 0, jj = types.length; j < jj; ++j) {\n var type = types[j];\n var value = values[j];\n\n switch (type) {\n case \"num\":\n case \"sid\":\n out = out.concat(this.encodeNumber(value));\n break;\n\n case \"offset\":\n var name = dict.keyToNameMap[key];\n\n if (!offsetTracker.isTracking(name)) {\n offsetTracker.track(name, out.length);\n }\n\n out = out.concat([0x1d, 0, 0, 0, 0]);\n break;\n\n case \"array\":\n case \"delta\":\n out = out.concat(this.encodeNumber(value));\n\n for (var k = 1, kk = values.length; k < kk; ++k) {\n out = out.concat(this.encodeNumber(values[k]));\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown data type of \".concat(type));\n }\n }\n\n out = out.concat(dict.opcodes[key]);\n }\n\n return out;\n },\n compileStringIndex: function CFFCompiler_compileStringIndex(strings) {\n var stringIndex = new CFFIndex();\n\n for (var i = 0, ii = strings.length; i < ii; ++i) {\n stringIndex.add((0, _util.stringToBytes)(strings[i]));\n }\n\n return this.compileIndex(stringIndex);\n },\n compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {\n var globalSubrIndex = this.cff.globalSubrIndex;\n this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n },\n compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {\n var charStringsIndex = new CFFIndex();\n\n for (var i = 0; i < charStrings.count; i++) {\n var glyph = charStrings.get(i);\n\n if (glyph.length === 0) {\n charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));\n continue;\n }\n\n charStringsIndex.add(glyph);\n }\n\n return this.compileIndex(charStringsIndex);\n },\n compileCharset: function CFFCompiler_compileCharset(charset, numGlyphs, strings, isCIDFont) {\n var out;\n var numGlyphsLessNotDef = numGlyphs - 1;\n\n if (isCIDFont) {\n out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xff, numGlyphsLessNotDef & 0xff]);\n } else {\n var length = 1 + numGlyphsLessNotDef * 2;\n out = new Uint8Array(length);\n out[0] = 0;\n var charsetIndex = 0;\n var numCharsets = charset.charset.length;\n var warned = false;\n\n for (var i = 1; i < out.length; i += 2) {\n var sid = 0;\n\n if (charsetIndex < numCharsets) {\n var name = charset.charset[charsetIndex++];\n sid = strings.getSID(name);\n\n if (sid === -1) {\n sid = 0;\n\n if (!warned) {\n warned = true;\n (0, _util.warn)(\"Couldn't find \".concat(name, \" in CFF strings\"));\n }\n }\n }\n\n out[i] = sid >> 8 & 0xff;\n out[i + 1] = sid & 0xff;\n }\n }\n\n return this.compileTypedArray(out);\n },\n compileEncoding: function CFFCompiler_compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n },\n compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {\n var format = fdSelect.format;\n var out, i;\n\n switch (format) {\n case 0:\n out = new Uint8Array(1 + fdSelect.fdSelect.length);\n out[0] = format;\n\n for (i = 0; i < fdSelect.fdSelect.length; i++) {\n out[i + 1] = fdSelect.fdSelect[i];\n }\n\n break;\n\n case 3:\n var start = 0;\n var lastFD = fdSelect.fdSelect[0];\n var ranges = [format, 0, 0, start >> 8 & 0xff, start & 0xff, lastFD];\n\n for (i = 1; i < fdSelect.fdSelect.length; i++) {\n var currentFD = fdSelect.fdSelect[i];\n\n if (currentFD !== lastFD) {\n ranges.push(i >> 8 & 0xff, i & 0xff, currentFD);\n lastFD = currentFD;\n }\n }\n\n var numRanges = (ranges.length - 3) / 3;\n ranges[1] = numRanges >> 8 & 0xff;\n ranges[2] = numRanges & 0xff;\n ranges.push(i >> 8 & 0xff, i & 0xff);\n out = new Uint8Array(ranges);\n break;\n }\n\n return this.compileTypedArray(out);\n },\n compileTypedArray: function CFFCompiler_compileTypedArray(data) {\n var out = [];\n\n for (var i = 0, ii = data.length; i < ii; ++i) {\n out[i] = data[i];\n }\n\n return out;\n },\n compileIndex: function CFFCompiler_compileIndex(index, trackers) {\n trackers = trackers || [];\n var objects = index.objects;\n var count = objects.length;\n\n if (count === 0) {\n return [0, 0, 0];\n }\n\n var data = [count >> 8 & 0xff, count & 0xff];\n var lastOffset = 1,\n i;\n\n for (i = 0; i < count; ++i) {\n lastOffset += objects[i].length;\n }\n\n var offsetSize;\n\n if (lastOffset < 0x100) {\n offsetSize = 1;\n } else if (lastOffset < 0x10000) {\n offsetSize = 2;\n } else if (lastOffset < 0x1000000) {\n offsetSize = 3;\n } else {\n offsetSize = 4;\n }\n\n data.push(offsetSize);\n var relativeOffset = 1;\n\n for (i = 0; i < count + 1; i++) {\n if (offsetSize === 1) {\n data.push(relativeOffset & 0xff);\n } else if (offsetSize === 2) {\n data.push(relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n } else if (offsetSize === 3) {\n data.push(relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n } else {\n data.push(relativeOffset >>> 24 & 0xff, relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n }\n\n if (objects[i]) {\n relativeOffset += objects[i].length;\n }\n }\n\n for (i = 0; i < count; i++) {\n if (trackers[i]) {\n trackers[i].offset(data.length);\n }\n\n for (var j = 0, jj = objects[i].length; j < jj; j++) {\n data.push(objects[i][j]);\n }\n }\n\n return data;\n }\n };\n return CFFCompiler;\n }();\n\n exports.CFFCompiler = CFFCompiler;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\n var ISOAdobeCharset = [\".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\"];\n exports.ISOAdobeCharset = ISOAdobeCharset;\n var ExpertCharset = [\".notdef\", \"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\"];\n exports.ExpertCharset = ExpertCharset;\n var ExpertSubsetCharset = [\".notdef\", \"space\", \"dollaroldstyle\", \"dollarsuperior\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"hyphensuperior\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"centoldstyle\", \"figuredash\", \"hypheninferior\", \"onequarter\", \"onehalf\", \"threequarters\", \"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\"];\n exports.ExpertSubsetCharset = ExpertSubsetCharset;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getEncoding = getEncoding;\n exports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\n var ExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"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\"];\n exports.ExpertEncoding = ExpertEncoding;\n var MacExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"centoldstyle\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"\", \"threequartersemdash\", \"\", \"questionsmall\", \"\", \"\", \"\", \"\", \"Ethsmall\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"\", \"\", \"\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hypheninferior\", \"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\", \"\", \"\", \"asuperior\", \"centsuperior\", \"\", \"\", \"\", \"\", \"Aacutesmall\", \"Agravesmall\", \"Acircumflexsmall\", \"Adieresissmall\", \"Atildesmall\", \"Aringsmall\", \"Ccedillasmall\", \"Eacutesmall\", \"Egravesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Iacutesmall\", \"Igravesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ntildesmall\", \"Oacutesmall\", \"Ogravesmall\", \"Ocircumflexsmall\", \"Odieresissmall\", \"Otildesmall\", \"Uacutesmall\", \"Ugravesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"\", \"eightsuperior\", \"fourinferior\", \"threeinferior\", \"sixinferior\", \"eightinferior\", \"seveninferior\", \"Scaronsmall\", \"\", \"centinferior\", \"twoinferior\", \"\", \"Dieresissmall\", \"\", \"Caronsmall\", \"osuperior\", \"fiveinferior\", \"\", \"commainferior\", \"periodinferior\", \"Yacutesmall\", \"\", \"dollarinferior\", \"\", \"\", \"Thornsmall\", \"\", \"nineinferior\", \"zeroinferior\", \"Zcaronsmall\", \"AEsmall\", \"Oslashsmall\", \"questiondownsmall\", \"oneinferior\", \"Lslashsmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"Cedillasmall\", \"\", \"\", \"\", \"\", \"\", \"OEsmall\", \"figuredash\", \"hyphensuperior\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"\", \"Ydieresissmall\", \"\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"ninesuperior\", \"zerosuperior\", \"\", \"esuperior\", \"rsuperior\", \"tsuperior\", \"\", \"\", \"isuperior\", \"ssuperior\", \"dsuperior\", \"\", \"\", \"\", \"\", \"\", \"lsuperior\", \"Ogoneksmall\", \"Brevesmall\", \"Macronsmall\", \"bsuperior\", \"nsuperior\", \"msuperior\", \"commasuperior\", \"periodsuperior\", \"Dotaccentsmall\", \"Ringsmall\", \"\", \"\", \"\", \"\"];\n var MacRomanEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"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\", \"space\", \"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\"];\n exports.MacRomanEncoding = MacRomanEncoding;\n var StandardEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"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\", \"\", \"\", \"\", \"\"];\n exports.StandardEncoding = StandardEncoding;\n var WinAnsiEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"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\", \"bullet\", \"Euro\", \"bullet\", \"quotesinglbase\", \"florin\", \"quotedblbase\", \"ellipsis\", \"dagger\", \"daggerdbl\", \"circumflex\", \"perthousand\", \"Scaron\", \"guilsinglleft\", \"OE\", \"bullet\", \"Zcaron\", \"bullet\", \"bullet\", \"quoteleft\", \"quoteright\", \"quotedblleft\", \"quotedblright\", \"bullet\", \"endash\", \"emdash\", \"tilde\", \"trademark\", \"scaron\", \"guilsinglright\", \"oe\", \"bullet\", \"zcaron\", \"Ydieresis\", \"space\", \"exclamdown\", \"cent\", \"sterling\", \"currency\", \"yen\", \"brokenbar\", \"section\", \"dieresis\", \"copyright\", \"ordfeminine\", \"guillemotleft\", \"logicalnot\", \"hyphen\", \"registered\", \"macron\", \"degree\", \"plusminus\", \"twosuperior\", \"threesuperior\", \"acute\", \"mu\", \"paragraph\", \"periodcentered\", \"cedilla\", \"onesuperior\", \"ordmasculine\", \"guillemotright\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondown\", \"Agrave\", \"Aacute\", \"Acircumflex\", \"Atilde\", \"Adieresis\", \"Aring\", \"AE\", \"Ccedilla\", \"Egrave\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Igrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Eth\", \"Ntilde\", \"Ograve\", \"Oacute\", \"Ocircumflex\", \"Otilde\", \"Odieresis\", \"multiply\", \"Oslash\", \"Ugrave\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Yacute\", \"Thorn\", \"germandbls\", \"agrave\", \"aacute\", \"acircumflex\", \"atilde\", \"adieresis\", \"aring\", \"ae\", \"ccedilla\", \"egrave\", \"eacute\", \"ecircumflex\", \"edieresis\", \"igrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"eth\", \"ntilde\", \"ograve\", \"oacute\", \"ocircumflex\", \"otilde\", \"odieresis\", \"divide\", \"oslash\", \"ugrave\", \"uacute\", \"ucircumflex\", \"udieresis\", \"yacute\", \"thorn\", \"ydieresis\"];\n exports.WinAnsiEncoding = WinAnsiEncoding;\n var SymbolSetEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"universal\", \"numbersign\", \"existential\", \"percent\", \"ampersand\", \"suchthat\", \"parenleft\", \"parenright\", \"asteriskmath\", \"plus\", \"comma\", \"minus\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"congruent\", \"Alpha\", \"Beta\", \"Chi\", \"Delta\", \"Epsilon\", \"Phi\", \"Gamma\", \"Eta\", \"Iota\", \"theta1\", \"Kappa\", \"Lambda\", \"Mu\", \"Nu\", \"Omicron\", \"Pi\", \"Theta\", \"Rho\", \"Sigma\", \"Tau\", \"Upsilon\", \"sigma1\", \"Omega\", \"Xi\", \"Psi\", \"Zeta\", \"bracketleft\", \"therefore\", \"bracketright\", \"perpendicular\", \"underscore\", \"radicalex\", \"alpha\", \"beta\", \"chi\", \"delta\", \"epsilon\", \"phi\", \"gamma\", \"eta\", \"iota\", \"phi1\", \"kappa\", \"lambda\", \"mu\", \"nu\", \"omicron\", \"pi\", \"theta\", \"rho\", \"sigma\", \"tau\", \"upsilon\", \"omega1\", \"omega\", \"xi\", \"psi\", \"zeta\", \"braceleft\", \"bar\", \"braceright\", \"similar\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"Euro\", \"Upsilon1\", \"minute\", \"lessequal\", \"fraction\", \"infinity\", \"florin\", \"club\", \"diamond\", \"heart\", \"spade\", \"arrowboth\", \"arrowleft\", \"arrowup\", \"arrowright\", \"arrowdown\", \"degree\", \"plusminus\", \"second\", \"greaterequal\", \"multiply\", \"proportional\", \"partialdiff\", \"bullet\", \"divide\", \"notequal\", \"equivalence\", \"approxequal\", \"ellipsis\", \"arrowvertex\", \"arrowhorizex\", \"carriagereturn\", \"aleph\", \"Ifraktur\", \"Rfraktur\", \"weierstrass\", \"circlemultiply\", \"circleplus\", \"emptyset\", \"intersection\", \"union\", \"propersuperset\", \"reflexsuperset\", \"notsubset\", \"propersubset\", \"reflexsubset\", \"element\", \"notelement\", \"angle\", \"gradient\", \"registerserif\", \"copyrightserif\", \"trademarkserif\", \"product\", \"radical\", \"dotmath\", \"logicalnot\", \"logicaland\", \"logicalor\", \"arrowdblboth\", \"arrowdblleft\", \"arrowdblup\", \"arrowdblright\", \"arrowdbldown\", \"lozenge\", \"angleleft\", \"registersans\", \"copyrightsans\", \"trademarksans\", \"summation\", \"parenlefttp\", \"parenleftex\", \"parenleftbt\", \"bracketlefttp\", \"bracketleftex\", \"bracketleftbt\", \"bracelefttp\", \"braceleftmid\", \"braceleftbt\", \"braceex\", \"\", \"angleright\", \"integral\", \"integraltp\", \"integralex\", \"integralbt\", \"parenrighttp\", \"parenrightex\", \"parenrightbt\", \"bracketrighttp\", \"bracketrightex\", \"bracketrightbt\", \"bracerighttp\", \"bracerightmid\", \"bracerightbt\", \"\"];\n exports.SymbolSetEncoding = SymbolSetEncoding;\n var ZapfDingbatsEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"a1\", \"a2\", \"a202\", \"a3\", \"a4\", \"a5\", \"a119\", \"a118\", \"a117\", \"a11\", \"a12\", \"a13\", \"a14\", \"a15\", \"a16\", \"a105\", \"a17\", \"a18\", \"a19\", \"a20\", \"a21\", \"a22\", \"a23\", \"a24\", \"a25\", \"a26\", \"a27\", \"a28\", \"a6\", \"a7\", \"a8\", \"a9\", \"a10\", \"a29\", \"a30\", \"a31\", \"a32\", \"a33\", \"a34\", \"a35\", \"a36\", \"a37\", \"a38\", \"a39\", \"a40\", \"a41\", \"a42\", \"a43\", \"a44\", \"a45\", \"a46\", \"a47\", \"a48\", \"a49\", \"a50\", \"a51\", \"a52\", \"a53\", \"a54\", \"a55\", \"a56\", \"a57\", \"a58\", \"a59\", \"a60\", \"a61\", \"a62\", \"a63\", \"a64\", \"a65\", \"a66\", \"a67\", \"a68\", \"a69\", \"a70\", \"a71\", \"a72\", \"a73\", \"a74\", \"a203\", \"a75\", \"a204\", \"a76\", \"a77\", \"a78\", \"a79\", \"a81\", \"a82\", \"a83\", \"a84\", \"a97\", \"a98\", \"a99\", \"a100\", \"\", \"a89\", \"a90\", \"a93\", \"a94\", \"a91\", \"a92\", \"a205\", \"a85\", \"a206\", \"a86\", \"a87\", \"a88\", \"a95\", \"a96\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"a101\", \"a102\", \"a103\", \"a104\", \"a106\", \"a107\", \"a108\", \"a112\", \"a111\", \"a110\", \"a109\", \"a120\", \"a121\", \"a122\", \"a123\", \"a124\", \"a125\", \"a126\", \"a127\", \"a128\", \"a129\", \"a130\", \"a131\", \"a132\", \"a133\", \"a134\", \"a135\", \"a136\", \"a137\", \"a138\", \"a139\", \"a140\", \"a141\", \"a142\", \"a143\", \"a144\", \"a145\", \"a146\", \"a147\", \"a148\", \"a149\", \"a150\", \"a151\", \"a152\", \"a153\", \"a154\", \"a155\", \"a156\", \"a157\", \"a158\", \"a159\", \"a160\", \"a161\", \"a163\", \"a164\", \"a196\", \"a165\", \"a192\", \"a166\", \"a167\", \"a168\", \"a169\", \"a170\", \"a171\", \"a172\", \"a173\", \"a162\", \"a174\", \"a175\", \"a176\", \"a177\", \"a178\", \"a179\", \"a193\", \"a180\", \"a199\", \"a181\", \"a200\", \"a182\", \"\", \"a201\", \"a183\", \"a184\", \"a197\", \"a185\", \"a194\", \"a198\", \"a186\", \"a195\", \"a187\", \"a188\", \"a189\", \"a190\", \"a191\", \"\"];\n exports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\n function getEncoding(encodingName) {\n switch (encodingName) {\n case \"WinAnsiEncoding\":\n return WinAnsiEncoding;\n\n case \"StandardEncoding\":\n return StandardEncoding;\n\n case \"MacRomanEncoding\":\n return MacRomanEncoding;\n\n case \"SymbolSetEncoding\":\n return SymbolSetEncoding;\n\n case \"ZapfDingbatsEncoding\":\n return ZapfDingbatsEncoding;\n\n case \"ExpertEncoding\":\n return ExpertEncoding;\n\n case \"MacExpertEncoding\":\n return MacExpertEncoding;\n\n default:\n return null;\n }\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n var getLookupTableFactory = __w_pdfjs_require__(7).getLookupTableFactory;\n\n var getGlyphsUnicode = getLookupTableFactory(function (t) {\n t[\"A\"] = 0x0041;\n t[\"AE\"] = 0x00c6;\n t[\"AEacute\"] = 0x01fc;\n t[\"AEmacron\"] = 0x01e2;\n t[\"AEsmall\"] = 0xf7e6;\n t[\"Aacute\"] = 0x00c1;\n t[\"Aacutesmall\"] = 0xf7e1;\n t[\"Abreve\"] = 0x0102;\n t[\"Abreveacute\"] = 0x1eae;\n t[\"Abrevecyrillic\"] = 0x04d0;\n t[\"Abrevedotbelow\"] = 0x1eb6;\n t[\"Abrevegrave\"] = 0x1eb0;\n t[\"Abrevehookabove\"] = 0x1eb2;\n t[\"Abrevetilde\"] = 0x1eb4;\n t[\"Acaron\"] = 0x01cd;\n t[\"Acircle\"] = 0x24b6;\n t[\"Acircumflex\"] = 0x00c2;\n t[\"Acircumflexacute\"] = 0x1ea4;\n t[\"Acircumflexdotbelow\"] = 0x1eac;\n t[\"Acircumflexgrave\"] = 0x1ea6;\n t[\"Acircumflexhookabove\"] = 0x1ea8;\n t[\"Acircumflexsmall\"] = 0xf7e2;\n t[\"Acircumflextilde\"] = 0x1eaa;\n t[\"Acute\"] = 0xf6c9;\n t[\"Acutesmall\"] = 0xf7b4;\n t[\"Acyrillic\"] = 0x0410;\n t[\"Adblgrave\"] = 0x0200;\n t[\"Adieresis\"] = 0x00c4;\n t[\"Adieresiscyrillic\"] = 0x04d2;\n t[\"Adieresismacron\"] = 0x01de;\n t[\"Adieresissmall\"] = 0xf7e4;\n t[\"Adotbelow\"] = 0x1ea0;\n t[\"Adotmacron\"] = 0x01e0;\n t[\"Agrave\"] = 0x00c0;\n t[\"Agravesmall\"] = 0xf7e0;\n t[\"Ahookabove\"] = 0x1ea2;\n t[\"Aiecyrillic\"] = 0x04d4;\n t[\"Ainvertedbreve\"] = 0x0202;\n t[\"Alpha\"] = 0x0391;\n t[\"Alphatonos\"] = 0x0386;\n t[\"Amacron\"] = 0x0100;\n t[\"Amonospace\"] = 0xff21;\n t[\"Aogonek\"] = 0x0104;\n t[\"Aring\"] = 0x00c5;\n t[\"Aringacute\"] = 0x01fa;\n t[\"Aringbelow\"] = 0x1e00;\n t[\"Aringsmall\"] = 0xf7e5;\n t[\"Asmall\"] = 0xf761;\n t[\"Atilde\"] = 0x00c3;\n t[\"Atildesmall\"] = 0xf7e3;\n t[\"Aybarmenian\"] = 0x0531;\n t[\"B\"] = 0x0042;\n t[\"Bcircle\"] = 0x24b7;\n t[\"Bdotaccent\"] = 0x1e02;\n t[\"Bdotbelow\"] = 0x1e04;\n t[\"Becyrillic\"] = 0x0411;\n t[\"Benarmenian\"] = 0x0532;\n t[\"Beta\"] = 0x0392;\n t[\"Bhook\"] = 0x0181;\n t[\"Blinebelow\"] = 0x1e06;\n t[\"Bmonospace\"] = 0xff22;\n t[\"Brevesmall\"] = 0xf6f4;\n t[\"Bsmall\"] = 0xf762;\n t[\"Btopbar\"] = 0x0182;\n t[\"C\"] = 0x0043;\n t[\"Caarmenian\"] = 0x053e;\n t[\"Cacute\"] = 0x0106;\n t[\"Caron\"] = 0xf6ca;\n t[\"Caronsmall\"] = 0xf6f5;\n t[\"Ccaron\"] = 0x010c;\n t[\"Ccedilla\"] = 0x00c7;\n t[\"Ccedillaacute\"] = 0x1e08;\n t[\"Ccedillasmall\"] = 0xf7e7;\n t[\"Ccircle\"] = 0x24b8;\n t[\"Ccircumflex\"] = 0x0108;\n t[\"Cdot\"] = 0x010a;\n t[\"Cdotaccent\"] = 0x010a;\n t[\"Cedillasmall\"] = 0xf7b8;\n t[\"Chaarmenian\"] = 0x0549;\n t[\"Cheabkhasiancyrillic\"] = 0x04bc;\n t[\"Checyrillic\"] = 0x0427;\n t[\"Chedescenderabkhasiancyrillic\"] = 0x04be;\n t[\"Chedescendercyrillic\"] = 0x04b6;\n t[\"Chedieresiscyrillic\"] = 0x04f4;\n t[\"Cheharmenian\"] = 0x0543;\n t[\"Chekhakassiancyrillic\"] = 0x04cb;\n t[\"Cheverticalstrokecyrillic\"] = 0x04b8;\n t[\"Chi\"] = 0x03a7;\n t[\"Chook\"] = 0x0187;\n t[\"Circumflexsmall\"] = 0xf6f6;\n t[\"Cmonospace\"] = 0xff23;\n t[\"Coarmenian\"] = 0x0551;\n t[\"Csmall\"] = 0xf763;\n t[\"D\"] = 0x0044;\n t[\"DZ\"] = 0x01f1;\n t[\"DZcaron\"] = 0x01c4;\n t[\"Daarmenian\"] = 0x0534;\n t[\"Dafrican\"] = 0x0189;\n t[\"Dcaron\"] = 0x010e;\n t[\"Dcedilla\"] = 0x1e10;\n t[\"Dcircle\"] = 0x24b9;\n t[\"Dcircumflexbelow\"] = 0x1e12;\n t[\"Dcroat\"] = 0x0110;\n t[\"Ddotaccent\"] = 0x1e0a;\n t[\"Ddotbelow\"] = 0x1e0c;\n t[\"Decyrillic\"] = 0x0414;\n t[\"Deicoptic\"] = 0x03ee;\n t[\"Delta\"] = 0x2206;\n t[\"Deltagreek\"] = 0x0394;\n t[\"Dhook\"] = 0x018a;\n t[\"Dieresis\"] = 0xf6cb;\n t[\"DieresisAcute\"] = 0xf6cc;\n t[\"DieresisGrave\"] = 0xf6cd;\n t[\"Dieresissmall\"] = 0xf7a8;\n t[\"Digammagreek\"] = 0x03dc;\n t[\"Djecyrillic\"] = 0x0402;\n t[\"Dlinebelow\"] = 0x1e0e;\n t[\"Dmonospace\"] = 0xff24;\n t[\"Dotaccentsmall\"] = 0xf6f7;\n t[\"Dslash\"] = 0x0110;\n t[\"Dsmall\"] = 0xf764;\n t[\"Dtopbar\"] = 0x018b;\n t[\"Dz\"] = 0x01f2;\n t[\"Dzcaron\"] = 0x01c5;\n t[\"Dzeabkhasiancyrillic\"] = 0x04e0;\n t[\"Dzecyrillic\"] = 0x0405;\n t[\"Dzhecyrillic\"] = 0x040f;\n t[\"E\"] = 0x0045;\n t[\"Eacute\"] = 0x00c9;\n t[\"Eacutesmall\"] = 0xf7e9;\n t[\"Ebreve\"] = 0x0114;\n t[\"Ecaron\"] = 0x011a;\n t[\"Ecedillabreve\"] = 0x1e1c;\n t[\"Echarmenian\"] = 0x0535;\n t[\"Ecircle\"] = 0x24ba;\n t[\"Ecircumflex\"] = 0x00ca;\n t[\"Ecircumflexacute\"] = 0x1ebe;\n t[\"Ecircumflexbelow\"] = 0x1e18;\n t[\"Ecircumflexdotbelow\"] = 0x1ec6;\n t[\"Ecircumflexgrave\"] = 0x1ec0;\n t[\"Ecircumflexhookabove\"] = 0x1ec2;\n t[\"Ecircumflexsmall\"] = 0xf7ea;\n t[\"Ecircumflextilde\"] = 0x1ec4;\n t[\"Ecyrillic\"] = 0x0404;\n t[\"Edblgrave\"] = 0x0204;\n t[\"Edieresis\"] = 0x00cb;\n t[\"Edieresissmall\"] = 0xf7eb;\n t[\"Edot\"] = 0x0116;\n t[\"Edotaccent\"] = 0x0116;\n t[\"Edotbelow\"] = 0x1eb8;\n t[\"Efcyrillic\"] = 0x0424;\n t[\"Egrave\"] = 0x00c8;\n t[\"Egravesmall\"] = 0xf7e8;\n t[\"Eharmenian\"] = 0x0537;\n t[\"Ehookabove\"] = 0x1eba;\n t[\"Eightroman\"] = 0x2167;\n t[\"Einvertedbreve\"] = 0x0206;\n t[\"Eiotifiedcyrillic\"] = 0x0464;\n t[\"Elcyrillic\"] = 0x041b;\n t[\"Elevenroman\"] = 0x216a;\n t[\"Emacron\"] = 0x0112;\n t[\"Emacronacute\"] = 0x1e16;\n t[\"Emacrongrave\"] = 0x1e14;\n t[\"Emcyrillic\"] = 0x041c;\n t[\"Emonospace\"] = 0xff25;\n t[\"Encyrillic\"] = 0x041d;\n t[\"Endescendercyrillic\"] = 0x04a2;\n t[\"Eng\"] = 0x014a;\n t[\"Enghecyrillic\"] = 0x04a4;\n t[\"Enhookcyrillic\"] = 0x04c7;\n t[\"Eogonek\"] = 0x0118;\n t[\"Eopen\"] = 0x0190;\n t[\"Epsilon\"] = 0x0395;\n t[\"Epsilontonos\"] = 0x0388;\n t[\"Ercyrillic\"] = 0x0420;\n t[\"Ereversed\"] = 0x018e;\n t[\"Ereversedcyrillic\"] = 0x042d;\n t[\"Escyrillic\"] = 0x0421;\n t[\"Esdescendercyrillic\"] = 0x04aa;\n t[\"Esh\"] = 0x01a9;\n t[\"Esmall\"] = 0xf765;\n t[\"Eta\"] = 0x0397;\n t[\"Etarmenian\"] = 0x0538;\n t[\"Etatonos\"] = 0x0389;\n t[\"Eth\"] = 0x00d0;\n t[\"Ethsmall\"] = 0xf7f0;\n t[\"Etilde\"] = 0x1ebc;\n t[\"Etildebelow\"] = 0x1e1a;\n t[\"Euro\"] = 0x20ac;\n t[\"Ezh\"] = 0x01b7;\n t[\"Ezhcaron\"] = 0x01ee;\n t[\"Ezhreversed\"] = 0x01b8;\n t[\"F\"] = 0x0046;\n t[\"Fcircle\"] = 0x24bb;\n t[\"Fdotaccent\"] = 0x1e1e;\n t[\"Feharmenian\"] = 0x0556;\n t[\"Feicoptic\"] = 0x03e4;\n t[\"Fhook\"] = 0x0191;\n t[\"Fitacyrillic\"] = 0x0472;\n t[\"Fiveroman\"] = 0x2164;\n t[\"Fmonospace\"] = 0xff26;\n t[\"Fourroman\"] = 0x2163;\n t[\"Fsmall\"] = 0xf766;\n t[\"G\"] = 0x0047;\n t[\"GBsquare\"] = 0x3387;\n t[\"Gacute\"] = 0x01f4;\n t[\"Gamma\"] = 0x0393;\n t[\"Gammaafrican\"] = 0x0194;\n t[\"Gangiacoptic\"] = 0x03ea;\n t[\"Gbreve\"] = 0x011e;\n t[\"Gcaron\"] = 0x01e6;\n t[\"Gcedilla\"] = 0x0122;\n t[\"Gcircle\"] = 0x24bc;\n t[\"Gcircumflex\"] = 0x011c;\n t[\"Gcommaaccent\"] = 0x0122;\n t[\"Gdot\"] = 0x0120;\n t[\"Gdotaccent\"] = 0x0120;\n t[\"Gecyrillic\"] = 0x0413;\n t[\"Ghadarmenian\"] = 0x0542;\n t[\"Ghemiddlehookcyrillic\"] = 0x0494;\n t[\"Ghestrokecyrillic\"] = 0x0492;\n t[\"Gheupturncyrillic\"] = 0x0490;\n t[\"Ghook\"] = 0x0193;\n t[\"Gimarmenian\"] = 0x0533;\n t[\"Gjecyrillic\"] = 0x0403;\n t[\"Gmacron\"] = 0x1e20;\n t[\"Gmonospace\"] = 0xff27;\n t[\"Grave\"] = 0xf6ce;\n t[\"Gravesmall\"] = 0xf760;\n t[\"Gsmall\"] = 0xf767;\n t[\"Gsmallhook\"] = 0x029b;\n t[\"Gstroke\"] = 0x01e4;\n t[\"H\"] = 0x0048;\n t[\"H18533\"] = 0x25cf;\n t[\"H18543\"] = 0x25aa;\n t[\"H18551\"] = 0x25ab;\n t[\"H22073\"] = 0x25a1;\n t[\"HPsquare\"] = 0x33cb;\n t[\"Haabkhasiancyrillic\"] = 0x04a8;\n t[\"Hadescendercyrillic\"] = 0x04b2;\n t[\"Hardsigncyrillic\"] = 0x042a;\n t[\"Hbar\"] = 0x0126;\n t[\"Hbrevebelow\"] = 0x1e2a;\n t[\"Hcedilla\"] = 0x1e28;\n t[\"Hcircle\"] = 0x24bd;\n t[\"Hcircumflex\"] = 0x0124;\n t[\"Hdieresis\"] = 0x1e26;\n t[\"Hdotaccent\"] = 0x1e22;\n t[\"Hdotbelow\"] = 0x1e24;\n t[\"Hmonospace\"] = 0xff28;\n t[\"Hoarmenian\"] = 0x0540;\n t[\"Horicoptic\"] = 0x03e8;\n t[\"Hsmall\"] = 0xf768;\n t[\"Hungarumlaut\"] = 0xf6cf;\n t[\"Hungarumlautsmall\"] = 0xf6f8;\n t[\"Hzsquare\"] = 0x3390;\n t[\"I\"] = 0x0049;\n t[\"IAcyrillic\"] = 0x042f;\n t[\"IJ\"] = 0x0132;\n t[\"IUcyrillic\"] = 0x042e;\n t[\"Iacute\"] = 0x00cd;\n t[\"Iacutesmall\"] = 0xf7ed;\n t[\"Ibreve\"] = 0x012c;\n t[\"Icaron\"] = 0x01cf;\n t[\"Icircle\"] = 0x24be;\n t[\"Icircumflex\"] = 0x00ce;\n t[\"Icircumflexsmall\"] = 0xf7ee;\n t[\"Icyrillic\"] = 0x0406;\n t[\"Idblgrave\"] = 0x0208;\n t[\"Idieresis\"] = 0x00cf;\n t[\"Idieresisacute\"] = 0x1e2e;\n t[\"Idieresiscyrillic\"] = 0x04e4;\n t[\"Idieresissmall\"] = 0xf7ef;\n t[\"Idot\"] = 0x0130;\n t[\"Idotaccent\"] = 0x0130;\n t[\"Idotbelow\"] = 0x1eca;\n t[\"Iebrevecyrillic\"] = 0x04d6;\n t[\"Iecyrillic\"] = 0x0415;\n t[\"Ifraktur\"] = 0x2111;\n t[\"Igrave\"] = 0x00cc;\n t[\"Igravesmall\"] = 0xf7ec;\n t[\"Ihookabove\"] = 0x1ec8;\n t[\"Iicyrillic\"] = 0x0418;\n t[\"Iinvertedbreve\"] = 0x020a;\n t[\"Iishortcyrillic\"] = 0x0419;\n t[\"Imacron\"] = 0x012a;\n t[\"Imacroncyrillic\"] = 0x04e2;\n t[\"Imonospace\"] = 0xff29;\n t[\"Iniarmenian\"] = 0x053b;\n t[\"Iocyrillic\"] = 0x0401;\n t[\"Iogonek\"] = 0x012e;\n t[\"Iota\"] = 0x0399;\n t[\"Iotaafrican\"] = 0x0196;\n t[\"Iotadieresis\"] = 0x03aa;\n t[\"Iotatonos\"] = 0x038a;\n t[\"Ismall\"] = 0xf769;\n t[\"Istroke\"] = 0x0197;\n t[\"Itilde\"] = 0x0128;\n t[\"Itildebelow\"] = 0x1e2c;\n t[\"Izhitsacyrillic\"] = 0x0474;\n t[\"Izhitsadblgravecyrillic\"] = 0x0476;\n t[\"J\"] = 0x004a;\n t[\"Jaarmenian\"] = 0x0541;\n t[\"Jcircle\"] = 0x24bf;\n t[\"Jcircumflex\"] = 0x0134;\n t[\"Jecyrillic\"] = 0x0408;\n t[\"Jheharmenian\"] = 0x054b;\n t[\"Jmonospace\"] = 0xff2a;\n t[\"Jsmall\"] = 0xf76a;\n t[\"K\"] = 0x004b;\n t[\"KBsquare\"] = 0x3385;\n t[\"KKsquare\"] = 0x33cd;\n t[\"Kabashkircyrillic\"] = 0x04a0;\n t[\"Kacute\"] = 0x1e30;\n t[\"Kacyrillic\"] = 0x041a;\n t[\"Kadescendercyrillic\"] = 0x049a;\n t[\"Kahookcyrillic\"] = 0x04c3;\n t[\"Kappa\"] = 0x039a;\n t[\"Kastrokecyrillic\"] = 0x049e;\n t[\"Kaverticalstrokecyrillic\"] = 0x049c;\n t[\"Kcaron\"] = 0x01e8;\n t[\"Kcedilla\"] = 0x0136;\n t[\"Kcircle\"] = 0x24c0;\n t[\"Kcommaaccent\"] = 0x0136;\n t[\"Kdotbelow\"] = 0x1e32;\n t[\"Keharmenian\"] = 0x0554;\n t[\"Kenarmenian\"] = 0x053f;\n t[\"Khacyrillic\"] = 0x0425;\n t[\"Kheicoptic\"] = 0x03e6;\n t[\"Khook\"] = 0x0198;\n t[\"Kjecyrillic\"] = 0x040c;\n t[\"Klinebelow\"] = 0x1e34;\n t[\"Kmonospace\"] = 0xff2b;\n t[\"Koppacyrillic\"] = 0x0480;\n t[\"Koppagreek\"] = 0x03de;\n t[\"Ksicyrillic\"] = 0x046e;\n t[\"Ksmall\"] = 0xf76b;\n t[\"L\"] = 0x004c;\n t[\"LJ\"] = 0x01c7;\n t[\"LL\"] = 0xf6bf;\n t[\"Lacute\"] = 0x0139;\n t[\"Lambda\"] = 0x039b;\n t[\"Lcaron\"] = 0x013d;\n t[\"Lcedilla\"] = 0x013b;\n t[\"Lcircle\"] = 0x24c1;\n t[\"Lcircumflexbelow\"] = 0x1e3c;\n t[\"Lcommaaccent\"] = 0x013b;\n t[\"Ldot\"] = 0x013f;\n t[\"Ldotaccent\"] = 0x013f;\n t[\"Ldotbelow\"] = 0x1e36;\n t[\"Ldotbelowmacron\"] = 0x1e38;\n t[\"Liwnarmenian\"] = 0x053c;\n t[\"Lj\"] = 0x01c8;\n t[\"Ljecyrillic\"] = 0x0409;\n t[\"Llinebelow\"] = 0x1e3a;\n t[\"Lmonospace\"] = 0xff2c;\n t[\"Lslash\"] = 0x0141;\n t[\"Lslashsmall\"] = 0xf6f9;\n t[\"Lsmall\"] = 0xf76c;\n t[\"M\"] = 0x004d;\n t[\"MBsquare\"] = 0x3386;\n t[\"Macron\"] = 0xf6d0;\n t[\"Macronsmall\"] = 0xf7af;\n t[\"Macute\"] = 0x1e3e;\n t[\"Mcircle\"] = 0x24c2;\n t[\"Mdotaccent\"] = 0x1e40;\n t[\"Mdotbelow\"] = 0x1e42;\n t[\"Menarmenian\"] = 0x0544;\n t[\"Mmonospace\"] = 0xff2d;\n t[\"Msmall\"] = 0xf76d;\n t[\"Mturned\"] = 0x019c;\n t[\"Mu\"] = 0x039c;\n t[\"N\"] = 0x004e;\n t[\"NJ\"] = 0x01ca;\n t[\"Nacute\"] = 0x0143;\n t[\"Ncaron\"] = 0x0147;\n t[\"Ncedilla\"] = 0x0145;\n t[\"Ncircle\"] = 0x24c3;\n t[\"Ncircumflexbelow\"] = 0x1e4a;\n t[\"Ncommaaccent\"] = 0x0145;\n t[\"Ndotaccent\"] = 0x1e44;\n t[\"Ndotbelow\"] = 0x1e46;\n t[\"Nhookleft\"] = 0x019d;\n t[\"Nineroman\"] = 0x2168;\n t[\"Nj\"] = 0x01cb;\n t[\"Njecyrillic\"] = 0x040a;\n t[\"Nlinebelow\"] = 0x1e48;\n t[\"Nmonospace\"] = 0xff2e;\n t[\"Nowarmenian\"] = 0x0546;\n t[\"Nsmall\"] = 0xf76e;\n t[\"Ntilde\"] = 0x00d1;\n t[\"Ntildesmall\"] = 0xf7f1;\n t[\"Nu\"] = 0x039d;\n t[\"O\"] = 0x004f;\n t[\"OE\"] = 0x0152;\n t[\"OEsmall\"] = 0xf6fa;\n t[\"Oacute\"] = 0x00d3;\n t[\"Oacutesmall\"] = 0xf7f3;\n t[\"Obarredcyrillic\"] = 0x04e8;\n t[\"Obarreddieresiscyrillic\"] = 0x04ea;\n t[\"Obreve\"] = 0x014e;\n t[\"Ocaron\"] = 0x01d1;\n t[\"Ocenteredtilde\"] = 0x019f;\n t[\"Ocircle\"] = 0x24c4;\n t[\"Ocircumflex\"] = 0x00d4;\n t[\"Ocircumflexacute\"] = 0x1ed0;\n t[\"Ocircumflexdotbelow\"] = 0x1ed8;\n t[\"Ocircumflexgrave\"] = 0x1ed2;\n t[\"Ocircumflexhookabove\"] = 0x1ed4;\n t[\"Ocircumflexsmall\"] = 0xf7f4;\n t[\"Ocircumflextilde\"] = 0x1ed6;\n t[\"Ocyrillic\"] = 0x041e;\n t[\"Odblacute\"] = 0x0150;\n t[\"Odblgrave\"] = 0x020c;\n t[\"Odieresis\"] = 0x00d6;\n t[\"Odieresiscyrillic\"] = 0x04e6;\n t[\"Odieresissmall\"] = 0xf7f6;\n t[\"Odotbelow\"] = 0x1ecc;\n t[\"Ogoneksmall\"] = 0xf6fb;\n t[\"Ograve\"] = 0x00d2;\n t[\"Ogravesmall\"] = 0xf7f2;\n t[\"Oharmenian\"] = 0x0555;\n t[\"Ohm\"] = 0x2126;\n t[\"Ohookabove\"] = 0x1ece;\n t[\"Ohorn\"] = 0x01a0;\n t[\"Ohornacute\"] = 0x1eda;\n t[\"Ohorndotbelow\"] = 0x1ee2;\n t[\"Ohorngrave\"] = 0x1edc;\n t[\"Ohornhookabove\"] = 0x1ede;\n t[\"Ohorntilde\"] = 0x1ee0;\n t[\"Ohungarumlaut\"] = 0x0150;\n t[\"Oi\"] = 0x01a2;\n t[\"Oinvertedbreve\"] = 0x020e;\n t[\"Omacron\"] = 0x014c;\n t[\"Omacronacute\"] = 0x1e52;\n t[\"Omacrongrave\"] = 0x1e50;\n t[\"Omega\"] = 0x2126;\n t[\"Omegacyrillic\"] = 0x0460;\n t[\"Omegagreek\"] = 0x03a9;\n t[\"Omegaroundcyrillic\"] = 0x047a;\n t[\"Omegatitlocyrillic\"] = 0x047c;\n t[\"Omegatonos\"] = 0x038f;\n t[\"Omicron\"] = 0x039f;\n t[\"Omicrontonos\"] = 0x038c;\n t[\"Omonospace\"] = 0xff2f;\n t[\"Oneroman\"] = 0x2160;\n t[\"Oogonek\"] = 0x01ea;\n t[\"Oogonekmacron\"] = 0x01ec;\n t[\"Oopen\"] = 0x0186;\n t[\"Oslash\"] = 0x00d8;\n t[\"Oslashacute\"] = 0x01fe;\n t[\"Oslashsmall\"] = 0xf7f8;\n t[\"Osmall\"] = 0xf76f;\n t[\"Ostrokeacute\"] = 0x01fe;\n t[\"Otcyrillic\"] = 0x047e;\n t[\"Otilde\"] = 0x00d5;\n t[\"Otildeacute\"] = 0x1e4c;\n t[\"Otildedieresis\"] = 0x1e4e;\n t[\"Otildesmall\"] = 0xf7f5;\n t[\"P\"] = 0x0050;\n t[\"Pacute\"] = 0x1e54;\n t[\"Pcircle\"] = 0x24c5;\n t[\"Pdotaccent\"] = 0x1e56;\n t[\"Pecyrillic\"] = 0x041f;\n t[\"Peharmenian\"] = 0x054a;\n t[\"Pemiddlehookcyrillic\"] = 0x04a6;\n t[\"Phi\"] = 0x03a6;\n t[\"Phook\"] = 0x01a4;\n t[\"Pi\"] = 0x03a0;\n t[\"Piwrarmenian\"] = 0x0553;\n t[\"Pmonospace\"] = 0xff30;\n t[\"Psi\"] = 0x03a8;\n t[\"Psicyrillic\"] = 0x0470;\n t[\"Psmall\"] = 0xf770;\n t[\"Q\"] = 0x0051;\n t[\"Qcircle\"] = 0x24c6;\n t[\"Qmonospace\"] = 0xff31;\n t[\"Qsmall\"] = 0xf771;\n t[\"R\"] = 0x0052;\n t[\"Raarmenian\"] = 0x054c;\n t[\"Racute\"] = 0x0154;\n t[\"Rcaron\"] = 0x0158;\n t[\"Rcedilla\"] = 0x0156;\n t[\"Rcircle\"] = 0x24c7;\n t[\"Rcommaaccent\"] = 0x0156;\n t[\"Rdblgrave\"] = 0x0210;\n t[\"Rdotaccent\"] = 0x1e58;\n t[\"Rdotbelow\"] = 0x1e5a;\n t[\"Rdotbelowmacron\"] = 0x1e5c;\n t[\"Reharmenian\"] = 0x0550;\n t[\"Rfraktur\"] = 0x211c;\n t[\"Rho\"] = 0x03a1;\n t[\"Ringsmall\"] = 0xf6fc;\n t[\"Rinvertedbreve\"] = 0x0212;\n t[\"Rlinebelow\"] = 0x1e5e;\n t[\"Rmonospace\"] = 0xff32;\n t[\"Rsmall\"] = 0xf772;\n t[\"Rsmallinverted\"] = 0x0281;\n t[\"Rsmallinvertedsuperior\"] = 0x02b6;\n t[\"S\"] = 0x0053;\n t[\"SF010000\"] = 0x250c;\n t[\"SF020000\"] = 0x2514;\n t[\"SF030000\"] = 0x2510;\n t[\"SF040000\"] = 0x2518;\n t[\"SF050000\"] = 0x253c;\n t[\"SF060000\"] = 0x252c;\n t[\"SF070000\"] = 0x2534;\n t[\"SF080000\"] = 0x251c;\n t[\"SF090000\"] = 0x2524;\n t[\"SF100000\"] = 0x2500;\n t[\"SF110000\"] = 0x2502;\n t[\"SF190000\"] = 0x2561;\n t[\"SF200000\"] = 0x2562;\n t[\"SF210000\"] = 0x2556;\n t[\"SF220000\"] = 0x2555;\n t[\"SF230000\"] = 0x2563;\n t[\"SF240000\"] = 0x2551;\n t[\"SF250000\"] = 0x2557;\n t[\"SF260000\"] = 0x255d;\n t[\"SF270000\"] = 0x255c;\n t[\"SF280000\"] = 0x255b;\n t[\"SF360000\"] = 0x255e;\n t[\"SF370000\"] = 0x255f;\n t[\"SF380000\"] = 0x255a;\n t[\"SF390000\"] = 0x2554;\n t[\"SF400000\"] = 0x2569;\n t[\"SF410000\"] = 0x2566;\n t[\"SF420000\"] = 0x2560;\n t[\"SF430000\"] = 0x2550;\n t[\"SF440000\"] = 0x256c;\n t[\"SF450000\"] = 0x2567;\n t[\"SF460000\"] = 0x2568;\n t[\"SF470000\"] = 0x2564;\n t[\"SF480000\"] = 0x2565;\n t[\"SF490000\"] = 0x2559;\n t[\"SF500000\"] = 0x2558;\n t[\"SF510000\"] = 0x2552;\n t[\"SF520000\"] = 0x2553;\n t[\"SF530000\"] = 0x256b;\n t[\"SF540000\"] = 0x256a;\n t[\"Sacute\"] = 0x015a;\n t[\"Sacutedotaccent\"] = 0x1e64;\n t[\"Sampigreek\"] = 0x03e0;\n t[\"Scaron\"] = 0x0160;\n t[\"Scarondotaccent\"] = 0x1e66;\n t[\"Scaronsmall\"] = 0xf6fd;\n t[\"Scedilla\"] = 0x015e;\n t[\"Schwa\"] = 0x018f;\n t[\"Schwacyrillic\"] = 0x04d8;\n t[\"Schwadieresiscyrillic\"] = 0x04da;\n t[\"Scircle\"] = 0x24c8;\n t[\"Scircumflex\"] = 0x015c;\n t[\"Scommaaccent\"] = 0x0218;\n t[\"Sdotaccent\"] = 0x1e60;\n t[\"Sdotbelow\"] = 0x1e62;\n t[\"Sdotbelowdotaccent\"] = 0x1e68;\n t[\"Seharmenian\"] = 0x054d;\n t[\"Sevenroman\"] = 0x2166;\n t[\"Shaarmenian\"] = 0x0547;\n t[\"Shacyrillic\"] = 0x0428;\n t[\"Shchacyrillic\"] = 0x0429;\n t[\"Sheicoptic\"] = 0x03e2;\n t[\"Shhacyrillic\"] = 0x04ba;\n t[\"Shimacoptic\"] = 0x03ec;\n t[\"Sigma\"] = 0x03a3;\n t[\"Sixroman\"] = 0x2165;\n t[\"Smonospace\"] = 0xff33;\n t[\"Softsigncyrillic\"] = 0x042c;\n t[\"Ssmall\"] = 0xf773;\n t[\"Stigmagreek\"] = 0x03da;\n t[\"T\"] = 0x0054;\n t[\"Tau\"] = 0x03a4;\n t[\"Tbar\"] = 0x0166;\n t[\"Tcaron\"] = 0x0164;\n t[\"Tcedilla\"] = 0x0162;\n t[\"Tcircle\"] = 0x24c9;\n t[\"Tcircumflexbelow\"] = 0x1e70;\n t[\"Tcommaaccent\"] = 0x0162;\n t[\"Tdotaccent\"] = 0x1e6a;\n t[\"Tdotbelow\"] = 0x1e6c;\n t[\"Tecyrillic\"] = 0x0422;\n t[\"Tedescendercyrillic\"] = 0x04ac;\n t[\"Tenroman\"] = 0x2169;\n t[\"Tetsecyrillic\"] = 0x04b4;\n t[\"Theta\"] = 0x0398;\n t[\"Thook\"] = 0x01ac;\n t[\"Thorn\"] = 0x00de;\n t[\"Thornsmall\"] = 0xf7fe;\n t[\"Threeroman\"] = 0x2162;\n t[\"Tildesmall\"] = 0xf6fe;\n t[\"Tiwnarmenian\"] = 0x054f;\n t[\"Tlinebelow\"] = 0x1e6e;\n t[\"Tmonospace\"] = 0xff34;\n t[\"Toarmenian\"] = 0x0539;\n t[\"Tonefive\"] = 0x01bc;\n t[\"Tonesix\"] = 0x0184;\n t[\"Tonetwo\"] = 0x01a7;\n t[\"Tretroflexhook\"] = 0x01ae;\n t[\"Tsecyrillic\"] = 0x0426;\n t[\"Tshecyrillic\"] = 0x040b;\n t[\"Tsmall\"] = 0xf774;\n t[\"Twelveroman\"] = 0x216b;\n t[\"Tworoman\"] = 0x2161;\n t[\"U\"] = 0x0055;\n t[\"Uacute\"] = 0x00da;\n t[\"Uacutesmall\"] = 0xf7fa;\n t[\"Ubreve\"] = 0x016c;\n t[\"Ucaron\"] = 0x01d3;\n t[\"Ucircle\"] = 0x24ca;\n t[\"Ucircumflex\"] = 0x00db;\n t[\"Ucircumflexbelow\"] = 0x1e76;\n t[\"Ucircumflexsmall\"] = 0xf7fb;\n t[\"Ucyrillic\"] = 0x0423;\n t[\"Udblacute\"] = 0x0170;\n t[\"Udblgrave\"] = 0x0214;\n t[\"Udieresis\"] = 0x00dc;\n t[\"Udieresisacute\"] = 0x01d7;\n t[\"Udieresisbelow\"] = 0x1e72;\n t[\"Udieresiscaron\"] = 0x01d9;\n t[\"Udieresiscyrillic\"] = 0x04f0;\n t[\"Udieresisgrave\"] = 0x01db;\n t[\"Udieresismacron\"] = 0x01d5;\n t[\"Udieresissmall\"] = 0xf7fc;\n t[\"Udotbelow\"] = 0x1ee4;\n t[\"Ugrave\"] = 0x00d9;\n t[\"Ugravesmall\"] = 0xf7f9;\n t[\"Uhookabove\"] = 0x1ee6;\n t[\"Uhorn\"] = 0x01af;\n t[\"Uhornacute\"] = 0x1ee8;\n t[\"Uhorndotbelow\"] = 0x1ef0;\n t[\"Uhorngrave\"] = 0x1eea;\n t[\"Uhornhookabove\"] = 0x1eec;\n t[\"Uhorntilde\"] = 0x1eee;\n t[\"Uhungarumlaut\"] = 0x0170;\n t[\"Uhungarumlautcyrillic\"] = 0x04f2;\n t[\"Uinvertedbreve\"] = 0x0216;\n t[\"Ukcyrillic\"] = 0x0478;\n t[\"Umacron\"] = 0x016a;\n t[\"Umacroncyrillic\"] = 0x04ee;\n t[\"Umacrondieresis\"] = 0x1e7a;\n t[\"Umonospace\"] = 0xff35;\n t[\"Uogonek\"] = 0x0172;\n t[\"Upsilon\"] = 0x03a5;\n t[\"Upsilon1\"] = 0x03d2;\n t[\"Upsilonacutehooksymbolgreek\"] = 0x03d3;\n t[\"Upsilonafrican\"] = 0x01b1;\n t[\"Upsilondieresis\"] = 0x03ab;\n t[\"Upsilondieresishooksymbolgreek\"] = 0x03d4;\n t[\"Upsilonhooksymbol\"] = 0x03d2;\n t[\"Upsilontonos\"] = 0x038e;\n t[\"Uring\"] = 0x016e;\n t[\"Ushortcyrillic\"] = 0x040e;\n t[\"Usmall\"] = 0xf775;\n t[\"Ustraightcyrillic\"] = 0x04ae;\n t[\"Ustraightstrokecyrillic\"] = 0x04b0;\n t[\"Utilde\"] = 0x0168;\n t[\"Utildeacute\"] = 0x1e78;\n t[\"Utildebelow\"] = 0x1e74;\n t[\"V\"] = 0x0056;\n t[\"Vcircle\"] = 0x24cb;\n t[\"Vdotbelow\"] = 0x1e7e;\n t[\"Vecyrillic\"] = 0x0412;\n t[\"Vewarmenian\"] = 0x054e;\n t[\"Vhook\"] = 0x01b2;\n t[\"Vmonospace\"] = 0xff36;\n t[\"Voarmenian\"] = 0x0548;\n t[\"Vsmall\"] = 0xf776;\n t[\"Vtilde\"] = 0x1e7c;\n t[\"W\"] = 0x0057;\n t[\"Wacute\"] = 0x1e82;\n t[\"Wcircle\"] = 0x24cc;\n t[\"Wcircumflex\"] = 0x0174;\n t[\"Wdieresis\"] = 0x1e84;\n t[\"Wdotaccent\"] = 0x1e86;\n t[\"Wdotbelow\"] = 0x1e88;\n t[\"Wgrave\"] = 0x1e80;\n t[\"Wmonospace\"] = 0xff37;\n t[\"Wsmall\"] = 0xf777;\n t[\"X\"] = 0x0058;\n t[\"Xcircle\"] = 0x24cd;\n t[\"Xdieresis\"] = 0x1e8c;\n t[\"Xdotaccent\"] = 0x1e8a;\n t[\"Xeharmenian\"] = 0x053d;\n t[\"Xi\"] = 0x039e;\n t[\"Xmonospace\"] = 0xff38;\n t[\"Xsmall\"] = 0xf778;\n t[\"Y\"] = 0x0059;\n t[\"Yacute\"] = 0x00dd;\n t[\"Yacutesmall\"] = 0xf7fd;\n t[\"Yatcyrillic\"] = 0x0462;\n t[\"Ycircle\"] = 0x24ce;\n t[\"Ycircumflex\"] = 0x0176;\n t[\"Ydieresis\"] = 0x0178;\n t[\"Ydieresissmall\"] = 0xf7ff;\n t[\"Ydotaccent\"] = 0x1e8e;\n t[\"Ydotbelow\"] = 0x1ef4;\n t[\"Yericyrillic\"] = 0x042b;\n t[\"Yerudieresiscyrillic\"] = 0x04f8;\n t[\"Ygrave\"] = 0x1ef2;\n t[\"Yhook\"] = 0x01b3;\n t[\"Yhookabove\"] = 0x1ef6;\n t[\"Yiarmenian\"] = 0x0545;\n t[\"Yicyrillic\"] = 0x0407;\n t[\"Yiwnarmenian\"] = 0x0552;\n t[\"Ymonospace\"] = 0xff39;\n t[\"Ysmall\"] = 0xf779;\n t[\"Ytilde\"] = 0x1ef8;\n t[\"Yusbigcyrillic\"] = 0x046a;\n t[\"Yusbigiotifiedcyrillic\"] = 0x046c;\n t[\"Yuslittlecyrillic\"] = 0x0466;\n t[\"Yuslittleiotifiedcyrillic\"] = 0x0468;\n t[\"Z\"] = 0x005a;\n t[\"Zaarmenian\"] = 0x0536;\n t[\"Zacute\"] = 0x0179;\n t[\"Zcaron\"] = 0x017d;\n t[\"Zcaronsmall\"] = 0xf6ff;\n t[\"Zcircle\"] = 0x24cf;\n t[\"Zcircumflex\"] = 0x1e90;\n t[\"Zdot\"] = 0x017b;\n t[\"Zdotaccent\"] = 0x017b;\n t[\"Zdotbelow\"] = 0x1e92;\n t[\"Zecyrillic\"] = 0x0417;\n t[\"Zedescendercyrillic\"] = 0x0498;\n t[\"Zedieresiscyrillic\"] = 0x04de;\n t[\"Zeta\"] = 0x0396;\n t[\"Zhearmenian\"] = 0x053a;\n t[\"Zhebrevecyrillic\"] = 0x04c1;\n t[\"Zhecyrillic\"] = 0x0416;\n t[\"Zhedescendercyrillic\"] = 0x0496;\n t[\"Zhedieresiscyrillic\"] = 0x04dc;\n t[\"Zlinebelow\"] = 0x1e94;\n t[\"Zmonospace\"] = 0xff3a;\n t[\"Zsmall\"] = 0xf77a;\n t[\"Zstroke\"] = 0x01b5;\n t[\"a\"] = 0x0061;\n t[\"aabengali\"] = 0x0986;\n t[\"aacute\"] = 0x00e1;\n t[\"aadeva\"] = 0x0906;\n t[\"aagujarati\"] = 0x0a86;\n t[\"aagurmukhi\"] = 0x0a06;\n t[\"aamatragurmukhi\"] = 0x0a3e;\n t[\"aarusquare\"] = 0x3303;\n t[\"aavowelsignbengali\"] = 0x09be;\n t[\"aavowelsigndeva\"] = 0x093e;\n t[\"aavowelsigngujarati\"] = 0x0abe;\n t[\"abbreviationmarkarmenian\"] = 0x055f;\n t[\"abbreviationsigndeva\"] = 0x0970;\n t[\"abengali\"] = 0x0985;\n t[\"abopomofo\"] = 0x311a;\n t[\"abreve\"] = 0x0103;\n t[\"abreveacute\"] = 0x1eaf;\n t[\"abrevecyrillic\"] = 0x04d1;\n t[\"abrevedotbelow\"] = 0x1eb7;\n t[\"abrevegrave\"] = 0x1eb1;\n t[\"abrevehookabove\"] = 0x1eb3;\n t[\"abrevetilde\"] = 0x1eb5;\n t[\"acaron\"] = 0x01ce;\n t[\"acircle\"] = 0x24d0;\n t[\"acircumflex\"] = 0x00e2;\n t[\"acircumflexacute\"] = 0x1ea5;\n t[\"acircumflexdotbelow\"] = 0x1ead;\n t[\"acircumflexgrave\"] = 0x1ea7;\n t[\"acircumflexhookabove\"] = 0x1ea9;\n t[\"acircumflextilde\"] = 0x1eab;\n t[\"acute\"] = 0x00b4;\n t[\"acutebelowcmb\"] = 0x0317;\n t[\"acutecmb\"] = 0x0301;\n t[\"acutecomb\"] = 0x0301;\n t[\"acutedeva\"] = 0x0954;\n t[\"acutelowmod\"] = 0x02cf;\n t[\"acutetonecmb\"] = 0x0341;\n t[\"acyrillic\"] = 0x0430;\n t[\"adblgrave\"] = 0x0201;\n t[\"addakgurmukhi\"] = 0x0a71;\n t[\"adeva\"] = 0x0905;\n t[\"adieresis\"] = 0x00e4;\n t[\"adieresiscyrillic\"] = 0x04d3;\n t[\"adieresismacron\"] = 0x01df;\n t[\"adotbelow\"] = 0x1ea1;\n t[\"adotmacron\"] = 0x01e1;\n t[\"ae\"] = 0x00e6;\n t[\"aeacute\"] = 0x01fd;\n t[\"aekorean\"] = 0x3150;\n t[\"aemacron\"] = 0x01e3;\n t[\"afii00208\"] = 0x2015;\n t[\"afii08941\"] = 0x20a4;\n t[\"afii10017\"] = 0x0410;\n t[\"afii10018\"] = 0x0411;\n t[\"afii10019\"] = 0x0412;\n t[\"afii10020\"] = 0x0413;\n t[\"afii10021\"] = 0x0414;\n t[\"afii10022\"] = 0x0415;\n t[\"afii10023\"] = 0x0401;\n t[\"afii10024\"] = 0x0416;\n t[\"afii10025\"] = 0x0417;\n t[\"afii10026\"] = 0x0418;\n t[\"afii10027\"] = 0x0419;\n t[\"afii10028\"] = 0x041a;\n t[\"afii10029\"] = 0x041b;\n t[\"afii10030\"] = 0x041c;\n t[\"afii10031\"] = 0x041d;\n t[\"afii10032\"] = 0x041e;\n t[\"afii10033\"] = 0x041f;\n t[\"afii10034\"] = 0x0420;\n t[\"afii10035\"] = 0x0421;\n t[\"afii10036\"] = 0x0422;\n t[\"afii10037\"] = 0x0423;\n t[\"afii10038\"] = 0x0424;\n t[\"afii10039\"] = 0x0425;\n t[\"afii10040\"] = 0x0426;\n t[\"afii10041\"] = 0x0427;\n t[\"afii10042\"] = 0x0428;\n t[\"afii10043\"] = 0x0429;\n t[\"afii10044\"] = 0x042a;\n t[\"afii10045\"] = 0x042b;\n t[\"afii10046\"] = 0x042c;\n t[\"afii10047\"] = 0x042d;\n t[\"afii10048\"] = 0x042e;\n t[\"afii10049\"] = 0x042f;\n t[\"afii10050\"] = 0x0490;\n t[\"afii10051\"] = 0x0402;\n t[\"afii10052\"] = 0x0403;\n t[\"afii10053\"] = 0x0404;\n t[\"afii10054\"] = 0x0405;\n t[\"afii10055\"] = 0x0406;\n t[\"afii10056\"] = 0x0407;\n t[\"afii10057\"] = 0x0408;\n t[\"afii10058\"] = 0x0409;\n t[\"afii10059\"] = 0x040a;\n t[\"afii10060\"] = 0x040b;\n t[\"afii10061\"] = 0x040c;\n t[\"afii10062\"] = 0x040e;\n t[\"afii10063\"] = 0xf6c4;\n t[\"afii10064\"] = 0xf6c5;\n t[\"afii10065\"] = 0x0430;\n t[\"afii10066\"] = 0x0431;\n t[\"afii10067\"] = 0x0432;\n t[\"afii10068\"] = 0x0433;\n t[\"afii10069\"] = 0x0434;\n t[\"afii10070\"] = 0x0435;\n t[\"afii10071\"] = 0x0451;\n t[\"afii10072\"] = 0x0436;\n t[\"afii10073\"] = 0x0437;\n t[\"afii10074\"] = 0x0438;\n t[\"afii10075\"] = 0x0439;\n t[\"afii10076\"] = 0x043a;\n t[\"afii10077\"] = 0x043b;\n t[\"afii10078\"] = 0x043c;\n t[\"afii10079\"] = 0x043d;\n t[\"afii10080\"] = 0x043e;\n t[\"afii10081\"] = 0x043f;\n t[\"afii10082\"] = 0x0440;\n t[\"afii10083\"] = 0x0441;\n t[\"afii10084\"] = 0x0442;\n t[\"afii10085\"] = 0x0443;\n t[\"afii10086\"] = 0x0444;\n t[\"afii10087\"] = 0x0445;\n t[\"afii10088\"] = 0x0446;\n t[\"afii10089\"] = 0x0447;\n t[\"afii10090\"] = 0x0448;\n t[\"afii10091\"] = 0x0449;\n t[\"afii10092\"] = 0x044a;\n t[\"afii10093\"] = 0x044b;\n t[\"afii10094\"] = 0x044c;\n t[\"afii10095\"] = 0x044d;\n t[\"afii10096\"] = 0x044e;\n t[\"afii10097\"] = 0x044f;\n t[\"afii10098\"] = 0x0491;\n t[\"afii10099\"] = 0x0452;\n t[\"afii10100\"] = 0x0453;\n t[\"afii10101\"] = 0x0454;\n t[\"afii10102\"] = 0x0455;\n t[\"afii10103\"] = 0x0456;\n t[\"afii10104\"] = 0x0457;\n t[\"afii10105\"] = 0x0458;\n t[\"afii10106\"] = 0x0459;\n t[\"afii10107\"] = 0x045a;\n t[\"afii10108\"] = 0x045b;\n t[\"afii10109\"] = 0x045c;\n t[\"afii10110\"] = 0x045e;\n t[\"afii10145\"] = 0x040f;\n t[\"afii10146\"] = 0x0462;\n t[\"afii10147\"] = 0x0472;\n t[\"afii10148\"] = 0x0474;\n t[\"afii10192\"] = 0xf6c6;\n t[\"afii10193\"] = 0x045f;\n t[\"afii10194\"] = 0x0463;\n t[\"afii10195\"] = 0x0473;\n t[\"afii10196\"] = 0x0475;\n t[\"afii10831\"] = 0xf6c7;\n t[\"afii10832\"] = 0xf6c8;\n t[\"afii10846\"] = 0x04d9;\n t[\"afii299\"] = 0x200e;\n t[\"afii300\"] = 0x200f;\n t[\"afii301\"] = 0x200d;\n t[\"afii57381\"] = 0x066a;\n t[\"afii57388\"] = 0x060c;\n t[\"afii57392\"] = 0x0660;\n t[\"afii57393\"] = 0x0661;\n t[\"afii57394\"] = 0x0662;\n t[\"afii57395\"] = 0x0663;\n t[\"afii57396\"] = 0x0664;\n t[\"afii57397\"] = 0x0665;\n t[\"afii57398\"] = 0x0666;\n t[\"afii57399\"] = 0x0667;\n t[\"afii57400\"] = 0x0668;\n t[\"afii57401\"] = 0x0669;\n t[\"afii57403\"] = 0x061b;\n t[\"afii57407\"] = 0x061f;\n t[\"afii57409\"] = 0x0621;\n t[\"afii57410\"] = 0x0622;\n t[\"afii57411\"] = 0x0623;\n t[\"afii57412\"] = 0x0624;\n t[\"afii57413\"] = 0x0625;\n t[\"afii57414\"] = 0x0626;\n t[\"afii57415\"] = 0x0627;\n t[\"afii57416\"] = 0x0628;\n t[\"afii57417\"] = 0x0629;\n t[\"afii57418\"] = 0x062a;\n t[\"afii57419\"] = 0x062b;\n t[\"afii57420\"] = 0x062c;\n t[\"afii57421\"] = 0x062d;\n t[\"afii57422\"] = 0x062e;\n t[\"afii57423\"] = 0x062f;\n t[\"afii57424\"] = 0x0630;\n t[\"afii57425\"] = 0x0631;\n t[\"afii57426\"] = 0x0632;\n t[\"afii57427\"] = 0x0633;\n t[\"afii57428\"] = 0x0634;\n t[\"afii57429\"] = 0x0635;\n t[\"afii57430\"] = 0x0636;\n t[\"afii57431\"] = 0x0637;\n t[\"afii57432\"] = 0x0638;\n t[\"afii57433\"] = 0x0639;\n t[\"afii57434\"] = 0x063a;\n t[\"afii57440\"] = 0x0640;\n t[\"afii57441\"] = 0x0641;\n t[\"afii57442\"] = 0x0642;\n t[\"afii57443\"] = 0x0643;\n t[\"afii57444\"] = 0x0644;\n t[\"afii57445\"] = 0x0645;\n t[\"afii57446\"] = 0x0646;\n t[\"afii57448\"] = 0x0648;\n t[\"afii57449\"] = 0x0649;\n t[\"afii57450\"] = 0x064a;\n t[\"afii57451\"] = 0x064b;\n t[\"afii57452\"] = 0x064c;\n t[\"afii57453\"] = 0x064d;\n t[\"afii57454\"] = 0x064e;\n t[\"afii57455\"] = 0x064f;\n t[\"afii57456\"] = 0x0650;\n t[\"afii57457\"] = 0x0651;\n t[\"afii57458\"] = 0x0652;\n t[\"afii57470\"] = 0x0647;\n t[\"afii57505\"] = 0x06a4;\n t[\"afii57506\"] = 0x067e;\n t[\"afii57507\"] = 0x0686;\n t[\"afii57508\"] = 0x0698;\n t[\"afii57509\"] = 0x06af;\n t[\"afii57511\"] = 0x0679;\n t[\"afii57512\"] = 0x0688;\n t[\"afii57513\"] = 0x0691;\n t[\"afii57514\"] = 0x06ba;\n t[\"afii57519\"] = 0x06d2;\n t[\"afii57534\"] = 0x06d5;\n t[\"afii57636\"] = 0x20aa;\n t[\"afii57645\"] = 0x05be;\n t[\"afii57658\"] = 0x05c3;\n t[\"afii57664\"] = 0x05d0;\n t[\"afii57665\"] = 0x05d1;\n t[\"afii57666\"] = 0x05d2;\n t[\"afii57667\"] = 0x05d3;\n t[\"afii57668\"] = 0x05d4;\n t[\"afii57669\"] = 0x05d5;\n t[\"afii57670\"] = 0x05d6;\n t[\"afii57671\"] = 0x05d7;\n t[\"afii57672\"] = 0x05d8;\n t[\"afii57673\"] = 0x05d9;\n t[\"afii57674\"] = 0x05da;\n t[\"afii57675\"] = 0x05db;\n t[\"afii57676\"] = 0x05dc;\n t[\"afii57677\"] = 0x05dd;\n t[\"afii57678\"] = 0x05de;\n t[\"afii57679\"] = 0x05df;\n t[\"afii57680\"] = 0x05e0;\n t[\"afii57681\"] = 0x05e1;\n t[\"afii57682\"] = 0x05e2;\n t[\"afii57683\"] = 0x05e3;\n t[\"afii57684\"] = 0x05e4;\n t[\"afii57685\"] = 0x05e5;\n t[\"afii57686\"] = 0x05e6;\n t[\"afii57687\"] = 0x05e7;\n t[\"afii57688\"] = 0x05e8;\n t[\"afii57689\"] = 0x05e9;\n t[\"afii57690\"] = 0x05ea;\n t[\"afii57694\"] = 0xfb2a;\n t[\"afii57695\"] = 0xfb2b;\n t[\"afii57700\"] = 0xfb4b;\n t[\"afii57705\"] = 0xfb1f;\n t[\"afii57716\"] = 0x05f0;\n t[\"afii57717\"] = 0x05f1;\n t[\"afii57718\"] = 0x05f2;\n t[\"afii57723\"] = 0xfb35;\n t[\"afii57793\"] = 0x05b4;\n t[\"afii57794\"] = 0x05b5;\n t[\"afii57795\"] = 0x05b6;\n t[\"afii57796\"] = 0x05bb;\n t[\"afii57797\"] = 0x05b8;\n t[\"afii57798\"] = 0x05b7;\n t[\"afii57799\"] = 0x05b0;\n t[\"afii57800\"] = 0x05b2;\n t[\"afii57801\"] = 0x05b1;\n t[\"afii57802\"] = 0x05b3;\n t[\"afii57803\"] = 0x05c2;\n t[\"afii57804\"] = 0x05c1;\n t[\"afii57806\"] = 0x05b9;\n t[\"afii57807\"] = 0x05bc;\n t[\"afii57839\"] = 0x05bd;\n t[\"afii57841\"] = 0x05bf;\n t[\"afii57842\"] = 0x05c0;\n t[\"afii57929\"] = 0x02bc;\n t[\"afii61248\"] = 0x2105;\n t[\"afii61289\"] = 0x2113;\n t[\"afii61352\"] = 0x2116;\n t[\"afii61573\"] = 0x202c;\n t[\"afii61574\"] = 0x202d;\n t[\"afii61575\"] = 0x202e;\n t[\"afii61664\"] = 0x200c;\n t[\"afii63167\"] = 0x066d;\n t[\"afii64937\"] = 0x02bd;\n t[\"agrave\"] = 0x00e0;\n t[\"agujarati\"] = 0x0a85;\n t[\"agurmukhi\"] = 0x0a05;\n t[\"ahiragana\"] = 0x3042;\n t[\"ahookabove\"] = 0x1ea3;\n t[\"aibengali\"] = 0x0990;\n t[\"aibopomofo\"] = 0x311e;\n t[\"aideva\"] = 0x0910;\n t[\"aiecyrillic\"] = 0x04d5;\n t[\"aigujarati\"] = 0x0a90;\n t[\"aigurmukhi\"] = 0x0a10;\n t[\"aimatragurmukhi\"] = 0x0a48;\n t[\"ainarabic\"] = 0x0639;\n t[\"ainfinalarabic\"] = 0xfeca;\n t[\"aininitialarabic\"] = 0xfecb;\n t[\"ainmedialarabic\"] = 0xfecc;\n t[\"ainvertedbreve\"] = 0x0203;\n t[\"aivowelsignbengali\"] = 0x09c8;\n t[\"aivowelsigndeva\"] = 0x0948;\n t[\"aivowelsigngujarati\"] = 0x0ac8;\n t[\"akatakana\"] = 0x30a2;\n t[\"akatakanahalfwidth\"] = 0xff71;\n t[\"akorean\"] = 0x314f;\n t[\"alef\"] = 0x05d0;\n t[\"alefarabic\"] = 0x0627;\n t[\"alefdageshhebrew\"] = 0xfb30;\n t[\"aleffinalarabic\"] = 0xfe8e;\n t[\"alefhamzaabovearabic\"] = 0x0623;\n t[\"alefhamzaabovefinalarabic\"] = 0xfe84;\n t[\"alefhamzabelowarabic\"] = 0x0625;\n t[\"alefhamzabelowfinalarabic\"] = 0xfe88;\n t[\"alefhebrew\"] = 0x05d0;\n t[\"aleflamedhebrew\"] = 0xfb4f;\n t[\"alefmaddaabovearabic\"] = 0x0622;\n t[\"alefmaddaabovefinalarabic\"] = 0xfe82;\n t[\"alefmaksuraarabic\"] = 0x0649;\n t[\"alefmaksurafinalarabic\"] = 0xfef0;\n t[\"alefmaksurainitialarabic\"] = 0xfef3;\n t[\"alefmaksuramedialarabic\"] = 0xfef4;\n t[\"alefpatahhebrew\"] = 0xfb2e;\n t[\"alefqamatshebrew\"] = 0xfb2f;\n t[\"aleph\"] = 0x2135;\n t[\"allequal\"] = 0x224c;\n t[\"alpha\"] = 0x03b1;\n t[\"alphatonos\"] = 0x03ac;\n t[\"amacron\"] = 0x0101;\n t[\"amonospace\"] = 0xff41;\n t[\"ampersand\"] = 0x0026;\n t[\"ampersandmonospace\"] = 0xff06;\n t[\"ampersandsmall\"] = 0xf726;\n t[\"amsquare\"] = 0x33c2;\n t[\"anbopomofo\"] = 0x3122;\n t[\"angbopomofo\"] = 0x3124;\n t[\"angbracketleft\"] = 0x3008;\n t[\"angbracketright\"] = 0x3009;\n t[\"angkhankhuthai\"] = 0x0e5a;\n t[\"angle\"] = 0x2220;\n t[\"anglebracketleft\"] = 0x3008;\n t[\"anglebracketleftvertical\"] = 0xfe3f;\n t[\"anglebracketright\"] = 0x3009;\n t[\"anglebracketrightvertical\"] = 0xfe40;\n t[\"angleleft\"] = 0x2329;\n t[\"angleright\"] = 0x232a;\n t[\"angstrom\"] = 0x212b;\n t[\"anoteleia\"] = 0x0387;\n t[\"anudattadeva\"] = 0x0952;\n t[\"anusvarabengali\"] = 0x0982;\n t[\"anusvaradeva\"] = 0x0902;\n t[\"anusvaragujarati\"] = 0x0a82;\n t[\"aogonek\"] = 0x0105;\n t[\"apaatosquare\"] = 0x3300;\n t[\"aparen\"] = 0x249c;\n t[\"apostrophearmenian\"] = 0x055a;\n t[\"apostrophemod\"] = 0x02bc;\n t[\"apple\"] = 0xf8ff;\n t[\"approaches\"] = 0x2250;\n t[\"approxequal\"] = 0x2248;\n t[\"approxequalorimage\"] = 0x2252;\n t[\"approximatelyequal\"] = 0x2245;\n t[\"araeaekorean\"] = 0x318e;\n t[\"araeakorean\"] = 0x318d;\n t[\"arc\"] = 0x2312;\n t[\"arighthalfring\"] = 0x1e9a;\n t[\"aring\"] = 0x00e5;\n t[\"aringacute\"] = 0x01fb;\n t[\"aringbelow\"] = 0x1e01;\n t[\"arrowboth\"] = 0x2194;\n t[\"arrowdashdown\"] = 0x21e3;\n t[\"arrowdashleft\"] = 0x21e0;\n t[\"arrowdashright\"] = 0x21e2;\n t[\"arrowdashup\"] = 0x21e1;\n t[\"arrowdblboth\"] = 0x21d4;\n t[\"arrowdbldown\"] = 0x21d3;\n t[\"arrowdblleft\"] = 0x21d0;\n t[\"arrowdblright\"] = 0x21d2;\n t[\"arrowdblup\"] = 0x21d1;\n t[\"arrowdown\"] = 0x2193;\n t[\"arrowdownleft\"] = 0x2199;\n t[\"arrowdownright\"] = 0x2198;\n t[\"arrowdownwhite\"] = 0x21e9;\n t[\"arrowheaddownmod\"] = 0x02c5;\n t[\"arrowheadleftmod\"] = 0x02c2;\n t[\"arrowheadrightmod\"] = 0x02c3;\n t[\"arrowheadupmod\"] = 0x02c4;\n t[\"arrowhorizex\"] = 0xf8e7;\n t[\"arrowleft\"] = 0x2190;\n t[\"arrowleftdbl\"] = 0x21d0;\n t[\"arrowleftdblstroke\"] = 0x21cd;\n t[\"arrowleftoverright\"] = 0x21c6;\n t[\"arrowleftwhite\"] = 0x21e6;\n t[\"arrowright\"] = 0x2192;\n t[\"arrowrightdblstroke\"] = 0x21cf;\n t[\"arrowrightheavy\"] = 0x279e;\n t[\"arrowrightoverleft\"] = 0x21c4;\n t[\"arrowrightwhite\"] = 0x21e8;\n t[\"arrowtableft\"] = 0x21e4;\n t[\"arrowtabright\"] = 0x21e5;\n t[\"arrowup\"] = 0x2191;\n t[\"arrowupdn\"] = 0x2195;\n t[\"arrowupdnbse\"] = 0x21a8;\n t[\"arrowupdownbase\"] = 0x21a8;\n t[\"arrowupleft\"] = 0x2196;\n t[\"arrowupleftofdown\"] = 0x21c5;\n t[\"arrowupright\"] = 0x2197;\n t[\"arrowupwhite\"] = 0x21e7;\n t[\"arrowvertex\"] = 0xf8e6;\n t[\"asciicircum\"] = 0x005e;\n t[\"asciicircummonospace\"] = 0xff3e;\n t[\"asciitilde\"] = 0x007e;\n t[\"asciitildemonospace\"] = 0xff5e;\n t[\"ascript\"] = 0x0251;\n t[\"ascriptturned\"] = 0x0252;\n t[\"asmallhiragana\"] = 0x3041;\n t[\"asmallkatakana\"] = 0x30a1;\n t[\"asmallkatakanahalfwidth\"] = 0xff67;\n t[\"asterisk\"] = 0x002a;\n t[\"asteriskaltonearabic\"] = 0x066d;\n t[\"asteriskarabic\"] = 0x066d;\n t[\"asteriskmath\"] = 0x2217;\n t[\"asteriskmonospace\"] = 0xff0a;\n t[\"asterisksmall\"] = 0xfe61;\n t[\"asterism\"] = 0x2042;\n t[\"asuperior\"] = 0xf6e9;\n t[\"asymptoticallyequal\"] = 0x2243;\n t[\"at\"] = 0x0040;\n t[\"atilde\"] = 0x00e3;\n t[\"atmonospace\"] = 0xff20;\n t[\"atsmall\"] = 0xfe6b;\n t[\"aturned\"] = 0x0250;\n t[\"aubengali\"] = 0x0994;\n t[\"aubopomofo\"] = 0x3120;\n t[\"audeva\"] = 0x0914;\n t[\"augujarati\"] = 0x0a94;\n t[\"augurmukhi\"] = 0x0a14;\n t[\"aulengthmarkbengali\"] = 0x09d7;\n t[\"aumatragurmukhi\"] = 0x0a4c;\n t[\"auvowelsignbengali\"] = 0x09cc;\n t[\"auvowelsigndeva\"] = 0x094c;\n t[\"auvowelsigngujarati\"] = 0x0acc;\n t[\"avagrahadeva\"] = 0x093d;\n t[\"aybarmenian\"] = 0x0561;\n t[\"ayin\"] = 0x05e2;\n t[\"ayinaltonehebrew\"] = 0xfb20;\n t[\"ayinhebrew\"] = 0x05e2;\n t[\"b\"] = 0x0062;\n t[\"babengali\"] = 0x09ac;\n t[\"backslash\"] = 0x005c;\n t[\"backslashmonospace\"] = 0xff3c;\n t[\"badeva\"] = 0x092c;\n t[\"bagujarati\"] = 0x0aac;\n t[\"bagurmukhi\"] = 0x0a2c;\n t[\"bahiragana\"] = 0x3070;\n t[\"bahtthai\"] = 0x0e3f;\n t[\"bakatakana\"] = 0x30d0;\n t[\"bar\"] = 0x007c;\n t[\"barmonospace\"] = 0xff5c;\n t[\"bbopomofo\"] = 0x3105;\n t[\"bcircle\"] = 0x24d1;\n t[\"bdotaccent\"] = 0x1e03;\n t[\"bdotbelow\"] = 0x1e05;\n t[\"beamedsixteenthnotes\"] = 0x266c;\n t[\"because\"] = 0x2235;\n t[\"becyrillic\"] = 0x0431;\n t[\"beharabic\"] = 0x0628;\n t[\"behfinalarabic\"] = 0xfe90;\n t[\"behinitialarabic\"] = 0xfe91;\n t[\"behiragana\"] = 0x3079;\n t[\"behmedialarabic\"] = 0xfe92;\n t[\"behmeeminitialarabic\"] = 0xfc9f;\n t[\"behmeemisolatedarabic\"] = 0xfc08;\n t[\"behnoonfinalarabic\"] = 0xfc6d;\n t[\"bekatakana\"] = 0x30d9;\n t[\"benarmenian\"] = 0x0562;\n t[\"bet\"] = 0x05d1;\n t[\"beta\"] = 0x03b2;\n t[\"betasymbolgreek\"] = 0x03d0;\n t[\"betdagesh\"] = 0xfb31;\n t[\"betdageshhebrew\"] = 0xfb31;\n t[\"bethebrew\"] = 0x05d1;\n t[\"betrafehebrew\"] = 0xfb4c;\n t[\"bhabengali\"] = 0x09ad;\n t[\"bhadeva\"] = 0x092d;\n t[\"bhagujarati\"] = 0x0aad;\n t[\"bhagurmukhi\"] = 0x0a2d;\n t[\"bhook\"] = 0x0253;\n t[\"bihiragana\"] = 0x3073;\n t[\"bikatakana\"] = 0x30d3;\n t[\"bilabialclick\"] = 0x0298;\n t[\"bindigurmukhi\"] = 0x0a02;\n t[\"birusquare\"] = 0x3331;\n t[\"blackcircle\"] = 0x25cf;\n t[\"blackdiamond\"] = 0x25c6;\n t[\"blackdownpointingtriangle\"] = 0x25bc;\n t[\"blackleftpointingpointer\"] = 0x25c4;\n t[\"blackleftpointingtriangle\"] = 0x25c0;\n t[\"blacklenticularbracketleft\"] = 0x3010;\n t[\"blacklenticularbracketleftvertical\"] = 0xfe3b;\n t[\"blacklenticularbracketright\"] = 0x3011;\n t[\"blacklenticularbracketrightvertical\"] = 0xfe3c;\n t[\"blacklowerlefttriangle\"] = 0x25e3;\n t[\"blacklowerrighttriangle\"] = 0x25e2;\n t[\"blackrectangle\"] = 0x25ac;\n t[\"blackrightpointingpointer\"] = 0x25ba;\n t[\"blackrightpointingtriangle\"] = 0x25b6;\n t[\"blacksmallsquare\"] = 0x25aa;\n t[\"blacksmilingface\"] = 0x263b;\n t[\"blacksquare\"] = 0x25a0;\n t[\"blackstar\"] = 0x2605;\n t[\"blackupperlefttriangle\"] = 0x25e4;\n t[\"blackupperrighttriangle\"] = 0x25e5;\n t[\"blackuppointingsmalltriangle\"] = 0x25b4;\n t[\"blackuppointingtriangle\"] = 0x25b2;\n t[\"blank\"] = 0x2423;\n t[\"blinebelow\"] = 0x1e07;\n t[\"block\"] = 0x2588;\n t[\"bmonospace\"] = 0xff42;\n t[\"bobaimaithai\"] = 0x0e1a;\n t[\"bohiragana\"] = 0x307c;\n t[\"bokatakana\"] = 0x30dc;\n t[\"bparen\"] = 0x249d;\n t[\"bqsquare\"] = 0x33c3;\n t[\"braceex\"] = 0xf8f4;\n t[\"braceleft\"] = 0x007b;\n t[\"braceleftbt\"] = 0xf8f3;\n t[\"braceleftmid\"] = 0xf8f2;\n t[\"braceleftmonospace\"] = 0xff5b;\n t[\"braceleftsmall\"] = 0xfe5b;\n t[\"bracelefttp\"] = 0xf8f1;\n t[\"braceleftvertical\"] = 0xfe37;\n t[\"braceright\"] = 0x007d;\n t[\"bracerightbt\"] = 0xf8fe;\n t[\"bracerightmid\"] = 0xf8fd;\n t[\"bracerightmonospace\"] = 0xff5d;\n t[\"bracerightsmall\"] = 0xfe5c;\n t[\"bracerighttp\"] = 0xf8fc;\n t[\"bracerightvertical\"] = 0xfe38;\n t[\"bracketleft\"] = 0x005b;\n t[\"bracketleftbt\"] = 0xf8f0;\n t[\"bracketleftex\"] = 0xf8ef;\n t[\"bracketleftmonospace\"] = 0xff3b;\n t[\"bracketlefttp\"] = 0xf8ee;\n t[\"bracketright\"] = 0x005d;\n t[\"bracketrightbt\"] = 0xf8fb;\n t[\"bracketrightex\"] = 0xf8fa;\n t[\"bracketrightmonospace\"] = 0xff3d;\n t[\"bracketrighttp\"] = 0xf8f9;\n t[\"breve\"] = 0x02d8;\n t[\"brevebelowcmb\"] = 0x032e;\n t[\"brevecmb\"] = 0x0306;\n t[\"breveinvertedbelowcmb\"] = 0x032f;\n t[\"breveinvertedcmb\"] = 0x0311;\n t[\"breveinverteddoublecmb\"] = 0x0361;\n t[\"bridgebelowcmb\"] = 0x032a;\n t[\"bridgeinvertedbelowcmb\"] = 0x033a;\n t[\"brokenbar\"] = 0x00a6;\n t[\"bstroke\"] = 0x0180;\n t[\"bsuperior\"] = 0xf6ea;\n t[\"btopbar\"] = 0x0183;\n t[\"buhiragana\"] = 0x3076;\n t[\"bukatakana\"] = 0x30d6;\n t[\"bullet\"] = 0x2022;\n t[\"bulletinverse\"] = 0x25d8;\n t[\"bulletoperator\"] = 0x2219;\n t[\"bullseye\"] = 0x25ce;\n t[\"c\"] = 0x0063;\n t[\"caarmenian\"] = 0x056e;\n t[\"cabengali\"] = 0x099a;\n t[\"cacute\"] = 0x0107;\n t[\"cadeva\"] = 0x091a;\n t[\"cagujarati\"] = 0x0a9a;\n t[\"cagurmukhi\"] = 0x0a1a;\n t[\"calsquare\"] = 0x3388;\n t[\"candrabindubengali\"] = 0x0981;\n t[\"candrabinducmb\"] = 0x0310;\n t[\"candrabindudeva\"] = 0x0901;\n t[\"candrabindugujarati\"] = 0x0a81;\n t[\"capslock\"] = 0x21ea;\n t[\"careof\"] = 0x2105;\n t[\"caron\"] = 0x02c7;\n t[\"caronbelowcmb\"] = 0x032c;\n t[\"caroncmb\"] = 0x030c;\n t[\"carriagereturn\"] = 0x21b5;\n t[\"cbopomofo\"] = 0x3118;\n t[\"ccaron\"] = 0x010d;\n t[\"ccedilla\"] = 0x00e7;\n t[\"ccedillaacute\"] = 0x1e09;\n t[\"ccircle\"] = 0x24d2;\n t[\"ccircumflex\"] = 0x0109;\n t[\"ccurl\"] = 0x0255;\n t[\"cdot\"] = 0x010b;\n t[\"cdotaccent\"] = 0x010b;\n t[\"cdsquare\"] = 0x33c5;\n t[\"cedilla\"] = 0x00b8;\n t[\"cedillacmb\"] = 0x0327;\n t[\"cent\"] = 0x00a2;\n t[\"centigrade\"] = 0x2103;\n t[\"centinferior\"] = 0xf6df;\n t[\"centmonospace\"] = 0xffe0;\n t[\"centoldstyle\"] = 0xf7a2;\n t[\"centsuperior\"] = 0xf6e0;\n t[\"chaarmenian\"] = 0x0579;\n t[\"chabengali\"] = 0x099b;\n t[\"chadeva\"] = 0x091b;\n t[\"chagujarati\"] = 0x0a9b;\n t[\"chagurmukhi\"] = 0x0a1b;\n t[\"chbopomofo\"] = 0x3114;\n t[\"cheabkhasiancyrillic\"] = 0x04bd;\n t[\"checkmark\"] = 0x2713;\n t[\"checyrillic\"] = 0x0447;\n t[\"chedescenderabkhasiancyrillic\"] = 0x04bf;\n t[\"chedescendercyrillic\"] = 0x04b7;\n t[\"chedieresiscyrillic\"] = 0x04f5;\n t[\"cheharmenian\"] = 0x0573;\n t[\"chekhakassiancyrillic\"] = 0x04cc;\n t[\"cheverticalstrokecyrillic\"] = 0x04b9;\n t[\"chi\"] = 0x03c7;\n t[\"chieuchacirclekorean\"] = 0x3277;\n t[\"chieuchaparenkorean\"] = 0x3217;\n t[\"chieuchcirclekorean\"] = 0x3269;\n t[\"chieuchkorean\"] = 0x314a;\n t[\"chieuchparenkorean\"] = 0x3209;\n t[\"chochangthai\"] = 0x0e0a;\n t[\"chochanthai\"] = 0x0e08;\n t[\"chochingthai\"] = 0x0e09;\n t[\"chochoethai\"] = 0x0e0c;\n t[\"chook\"] = 0x0188;\n t[\"cieucacirclekorean\"] = 0x3276;\n t[\"cieucaparenkorean\"] = 0x3216;\n t[\"cieuccirclekorean\"] = 0x3268;\n t[\"cieuckorean\"] = 0x3148;\n t[\"cieucparenkorean\"] = 0x3208;\n t[\"cieucuparenkorean\"] = 0x321c;\n t[\"circle\"] = 0x25cb;\n t[\"circlecopyrt\"] = 0x00a9;\n t[\"circlemultiply\"] = 0x2297;\n t[\"circleot\"] = 0x2299;\n t[\"circleplus\"] = 0x2295;\n t[\"circlepostalmark\"] = 0x3036;\n t[\"circlewithlefthalfblack\"] = 0x25d0;\n t[\"circlewithrighthalfblack\"] = 0x25d1;\n t[\"circumflex\"] = 0x02c6;\n t[\"circumflexbelowcmb\"] = 0x032d;\n t[\"circumflexcmb\"] = 0x0302;\n t[\"clear\"] = 0x2327;\n t[\"clickalveolar\"] = 0x01c2;\n t[\"clickdental\"] = 0x01c0;\n t[\"clicklateral\"] = 0x01c1;\n t[\"clickretroflex\"] = 0x01c3;\n t[\"club\"] = 0x2663;\n t[\"clubsuitblack\"] = 0x2663;\n t[\"clubsuitwhite\"] = 0x2667;\n t[\"cmcubedsquare\"] = 0x33a4;\n t[\"cmonospace\"] = 0xff43;\n t[\"cmsquaredsquare\"] = 0x33a0;\n t[\"coarmenian\"] = 0x0581;\n t[\"colon\"] = 0x003a;\n t[\"colonmonetary\"] = 0x20a1;\n t[\"colonmonospace\"] = 0xff1a;\n t[\"colonsign\"] = 0x20a1;\n t[\"colonsmall\"] = 0xfe55;\n t[\"colontriangularhalfmod\"] = 0x02d1;\n t[\"colontriangularmod\"] = 0x02d0;\n t[\"comma\"] = 0x002c;\n t[\"commaabovecmb\"] = 0x0313;\n t[\"commaaboverightcmb\"] = 0x0315;\n t[\"commaaccent\"] = 0xf6c3;\n t[\"commaarabic\"] = 0x060c;\n t[\"commaarmenian\"] = 0x055d;\n t[\"commainferior\"] = 0xf6e1;\n t[\"commamonospace\"] = 0xff0c;\n t[\"commareversedabovecmb\"] = 0x0314;\n t[\"commareversedmod\"] = 0x02bd;\n t[\"commasmall\"] = 0xfe50;\n t[\"commasuperior\"] = 0xf6e2;\n t[\"commaturnedabovecmb\"] = 0x0312;\n t[\"commaturnedmod\"] = 0x02bb;\n t[\"compass\"] = 0x263c;\n t[\"congruent\"] = 0x2245;\n t[\"contourintegral\"] = 0x222e;\n t[\"control\"] = 0x2303;\n t[\"controlACK\"] = 0x0006;\n t[\"controlBEL\"] = 0x0007;\n t[\"controlBS\"] = 0x0008;\n t[\"controlCAN\"] = 0x0018;\n t[\"controlCR\"] = 0x000d;\n t[\"controlDC1\"] = 0x0011;\n t[\"controlDC2\"] = 0x0012;\n t[\"controlDC3\"] = 0x0013;\n t[\"controlDC4\"] = 0x0014;\n t[\"controlDEL\"] = 0x007f;\n t[\"controlDLE\"] = 0x0010;\n t[\"controlEM\"] = 0x0019;\n t[\"controlENQ\"] = 0x0005;\n t[\"controlEOT\"] = 0x0004;\n t[\"controlESC\"] = 0x001b;\n t[\"controlETB\"] = 0x0017;\n t[\"controlETX\"] = 0x0003;\n t[\"controlFF\"] = 0x000c;\n t[\"controlFS\"] = 0x001c;\n t[\"controlGS\"] = 0x001d;\n t[\"controlHT\"] = 0x0009;\n t[\"controlLF\"] = 0x000a;\n t[\"controlNAK\"] = 0x0015;\n t[\"controlNULL\"] = 0x0000;\n t[\"controlRS\"] = 0x001e;\n t[\"controlSI\"] = 0x000f;\n t[\"controlSO\"] = 0x000e;\n t[\"controlSOT\"] = 0x0002;\n t[\"controlSTX\"] = 0x0001;\n t[\"controlSUB\"] = 0x001a;\n t[\"controlSYN\"] = 0x0016;\n t[\"controlUS\"] = 0x001f;\n t[\"controlVT\"] = 0x000b;\n t[\"copyright\"] = 0x00a9;\n t[\"copyrightsans\"] = 0xf8e9;\n t[\"copyrightserif\"] = 0xf6d9;\n t[\"cornerbracketleft\"] = 0x300c;\n t[\"cornerbracketlefthalfwidth\"] = 0xff62;\n t[\"cornerbracketleftvertical\"] = 0xfe41;\n t[\"cornerbracketright\"] = 0x300d;\n t[\"cornerbracketrighthalfwidth\"] = 0xff63;\n t[\"cornerbracketrightvertical\"] = 0xfe42;\n t[\"corporationsquare\"] = 0x337f;\n t[\"cosquare\"] = 0x33c7;\n t[\"coverkgsquare\"] = 0x33c6;\n t[\"cparen\"] = 0x249e;\n t[\"cruzeiro\"] = 0x20a2;\n t[\"cstretched\"] = 0x0297;\n t[\"curlyand\"] = 0x22cf;\n t[\"curlyor\"] = 0x22ce;\n t[\"currency\"] = 0x00a4;\n t[\"cyrBreve\"] = 0xf6d1;\n t[\"cyrFlex\"] = 0xf6d2;\n t[\"cyrbreve\"] = 0xf6d4;\n t[\"cyrflex\"] = 0xf6d5;\n t[\"d\"] = 0x0064;\n t[\"daarmenian\"] = 0x0564;\n t[\"dabengali\"] = 0x09a6;\n t[\"dadarabic\"] = 0x0636;\n t[\"dadeva\"] = 0x0926;\n t[\"dadfinalarabic\"] = 0xfebe;\n t[\"dadinitialarabic\"] = 0xfebf;\n t[\"dadmedialarabic\"] = 0xfec0;\n t[\"dagesh\"] = 0x05bc;\n t[\"dageshhebrew\"] = 0x05bc;\n t[\"dagger\"] = 0x2020;\n t[\"daggerdbl\"] = 0x2021;\n t[\"dagujarati\"] = 0x0aa6;\n t[\"dagurmukhi\"] = 0x0a26;\n t[\"dahiragana\"] = 0x3060;\n t[\"dakatakana\"] = 0x30c0;\n t[\"dalarabic\"] = 0x062f;\n t[\"dalet\"] = 0x05d3;\n t[\"daletdagesh\"] = 0xfb33;\n t[\"daletdageshhebrew\"] = 0xfb33;\n t[\"dalethebrew\"] = 0x05d3;\n t[\"dalfinalarabic\"] = 0xfeaa;\n t[\"dammaarabic\"] = 0x064f;\n t[\"dammalowarabic\"] = 0x064f;\n t[\"dammatanaltonearabic\"] = 0x064c;\n t[\"dammatanarabic\"] = 0x064c;\n t[\"danda\"] = 0x0964;\n t[\"dargahebrew\"] = 0x05a7;\n t[\"dargalefthebrew\"] = 0x05a7;\n t[\"dasiapneumatacyrilliccmb\"] = 0x0485;\n t[\"dblGrave\"] = 0xf6d3;\n t[\"dblanglebracketleft\"] = 0x300a;\n t[\"dblanglebracketleftvertical\"] = 0xfe3d;\n t[\"dblanglebracketright\"] = 0x300b;\n t[\"dblanglebracketrightvertical\"] = 0xfe3e;\n t[\"dblarchinvertedbelowcmb\"] = 0x032b;\n t[\"dblarrowleft\"] = 0x21d4;\n t[\"dblarrowright\"] = 0x21d2;\n t[\"dbldanda\"] = 0x0965;\n t[\"dblgrave\"] = 0xf6d6;\n t[\"dblgravecmb\"] = 0x030f;\n t[\"dblintegral\"] = 0x222c;\n t[\"dbllowline\"] = 0x2017;\n t[\"dbllowlinecmb\"] = 0x0333;\n t[\"dbloverlinecmb\"] = 0x033f;\n t[\"dblprimemod\"] = 0x02ba;\n t[\"dblverticalbar\"] = 0x2016;\n t[\"dblverticallineabovecmb\"] = 0x030e;\n t[\"dbopomofo\"] = 0x3109;\n t[\"dbsquare\"] = 0x33c8;\n t[\"dcaron\"] = 0x010f;\n t[\"dcedilla\"] = 0x1e11;\n t[\"dcircle\"] = 0x24d3;\n t[\"dcircumflexbelow\"] = 0x1e13;\n t[\"dcroat\"] = 0x0111;\n t[\"ddabengali\"] = 0x09a1;\n t[\"ddadeva\"] = 0x0921;\n t[\"ddagujarati\"] = 0x0aa1;\n t[\"ddagurmukhi\"] = 0x0a21;\n t[\"ddalarabic\"] = 0x0688;\n t[\"ddalfinalarabic\"] = 0xfb89;\n t[\"dddhadeva\"] = 0x095c;\n t[\"ddhabengali\"] = 0x09a2;\n t[\"ddhadeva\"] = 0x0922;\n t[\"ddhagujarati\"] = 0x0aa2;\n t[\"ddhagurmukhi\"] = 0x0a22;\n t[\"ddotaccent\"] = 0x1e0b;\n t[\"ddotbelow\"] = 0x1e0d;\n t[\"decimalseparatorarabic\"] = 0x066b;\n t[\"decimalseparatorpersian\"] = 0x066b;\n t[\"decyrillic\"] = 0x0434;\n t[\"degree\"] = 0x00b0;\n t[\"dehihebrew\"] = 0x05ad;\n t[\"dehiragana\"] = 0x3067;\n t[\"deicoptic\"] = 0x03ef;\n t[\"dekatakana\"] = 0x30c7;\n t[\"deleteleft\"] = 0x232b;\n t[\"deleteright\"] = 0x2326;\n t[\"delta\"] = 0x03b4;\n t[\"deltaturned\"] = 0x018d;\n t[\"denominatorminusonenumeratorbengali\"] = 0x09f8;\n t[\"dezh\"] = 0x02a4;\n t[\"dhabengali\"] = 0x09a7;\n t[\"dhadeva\"] = 0x0927;\n t[\"dhagujarati\"] = 0x0aa7;\n t[\"dhagurmukhi\"] = 0x0a27;\n t[\"dhook\"] = 0x0257;\n t[\"dialytikatonos\"] = 0x0385;\n t[\"dialytikatonoscmb\"] = 0x0344;\n t[\"diamond\"] = 0x2666;\n t[\"diamondsuitwhite\"] = 0x2662;\n t[\"dieresis\"] = 0x00a8;\n t[\"dieresisacute\"] = 0xf6d7;\n t[\"dieresisbelowcmb\"] = 0x0324;\n t[\"dieresiscmb\"] = 0x0308;\n t[\"dieresisgrave\"] = 0xf6d8;\n t[\"dieresistonos\"] = 0x0385;\n t[\"dihiragana\"] = 0x3062;\n t[\"dikatakana\"] = 0x30c2;\n t[\"dittomark\"] = 0x3003;\n t[\"divide\"] = 0x00f7;\n t[\"divides\"] = 0x2223;\n t[\"divisionslash\"] = 0x2215;\n t[\"djecyrillic\"] = 0x0452;\n t[\"dkshade\"] = 0x2593;\n t[\"dlinebelow\"] = 0x1e0f;\n t[\"dlsquare\"] = 0x3397;\n t[\"dmacron\"] = 0x0111;\n t[\"dmonospace\"] = 0xff44;\n t[\"dnblock\"] = 0x2584;\n t[\"dochadathai\"] = 0x0e0e;\n t[\"dodekthai\"] = 0x0e14;\n t[\"dohiragana\"] = 0x3069;\n t[\"dokatakana\"] = 0x30c9;\n t[\"dollar\"] = 0x0024;\n t[\"dollarinferior\"] = 0xf6e3;\n t[\"dollarmonospace\"] = 0xff04;\n t[\"dollaroldstyle\"] = 0xf724;\n t[\"dollarsmall\"] = 0xfe69;\n t[\"dollarsuperior\"] = 0xf6e4;\n t[\"dong\"] = 0x20ab;\n t[\"dorusquare\"] = 0x3326;\n t[\"dotaccent\"] = 0x02d9;\n t[\"dotaccentcmb\"] = 0x0307;\n t[\"dotbelowcmb\"] = 0x0323;\n t[\"dotbelowcomb\"] = 0x0323;\n t[\"dotkatakana\"] = 0x30fb;\n t[\"dotlessi\"] = 0x0131;\n t[\"dotlessj\"] = 0xf6be;\n t[\"dotlessjstrokehook\"] = 0x0284;\n t[\"dotmath\"] = 0x22c5;\n t[\"dottedcircle\"] = 0x25cc;\n t[\"doubleyodpatah\"] = 0xfb1f;\n t[\"doubleyodpatahhebrew\"] = 0xfb1f;\n t[\"downtackbelowcmb\"] = 0x031e;\n t[\"downtackmod\"] = 0x02d5;\n t[\"dparen\"] = 0x249f;\n t[\"dsuperior\"] = 0xf6eb;\n t[\"dtail\"] = 0x0256;\n t[\"dtopbar\"] = 0x018c;\n t[\"duhiragana\"] = 0x3065;\n t[\"dukatakana\"] = 0x30c5;\n t[\"dz\"] = 0x01f3;\n t[\"dzaltone\"] = 0x02a3;\n t[\"dzcaron\"] = 0x01c6;\n t[\"dzcurl\"] = 0x02a5;\n t[\"dzeabkhasiancyrillic\"] = 0x04e1;\n t[\"dzecyrillic\"] = 0x0455;\n t[\"dzhecyrillic\"] = 0x045f;\n t[\"e\"] = 0x0065;\n t[\"eacute\"] = 0x00e9;\n t[\"earth\"] = 0x2641;\n t[\"ebengali\"] = 0x098f;\n t[\"ebopomofo\"] = 0x311c;\n t[\"ebreve\"] = 0x0115;\n t[\"ecandradeva\"] = 0x090d;\n t[\"ecandragujarati\"] = 0x0a8d;\n t[\"ecandravowelsigndeva\"] = 0x0945;\n t[\"ecandravowelsigngujarati\"] = 0x0ac5;\n t[\"ecaron\"] = 0x011b;\n t[\"ecedillabreve\"] = 0x1e1d;\n t[\"echarmenian\"] = 0x0565;\n t[\"echyiwnarmenian\"] = 0x0587;\n t[\"ecircle\"] = 0x24d4;\n t[\"ecircumflex\"] = 0x00ea;\n t[\"ecircumflexacute\"] = 0x1ebf;\n t[\"ecircumflexbelow\"] = 0x1e19;\n t[\"ecircumflexdotbelow\"] = 0x1ec7;\n t[\"ecircumflexgrave\"] = 0x1ec1;\n t[\"ecircumflexhookabove\"] = 0x1ec3;\n t[\"ecircumflextilde\"] = 0x1ec5;\n t[\"ecyrillic\"] = 0x0454;\n t[\"edblgrave\"] = 0x0205;\n t[\"edeva\"] = 0x090f;\n t[\"edieresis\"] = 0x00eb;\n t[\"edot\"] = 0x0117;\n t[\"edotaccent\"] = 0x0117;\n t[\"edotbelow\"] = 0x1eb9;\n t[\"eegurmukhi\"] = 0x0a0f;\n t[\"eematragurmukhi\"] = 0x0a47;\n t[\"efcyrillic\"] = 0x0444;\n t[\"egrave\"] = 0x00e8;\n t[\"egujarati\"] = 0x0a8f;\n t[\"eharmenian\"] = 0x0567;\n t[\"ehbopomofo\"] = 0x311d;\n t[\"ehiragana\"] = 0x3048;\n t[\"ehookabove\"] = 0x1ebb;\n t[\"eibopomofo\"] = 0x311f;\n t[\"eight\"] = 0x0038;\n t[\"eightarabic\"] = 0x0668;\n t[\"eightbengali\"] = 0x09ee;\n t[\"eightcircle\"] = 0x2467;\n t[\"eightcircleinversesansserif\"] = 0x2791;\n t[\"eightdeva\"] = 0x096e;\n t[\"eighteencircle\"] = 0x2471;\n t[\"eighteenparen\"] = 0x2485;\n t[\"eighteenperiod\"] = 0x2499;\n t[\"eightgujarati\"] = 0x0aee;\n t[\"eightgurmukhi\"] = 0x0a6e;\n t[\"eighthackarabic\"] = 0x0668;\n t[\"eighthangzhou\"] = 0x3028;\n t[\"eighthnotebeamed\"] = 0x266b;\n t[\"eightideographicparen\"] = 0x3227;\n t[\"eightinferior\"] = 0x2088;\n t[\"eightmonospace\"] = 0xff18;\n t[\"eightoldstyle\"] = 0xf738;\n t[\"eightparen\"] = 0x247b;\n t[\"eightperiod\"] = 0x248f;\n t[\"eightpersian\"] = 0x06f8;\n t[\"eightroman\"] = 0x2177;\n t[\"eightsuperior\"] = 0x2078;\n t[\"eightthai\"] = 0x0e58;\n t[\"einvertedbreve\"] = 0x0207;\n t[\"eiotifiedcyrillic\"] = 0x0465;\n t[\"ekatakana\"] = 0x30a8;\n t[\"ekatakanahalfwidth\"] = 0xff74;\n t[\"ekonkargurmukhi\"] = 0x0a74;\n t[\"ekorean\"] = 0x3154;\n t[\"elcyrillic\"] = 0x043b;\n t[\"element\"] = 0x2208;\n t[\"elevencircle\"] = 0x246a;\n t[\"elevenparen\"] = 0x247e;\n t[\"elevenperiod\"] = 0x2492;\n t[\"elevenroman\"] = 0x217a;\n t[\"ellipsis\"] = 0x2026;\n t[\"ellipsisvertical\"] = 0x22ee;\n t[\"emacron\"] = 0x0113;\n t[\"emacronacute\"] = 0x1e17;\n t[\"emacrongrave\"] = 0x1e15;\n t[\"emcyrillic\"] = 0x043c;\n t[\"emdash\"] = 0x2014;\n t[\"emdashvertical\"] = 0xfe31;\n t[\"emonospace\"] = 0xff45;\n t[\"emphasismarkarmenian\"] = 0x055b;\n t[\"emptyset\"] = 0x2205;\n t[\"enbopomofo\"] = 0x3123;\n t[\"encyrillic\"] = 0x043d;\n t[\"endash\"] = 0x2013;\n t[\"endashvertical\"] = 0xfe32;\n t[\"endescendercyrillic\"] = 0x04a3;\n t[\"eng\"] = 0x014b;\n t[\"engbopomofo\"] = 0x3125;\n t[\"enghecyrillic\"] = 0x04a5;\n t[\"enhookcyrillic\"] = 0x04c8;\n t[\"enspace\"] = 0x2002;\n t[\"eogonek\"] = 0x0119;\n t[\"eokorean\"] = 0x3153;\n t[\"eopen\"] = 0x025b;\n t[\"eopenclosed\"] = 0x029a;\n t[\"eopenreversed\"] = 0x025c;\n t[\"eopenreversedclosed\"] = 0x025e;\n t[\"eopenreversedhook\"] = 0x025d;\n t[\"eparen\"] = 0x24a0;\n t[\"epsilon\"] = 0x03b5;\n t[\"epsilontonos\"] = 0x03ad;\n t[\"equal\"] = 0x003d;\n t[\"equalmonospace\"] = 0xff1d;\n t[\"equalsmall\"] = 0xfe66;\n t[\"equalsuperior\"] = 0x207c;\n t[\"equivalence\"] = 0x2261;\n t[\"erbopomofo\"] = 0x3126;\n t[\"ercyrillic\"] = 0x0440;\n t[\"ereversed\"] = 0x0258;\n t[\"ereversedcyrillic\"] = 0x044d;\n t[\"escyrillic\"] = 0x0441;\n t[\"esdescendercyrillic\"] = 0x04ab;\n t[\"esh\"] = 0x0283;\n t[\"eshcurl\"] = 0x0286;\n t[\"eshortdeva\"] = 0x090e;\n t[\"eshortvowelsigndeva\"] = 0x0946;\n t[\"eshreversedloop\"] = 0x01aa;\n t[\"eshsquatreversed\"] = 0x0285;\n t[\"esmallhiragana\"] = 0x3047;\n t[\"esmallkatakana\"] = 0x30a7;\n t[\"esmallkatakanahalfwidth\"] = 0xff6a;\n t[\"estimated\"] = 0x212e;\n t[\"esuperior\"] = 0xf6ec;\n t[\"eta\"] = 0x03b7;\n t[\"etarmenian\"] = 0x0568;\n t[\"etatonos\"] = 0x03ae;\n t[\"eth\"] = 0x00f0;\n t[\"etilde\"] = 0x1ebd;\n t[\"etildebelow\"] = 0x1e1b;\n t[\"etnahtafoukhhebrew\"] = 0x0591;\n t[\"etnahtafoukhlefthebrew\"] = 0x0591;\n t[\"etnahtahebrew\"] = 0x0591;\n t[\"etnahtalefthebrew\"] = 0x0591;\n t[\"eturned\"] = 0x01dd;\n t[\"eukorean\"] = 0x3161;\n t[\"euro\"] = 0x20ac;\n t[\"evowelsignbengali\"] = 0x09c7;\n t[\"evowelsigndeva\"] = 0x0947;\n t[\"evowelsigngujarati\"] = 0x0ac7;\n t[\"exclam\"] = 0x0021;\n t[\"exclamarmenian\"] = 0x055c;\n t[\"exclamdbl\"] = 0x203c;\n t[\"exclamdown\"] = 0x00a1;\n t[\"exclamdownsmall\"] = 0xf7a1;\n t[\"exclammonospace\"] = 0xff01;\n t[\"exclamsmall\"] = 0xf721;\n t[\"existential\"] = 0x2203;\n t[\"ezh\"] = 0x0292;\n t[\"ezhcaron\"] = 0x01ef;\n t[\"ezhcurl\"] = 0x0293;\n t[\"ezhreversed\"] = 0x01b9;\n t[\"ezhtail\"] = 0x01ba;\n t[\"f\"] = 0x0066;\n t[\"fadeva\"] = 0x095e;\n t[\"fagurmukhi\"] = 0x0a5e;\n t[\"fahrenheit\"] = 0x2109;\n t[\"fathaarabic\"] = 0x064e;\n t[\"fathalowarabic\"] = 0x064e;\n t[\"fathatanarabic\"] = 0x064b;\n t[\"fbopomofo\"] = 0x3108;\n t[\"fcircle\"] = 0x24d5;\n t[\"fdotaccent\"] = 0x1e1f;\n t[\"feharabic\"] = 0x0641;\n t[\"feharmenian\"] = 0x0586;\n t[\"fehfinalarabic\"] = 0xfed2;\n t[\"fehinitialarabic\"] = 0xfed3;\n t[\"fehmedialarabic\"] = 0xfed4;\n t[\"feicoptic\"] = 0x03e5;\n t[\"female\"] = 0x2640;\n t[\"ff\"] = 0xfb00;\n t[\"f_f\"] = 0xfb00;\n t[\"ffi\"] = 0xfb03;\n t[\"ffl\"] = 0xfb04;\n t[\"fi\"] = 0xfb01;\n t[\"fifteencircle\"] = 0x246e;\n t[\"fifteenparen\"] = 0x2482;\n t[\"fifteenperiod\"] = 0x2496;\n t[\"figuredash\"] = 0x2012;\n t[\"filledbox\"] = 0x25a0;\n t[\"filledrect\"] = 0x25ac;\n t[\"finalkaf\"] = 0x05da;\n t[\"finalkafdagesh\"] = 0xfb3a;\n t[\"finalkafdageshhebrew\"] = 0xfb3a;\n t[\"finalkafhebrew\"] = 0x05da;\n t[\"finalmem\"] = 0x05dd;\n t[\"finalmemhebrew\"] = 0x05dd;\n t[\"finalnun\"] = 0x05df;\n t[\"finalnunhebrew\"] = 0x05df;\n t[\"finalpe\"] = 0x05e3;\n t[\"finalpehebrew\"] = 0x05e3;\n t[\"finaltsadi\"] = 0x05e5;\n t[\"finaltsadihebrew\"] = 0x05e5;\n t[\"firsttonechinese\"] = 0x02c9;\n t[\"fisheye\"] = 0x25c9;\n t[\"fitacyrillic\"] = 0x0473;\n t[\"five\"] = 0x0035;\n t[\"fivearabic\"] = 0x0665;\n t[\"fivebengali\"] = 0x09eb;\n t[\"fivecircle\"] = 0x2464;\n t[\"fivecircleinversesansserif\"] = 0x278e;\n t[\"fivedeva\"] = 0x096b;\n t[\"fiveeighths\"] = 0x215d;\n t[\"fivegujarati\"] = 0x0aeb;\n t[\"fivegurmukhi\"] = 0x0a6b;\n t[\"fivehackarabic\"] = 0x0665;\n t[\"fivehangzhou\"] = 0x3025;\n t[\"fiveideographicparen\"] = 0x3224;\n t[\"fiveinferior\"] = 0x2085;\n t[\"fivemonospace\"] = 0xff15;\n t[\"fiveoldstyle\"] = 0xf735;\n t[\"fiveparen\"] = 0x2478;\n t[\"fiveperiod\"] = 0x248c;\n t[\"fivepersian\"] = 0x06f5;\n t[\"fiveroman\"] = 0x2174;\n t[\"fivesuperior\"] = 0x2075;\n t[\"fivethai\"] = 0x0e55;\n t[\"fl\"] = 0xfb02;\n t[\"florin\"] = 0x0192;\n t[\"fmonospace\"] = 0xff46;\n t[\"fmsquare\"] = 0x3399;\n t[\"fofanthai\"] = 0x0e1f;\n t[\"fofathai\"] = 0x0e1d;\n t[\"fongmanthai\"] = 0x0e4f;\n t[\"forall\"] = 0x2200;\n t[\"four\"] = 0x0034;\n t[\"fourarabic\"] = 0x0664;\n t[\"fourbengali\"] = 0x09ea;\n t[\"fourcircle\"] = 0x2463;\n t[\"fourcircleinversesansserif\"] = 0x278d;\n t[\"fourdeva\"] = 0x096a;\n t[\"fourgujarati\"] = 0x0aea;\n t[\"fourgurmukhi\"] = 0x0a6a;\n t[\"fourhackarabic\"] = 0x0664;\n t[\"fourhangzhou\"] = 0x3024;\n t[\"fourideographicparen\"] = 0x3223;\n t[\"fourinferior\"] = 0x2084;\n t[\"fourmonospace\"] = 0xff14;\n t[\"fournumeratorbengali\"] = 0x09f7;\n t[\"fouroldstyle\"] = 0xf734;\n t[\"fourparen\"] = 0x2477;\n t[\"fourperiod\"] = 0x248b;\n t[\"fourpersian\"] = 0x06f4;\n t[\"fourroman\"] = 0x2173;\n t[\"foursuperior\"] = 0x2074;\n t[\"fourteencircle\"] = 0x246d;\n t[\"fourteenparen\"] = 0x2481;\n t[\"fourteenperiod\"] = 0x2495;\n t[\"fourthai\"] = 0x0e54;\n t[\"fourthtonechinese\"] = 0x02cb;\n t[\"fparen\"] = 0x24a1;\n t[\"fraction\"] = 0x2044;\n t[\"franc\"] = 0x20a3;\n t[\"g\"] = 0x0067;\n t[\"gabengali\"] = 0x0997;\n t[\"gacute\"] = 0x01f5;\n t[\"gadeva\"] = 0x0917;\n t[\"gafarabic\"] = 0x06af;\n t[\"gaffinalarabic\"] = 0xfb93;\n t[\"gafinitialarabic\"] = 0xfb94;\n t[\"gafmedialarabic\"] = 0xfb95;\n t[\"gagujarati\"] = 0x0a97;\n t[\"gagurmukhi\"] = 0x0a17;\n t[\"gahiragana\"] = 0x304c;\n t[\"gakatakana\"] = 0x30ac;\n t[\"gamma\"] = 0x03b3;\n t[\"gammalatinsmall\"] = 0x0263;\n t[\"gammasuperior\"] = 0x02e0;\n t[\"gangiacoptic\"] = 0x03eb;\n t[\"gbopomofo\"] = 0x310d;\n t[\"gbreve\"] = 0x011f;\n t[\"gcaron\"] = 0x01e7;\n t[\"gcedilla\"] = 0x0123;\n t[\"gcircle\"] = 0x24d6;\n t[\"gcircumflex\"] = 0x011d;\n t[\"gcommaaccent\"] = 0x0123;\n t[\"gdot\"] = 0x0121;\n t[\"gdotaccent\"] = 0x0121;\n t[\"gecyrillic\"] = 0x0433;\n t[\"gehiragana\"] = 0x3052;\n t[\"gekatakana\"] = 0x30b2;\n t[\"geometricallyequal\"] = 0x2251;\n t[\"gereshaccenthebrew\"] = 0x059c;\n t[\"gereshhebrew\"] = 0x05f3;\n t[\"gereshmuqdamhebrew\"] = 0x059d;\n t[\"germandbls\"] = 0x00df;\n t[\"gershayimaccenthebrew\"] = 0x059e;\n t[\"gershayimhebrew\"] = 0x05f4;\n t[\"getamark\"] = 0x3013;\n t[\"ghabengali\"] = 0x0998;\n t[\"ghadarmenian\"] = 0x0572;\n t[\"ghadeva\"] = 0x0918;\n t[\"ghagujarati\"] = 0x0a98;\n t[\"ghagurmukhi\"] = 0x0a18;\n t[\"ghainarabic\"] = 0x063a;\n t[\"ghainfinalarabic\"] = 0xfece;\n t[\"ghaininitialarabic\"] = 0xfecf;\n t[\"ghainmedialarabic\"] = 0xfed0;\n t[\"ghemiddlehookcyrillic\"] = 0x0495;\n t[\"ghestrokecyrillic\"] = 0x0493;\n t[\"gheupturncyrillic\"] = 0x0491;\n t[\"ghhadeva\"] = 0x095a;\n t[\"ghhagurmukhi\"] = 0x0a5a;\n t[\"ghook\"] = 0x0260;\n t[\"ghzsquare\"] = 0x3393;\n t[\"gihiragana\"] = 0x304e;\n t[\"gikatakana\"] = 0x30ae;\n t[\"gimarmenian\"] = 0x0563;\n t[\"gimel\"] = 0x05d2;\n t[\"gimeldagesh\"] = 0xfb32;\n t[\"gimeldageshhebrew\"] = 0xfb32;\n t[\"gimelhebrew\"] = 0x05d2;\n t[\"gjecyrillic\"] = 0x0453;\n t[\"glottalinvertedstroke\"] = 0x01be;\n t[\"glottalstop\"] = 0x0294;\n t[\"glottalstopinverted\"] = 0x0296;\n t[\"glottalstopmod\"] = 0x02c0;\n t[\"glottalstopreversed\"] = 0x0295;\n t[\"glottalstopreversedmod\"] = 0x02c1;\n t[\"glottalstopreversedsuperior\"] = 0x02e4;\n t[\"glottalstopstroke\"] = 0x02a1;\n t[\"glottalstopstrokereversed\"] = 0x02a2;\n t[\"gmacron\"] = 0x1e21;\n t[\"gmonospace\"] = 0xff47;\n t[\"gohiragana\"] = 0x3054;\n t[\"gokatakana\"] = 0x30b4;\n t[\"gparen\"] = 0x24a2;\n t[\"gpasquare\"] = 0x33ac;\n t[\"gradient\"] = 0x2207;\n t[\"grave\"] = 0x0060;\n t[\"gravebelowcmb\"] = 0x0316;\n t[\"gravecmb\"] = 0x0300;\n t[\"gravecomb\"] = 0x0300;\n t[\"gravedeva\"] = 0x0953;\n t[\"gravelowmod\"] = 0x02ce;\n t[\"gravemonospace\"] = 0xff40;\n t[\"gravetonecmb\"] = 0x0340;\n t[\"greater\"] = 0x003e;\n t[\"greaterequal\"] = 0x2265;\n t[\"greaterequalorless\"] = 0x22db;\n t[\"greatermonospace\"] = 0xff1e;\n t[\"greaterorequivalent\"] = 0x2273;\n t[\"greaterorless\"] = 0x2277;\n t[\"greateroverequal\"] = 0x2267;\n t[\"greatersmall\"] = 0xfe65;\n t[\"gscript\"] = 0x0261;\n t[\"gstroke\"] = 0x01e5;\n t[\"guhiragana\"] = 0x3050;\n t[\"guillemotleft\"] = 0x00ab;\n t[\"guillemotright\"] = 0x00bb;\n t[\"guilsinglleft\"] = 0x2039;\n t[\"guilsinglright\"] = 0x203a;\n t[\"gukatakana\"] = 0x30b0;\n t[\"guramusquare\"] = 0x3318;\n t[\"gysquare\"] = 0x33c9;\n t[\"h\"] = 0x0068;\n t[\"haabkhasiancyrillic\"] = 0x04a9;\n t[\"haaltonearabic\"] = 0x06c1;\n t[\"habengali\"] = 0x09b9;\n t[\"hadescendercyrillic\"] = 0x04b3;\n t[\"hadeva\"] = 0x0939;\n t[\"hagujarati\"] = 0x0ab9;\n t[\"hagurmukhi\"] = 0x0a39;\n t[\"haharabic\"] = 0x062d;\n t[\"hahfinalarabic\"] = 0xfea2;\n t[\"hahinitialarabic\"] = 0xfea3;\n t[\"hahiragana\"] = 0x306f;\n t[\"hahmedialarabic\"] = 0xfea4;\n t[\"haitusquare\"] = 0x332a;\n t[\"hakatakana\"] = 0x30cf;\n t[\"hakatakanahalfwidth\"] = 0xff8a;\n t[\"halantgurmukhi\"] = 0x0a4d;\n t[\"hamzaarabic\"] = 0x0621;\n t[\"hamzalowarabic\"] = 0x0621;\n t[\"hangulfiller\"] = 0x3164;\n t[\"hardsigncyrillic\"] = 0x044a;\n t[\"harpoonleftbarbup\"] = 0x21bc;\n t[\"harpoonrightbarbup\"] = 0x21c0;\n t[\"hasquare\"] = 0x33ca;\n t[\"hatafpatah\"] = 0x05b2;\n t[\"hatafpatah16\"] = 0x05b2;\n t[\"hatafpatah23\"] = 0x05b2;\n t[\"hatafpatah2f\"] = 0x05b2;\n t[\"hatafpatahhebrew\"] = 0x05b2;\n t[\"hatafpatahnarrowhebrew\"] = 0x05b2;\n t[\"hatafpatahquarterhebrew\"] = 0x05b2;\n t[\"hatafpatahwidehebrew\"] = 0x05b2;\n t[\"hatafqamats\"] = 0x05b3;\n t[\"hatafqamats1b\"] = 0x05b3;\n t[\"hatafqamats28\"] = 0x05b3;\n t[\"hatafqamats34\"] = 0x05b3;\n t[\"hatafqamatshebrew\"] = 0x05b3;\n t[\"hatafqamatsnarrowhebrew\"] = 0x05b3;\n t[\"hatafqamatsquarterhebrew\"] = 0x05b3;\n t[\"hatafqamatswidehebrew\"] = 0x05b3;\n t[\"hatafsegol\"] = 0x05b1;\n t[\"hatafsegol17\"] = 0x05b1;\n t[\"hatafsegol24\"] = 0x05b1;\n t[\"hatafsegol30\"] = 0x05b1;\n t[\"hatafsegolhebrew\"] = 0x05b1;\n t[\"hatafsegolnarrowhebrew\"] = 0x05b1;\n t[\"hatafsegolquarterhebrew\"] = 0x05b1;\n t[\"hatafsegolwidehebrew\"] = 0x05b1;\n t[\"hbar\"] = 0x0127;\n t[\"hbopomofo\"] = 0x310f;\n t[\"hbrevebelow\"] = 0x1e2b;\n t[\"hcedilla\"] = 0x1e29;\n t[\"hcircle\"] = 0x24d7;\n t[\"hcircumflex\"] = 0x0125;\n t[\"hdieresis\"] = 0x1e27;\n t[\"hdotaccent\"] = 0x1e23;\n t[\"hdotbelow\"] = 0x1e25;\n t[\"he\"] = 0x05d4;\n t[\"heart\"] = 0x2665;\n t[\"heartsuitblack\"] = 0x2665;\n t[\"heartsuitwhite\"] = 0x2661;\n t[\"hedagesh\"] = 0xfb34;\n t[\"hedageshhebrew\"] = 0xfb34;\n t[\"hehaltonearabic\"] = 0x06c1;\n t[\"heharabic\"] = 0x0647;\n t[\"hehebrew\"] = 0x05d4;\n t[\"hehfinalaltonearabic\"] = 0xfba7;\n t[\"hehfinalalttwoarabic\"] = 0xfeea;\n t[\"hehfinalarabic\"] = 0xfeea;\n t[\"hehhamzaabovefinalarabic\"] = 0xfba5;\n t[\"hehhamzaaboveisolatedarabic\"] = 0xfba4;\n t[\"hehinitialaltonearabic\"] = 0xfba8;\n t[\"hehinitialarabic\"] = 0xfeeb;\n t[\"hehiragana\"] = 0x3078;\n t[\"hehmedialaltonearabic\"] = 0xfba9;\n t[\"hehmedialarabic\"] = 0xfeec;\n t[\"heiseierasquare\"] = 0x337b;\n t[\"hekatakana\"] = 0x30d8;\n t[\"hekatakanahalfwidth\"] = 0xff8d;\n t[\"hekutaarusquare\"] = 0x3336;\n t[\"henghook\"] = 0x0267;\n t[\"herutusquare\"] = 0x3339;\n t[\"het\"] = 0x05d7;\n t[\"hethebrew\"] = 0x05d7;\n t[\"hhook\"] = 0x0266;\n t[\"hhooksuperior\"] = 0x02b1;\n t[\"hieuhacirclekorean\"] = 0x327b;\n t[\"hieuhaparenkorean\"] = 0x321b;\n t[\"hieuhcirclekorean\"] = 0x326d;\n t[\"hieuhkorean\"] = 0x314e;\n t[\"hieuhparenkorean\"] = 0x320d;\n t[\"hihiragana\"] = 0x3072;\n t[\"hikatakana\"] = 0x30d2;\n t[\"hikatakanahalfwidth\"] = 0xff8b;\n t[\"hiriq\"] = 0x05b4;\n t[\"hiriq14\"] = 0x05b4;\n t[\"hiriq21\"] = 0x05b4;\n t[\"hiriq2d\"] = 0x05b4;\n t[\"hiriqhebrew\"] = 0x05b4;\n t[\"hiriqnarrowhebrew\"] = 0x05b4;\n t[\"hiriqquarterhebrew\"] = 0x05b4;\n t[\"hiriqwidehebrew\"] = 0x05b4;\n t[\"hlinebelow\"] = 0x1e96;\n t[\"hmonospace\"] = 0xff48;\n t[\"hoarmenian\"] = 0x0570;\n t[\"hohipthai\"] = 0x0e2b;\n t[\"hohiragana\"] = 0x307b;\n t[\"hokatakana\"] = 0x30db;\n t[\"hokatakanahalfwidth\"] = 0xff8e;\n t[\"holam\"] = 0x05b9;\n t[\"holam19\"] = 0x05b9;\n t[\"holam26\"] = 0x05b9;\n t[\"holam32\"] = 0x05b9;\n t[\"holamhebrew\"] = 0x05b9;\n t[\"holamnarrowhebrew\"] = 0x05b9;\n t[\"holamquarterhebrew\"] = 0x05b9;\n t[\"holamwidehebrew\"] = 0x05b9;\n t[\"honokhukthai\"] = 0x0e2e;\n t[\"hookabovecomb\"] = 0x0309;\n t[\"hookcmb\"] = 0x0309;\n t[\"hookpalatalizedbelowcmb\"] = 0x0321;\n t[\"hookretroflexbelowcmb\"] = 0x0322;\n t[\"hoonsquare\"] = 0x3342;\n t[\"horicoptic\"] = 0x03e9;\n t[\"horizontalbar\"] = 0x2015;\n t[\"horncmb\"] = 0x031b;\n t[\"hotsprings\"] = 0x2668;\n t[\"house\"] = 0x2302;\n t[\"hparen\"] = 0x24a3;\n t[\"hsuperior\"] = 0x02b0;\n t[\"hturned\"] = 0x0265;\n t[\"huhiragana\"] = 0x3075;\n t[\"huiitosquare\"] = 0x3333;\n t[\"hukatakana\"] = 0x30d5;\n t[\"hukatakanahalfwidth\"] = 0xff8c;\n t[\"hungarumlaut\"] = 0x02dd;\n t[\"hungarumlautcmb\"] = 0x030b;\n t[\"hv\"] = 0x0195;\n t[\"hyphen\"] = 0x002d;\n t[\"hypheninferior\"] = 0xf6e5;\n t[\"hyphenmonospace\"] = 0xff0d;\n t[\"hyphensmall\"] = 0xfe63;\n t[\"hyphensuperior\"] = 0xf6e6;\n t[\"hyphentwo\"] = 0x2010;\n t[\"i\"] = 0x0069;\n t[\"iacute\"] = 0x00ed;\n t[\"iacyrillic\"] = 0x044f;\n t[\"ibengali\"] = 0x0987;\n t[\"ibopomofo\"] = 0x3127;\n t[\"ibreve\"] = 0x012d;\n t[\"icaron\"] = 0x01d0;\n t[\"icircle\"] = 0x24d8;\n t[\"icircumflex\"] = 0x00ee;\n t[\"icyrillic\"] = 0x0456;\n t[\"idblgrave\"] = 0x0209;\n t[\"ideographearthcircle\"] = 0x328f;\n t[\"ideographfirecircle\"] = 0x328b;\n t[\"ideographicallianceparen\"] = 0x323f;\n t[\"ideographiccallparen\"] = 0x323a;\n t[\"ideographiccentrecircle\"] = 0x32a5;\n t[\"ideographicclose\"] = 0x3006;\n t[\"ideographiccomma\"] = 0x3001;\n t[\"ideographiccommaleft\"] = 0xff64;\n t[\"ideographiccongratulationparen\"] = 0x3237;\n t[\"ideographiccorrectcircle\"] = 0x32a3;\n t[\"ideographicearthparen\"] = 0x322f;\n t[\"ideographicenterpriseparen\"] = 0x323d;\n t[\"ideographicexcellentcircle\"] = 0x329d;\n t[\"ideographicfestivalparen\"] = 0x3240;\n t[\"ideographicfinancialcircle\"] = 0x3296;\n t[\"ideographicfinancialparen\"] = 0x3236;\n t[\"ideographicfireparen\"] = 0x322b;\n t[\"ideographichaveparen\"] = 0x3232;\n t[\"ideographichighcircle\"] = 0x32a4;\n t[\"ideographiciterationmark\"] = 0x3005;\n t[\"ideographiclaborcircle\"] = 0x3298;\n t[\"ideographiclaborparen\"] = 0x3238;\n t[\"ideographicleftcircle\"] = 0x32a7;\n t[\"ideographiclowcircle\"] = 0x32a6;\n t[\"ideographicmedicinecircle\"] = 0x32a9;\n t[\"ideographicmetalparen\"] = 0x322e;\n t[\"ideographicmoonparen\"] = 0x322a;\n t[\"ideographicnameparen\"] = 0x3234;\n t[\"ideographicperiod\"] = 0x3002;\n t[\"ideographicprintcircle\"] = 0x329e;\n t[\"ideographicreachparen\"] = 0x3243;\n t[\"ideographicrepresentparen\"] = 0x3239;\n t[\"ideographicresourceparen\"] = 0x323e;\n t[\"ideographicrightcircle\"] = 0x32a8;\n t[\"ideographicsecretcircle\"] = 0x3299;\n t[\"ideographicselfparen\"] = 0x3242;\n t[\"ideographicsocietyparen\"] = 0x3233;\n t[\"ideographicspace\"] = 0x3000;\n t[\"ideographicspecialparen\"] = 0x3235;\n t[\"ideographicstockparen\"] = 0x3231;\n t[\"ideographicstudyparen\"] = 0x323b;\n t[\"ideographicsunparen\"] = 0x3230;\n t[\"ideographicsuperviseparen\"] = 0x323c;\n t[\"ideographicwaterparen\"] = 0x322c;\n t[\"ideographicwoodparen\"] = 0x322d;\n t[\"ideographiczero\"] = 0x3007;\n t[\"ideographmetalcircle\"] = 0x328e;\n t[\"ideographmooncircle\"] = 0x328a;\n t[\"ideographnamecircle\"] = 0x3294;\n t[\"ideographsuncircle\"] = 0x3290;\n t[\"ideographwatercircle\"] = 0x328c;\n t[\"ideographwoodcircle\"] = 0x328d;\n t[\"ideva\"] = 0x0907;\n t[\"idieresis\"] = 0x00ef;\n t[\"idieresisacute\"] = 0x1e2f;\n t[\"idieresiscyrillic\"] = 0x04e5;\n t[\"idotbelow\"] = 0x1ecb;\n t[\"iebrevecyrillic\"] = 0x04d7;\n t[\"iecyrillic\"] = 0x0435;\n t[\"ieungacirclekorean\"] = 0x3275;\n t[\"ieungaparenkorean\"] = 0x3215;\n t[\"ieungcirclekorean\"] = 0x3267;\n t[\"ieungkorean\"] = 0x3147;\n t[\"ieungparenkorean\"] = 0x3207;\n t[\"igrave\"] = 0x00ec;\n t[\"igujarati\"] = 0x0a87;\n t[\"igurmukhi\"] = 0x0a07;\n t[\"ihiragana\"] = 0x3044;\n t[\"ihookabove\"] = 0x1ec9;\n t[\"iibengali\"] = 0x0988;\n t[\"iicyrillic\"] = 0x0438;\n t[\"iideva\"] = 0x0908;\n t[\"iigujarati\"] = 0x0a88;\n t[\"iigurmukhi\"] = 0x0a08;\n t[\"iimatragurmukhi\"] = 0x0a40;\n t[\"iinvertedbreve\"] = 0x020b;\n t[\"iishortcyrillic\"] = 0x0439;\n t[\"iivowelsignbengali\"] = 0x09c0;\n t[\"iivowelsigndeva\"] = 0x0940;\n t[\"iivowelsigngujarati\"] = 0x0ac0;\n t[\"ij\"] = 0x0133;\n t[\"ikatakana\"] = 0x30a4;\n t[\"ikatakanahalfwidth\"] = 0xff72;\n t[\"ikorean\"] = 0x3163;\n t[\"ilde\"] = 0x02dc;\n t[\"iluyhebrew\"] = 0x05ac;\n t[\"imacron\"] = 0x012b;\n t[\"imacroncyrillic\"] = 0x04e3;\n t[\"imageorapproximatelyequal\"] = 0x2253;\n t[\"imatragurmukhi\"] = 0x0a3f;\n t[\"imonospace\"] = 0xff49;\n t[\"increment\"] = 0x2206;\n t[\"infinity\"] = 0x221e;\n t[\"iniarmenian\"] = 0x056b;\n t[\"integral\"] = 0x222b;\n t[\"integralbottom\"] = 0x2321;\n t[\"integralbt\"] = 0x2321;\n t[\"integralex\"] = 0xf8f5;\n t[\"integraltop\"] = 0x2320;\n t[\"integraltp\"] = 0x2320;\n t[\"intersection\"] = 0x2229;\n t[\"intisquare\"] = 0x3305;\n t[\"invbullet\"] = 0x25d8;\n t[\"invcircle\"] = 0x25d9;\n t[\"invsmileface\"] = 0x263b;\n t[\"iocyrillic\"] = 0x0451;\n t[\"iogonek\"] = 0x012f;\n t[\"iota\"] = 0x03b9;\n t[\"iotadieresis\"] = 0x03ca;\n t[\"iotadieresistonos\"] = 0x0390;\n t[\"iotalatin\"] = 0x0269;\n t[\"iotatonos\"] = 0x03af;\n t[\"iparen\"] = 0x24a4;\n t[\"irigurmukhi\"] = 0x0a72;\n t[\"ismallhiragana\"] = 0x3043;\n t[\"ismallkatakana\"] = 0x30a3;\n t[\"ismallkatakanahalfwidth\"] = 0xff68;\n t[\"issharbengali\"] = 0x09fa;\n t[\"istroke\"] = 0x0268;\n t[\"isuperior\"] = 0xf6ed;\n t[\"iterationhiragana\"] = 0x309d;\n t[\"iterationkatakana\"] = 0x30fd;\n t[\"itilde\"] = 0x0129;\n t[\"itildebelow\"] = 0x1e2d;\n t[\"iubopomofo\"] = 0x3129;\n t[\"iucyrillic\"] = 0x044e;\n t[\"ivowelsignbengali\"] = 0x09bf;\n t[\"ivowelsigndeva\"] = 0x093f;\n t[\"ivowelsigngujarati\"] = 0x0abf;\n t[\"izhitsacyrillic\"] = 0x0475;\n t[\"izhitsadblgravecyrillic\"] = 0x0477;\n t[\"j\"] = 0x006a;\n t[\"jaarmenian\"] = 0x0571;\n t[\"jabengali\"] = 0x099c;\n t[\"jadeva\"] = 0x091c;\n t[\"jagujarati\"] = 0x0a9c;\n t[\"jagurmukhi\"] = 0x0a1c;\n t[\"jbopomofo\"] = 0x3110;\n t[\"jcaron\"] = 0x01f0;\n t[\"jcircle\"] = 0x24d9;\n t[\"jcircumflex\"] = 0x0135;\n t[\"jcrossedtail\"] = 0x029d;\n t[\"jdotlessstroke\"] = 0x025f;\n t[\"jecyrillic\"] = 0x0458;\n t[\"jeemarabic\"] = 0x062c;\n t[\"jeemfinalarabic\"] = 0xfe9e;\n t[\"jeeminitialarabic\"] = 0xfe9f;\n t[\"jeemmedialarabic\"] = 0xfea0;\n t[\"jeharabic\"] = 0x0698;\n t[\"jehfinalarabic\"] = 0xfb8b;\n t[\"jhabengali\"] = 0x099d;\n t[\"jhadeva\"] = 0x091d;\n t[\"jhagujarati\"] = 0x0a9d;\n t[\"jhagurmukhi\"] = 0x0a1d;\n t[\"jheharmenian\"] = 0x057b;\n t[\"jis\"] = 0x3004;\n t[\"jmonospace\"] = 0xff4a;\n t[\"jparen\"] = 0x24a5;\n t[\"jsuperior\"] = 0x02b2;\n t[\"k\"] = 0x006b;\n t[\"kabashkircyrillic\"] = 0x04a1;\n t[\"kabengali\"] = 0x0995;\n t[\"kacute\"] = 0x1e31;\n t[\"kacyrillic\"] = 0x043a;\n t[\"kadescendercyrillic\"] = 0x049b;\n t[\"kadeva\"] = 0x0915;\n t[\"kaf\"] = 0x05db;\n t[\"kafarabic\"] = 0x0643;\n t[\"kafdagesh\"] = 0xfb3b;\n t[\"kafdageshhebrew\"] = 0xfb3b;\n t[\"kaffinalarabic\"] = 0xfeda;\n t[\"kafhebrew\"] = 0x05db;\n t[\"kafinitialarabic\"] = 0xfedb;\n t[\"kafmedialarabic\"] = 0xfedc;\n t[\"kafrafehebrew\"] = 0xfb4d;\n t[\"kagujarati\"] = 0x0a95;\n t[\"kagurmukhi\"] = 0x0a15;\n t[\"kahiragana\"] = 0x304b;\n t[\"kahookcyrillic\"] = 0x04c4;\n t[\"kakatakana\"] = 0x30ab;\n t[\"kakatakanahalfwidth\"] = 0xff76;\n t[\"kappa\"] = 0x03ba;\n t[\"kappasymbolgreek\"] = 0x03f0;\n t[\"kapyeounmieumkorean\"] = 0x3171;\n t[\"kapyeounphieuphkorean\"] = 0x3184;\n t[\"kapyeounpieupkorean\"] = 0x3178;\n t[\"kapyeounssangpieupkorean\"] = 0x3179;\n t[\"karoriisquare\"] = 0x330d;\n t[\"kashidaautoarabic\"] = 0x0640;\n t[\"kashidaautonosidebearingarabic\"] = 0x0640;\n t[\"kasmallkatakana\"] = 0x30f5;\n t[\"kasquare\"] = 0x3384;\n t[\"kasraarabic\"] = 0x0650;\n t[\"kasratanarabic\"] = 0x064d;\n t[\"kastrokecyrillic\"] = 0x049f;\n t[\"katahiraprolongmarkhalfwidth\"] = 0xff70;\n t[\"kaverticalstrokecyrillic\"] = 0x049d;\n t[\"kbopomofo\"] = 0x310e;\n t[\"kcalsquare\"] = 0x3389;\n t[\"kcaron\"] = 0x01e9;\n t[\"kcedilla\"] = 0x0137;\n t[\"kcircle\"] = 0x24da;\n t[\"kcommaaccent\"] = 0x0137;\n t[\"kdotbelow\"] = 0x1e33;\n t[\"keharmenian\"] = 0x0584;\n t[\"kehiragana\"] = 0x3051;\n t[\"kekatakana\"] = 0x30b1;\n t[\"kekatakanahalfwidth\"] = 0xff79;\n t[\"kenarmenian\"] = 0x056f;\n t[\"kesmallkatakana\"] = 0x30f6;\n t[\"kgreenlandic\"] = 0x0138;\n t[\"khabengali\"] = 0x0996;\n t[\"khacyrillic\"] = 0x0445;\n t[\"khadeva\"] = 0x0916;\n t[\"khagujarati\"] = 0x0a96;\n t[\"khagurmukhi\"] = 0x0a16;\n t[\"khaharabic\"] = 0x062e;\n t[\"khahfinalarabic\"] = 0xfea6;\n t[\"khahinitialarabic\"] = 0xfea7;\n t[\"khahmedialarabic\"] = 0xfea8;\n t[\"kheicoptic\"] = 0x03e7;\n t[\"khhadeva\"] = 0x0959;\n t[\"khhagurmukhi\"] = 0x0a59;\n t[\"khieukhacirclekorean\"] = 0x3278;\n t[\"khieukhaparenkorean\"] = 0x3218;\n t[\"khieukhcirclekorean\"] = 0x326a;\n t[\"khieukhkorean\"] = 0x314b;\n t[\"khieukhparenkorean\"] = 0x320a;\n t[\"khokhaithai\"] = 0x0e02;\n t[\"khokhonthai\"] = 0x0e05;\n t[\"khokhuatthai\"] = 0x0e03;\n t[\"khokhwaithai\"] = 0x0e04;\n t[\"khomutthai\"] = 0x0e5b;\n t[\"khook\"] = 0x0199;\n t[\"khorakhangthai\"] = 0x0e06;\n t[\"khzsquare\"] = 0x3391;\n t[\"kihiragana\"] = 0x304d;\n t[\"kikatakana\"] = 0x30ad;\n t[\"kikatakanahalfwidth\"] = 0xff77;\n t[\"kiroguramusquare\"] = 0x3315;\n t[\"kiromeetorusquare\"] = 0x3316;\n t[\"kirosquare\"] = 0x3314;\n t[\"kiyeokacirclekorean\"] = 0x326e;\n t[\"kiyeokaparenkorean\"] = 0x320e;\n t[\"kiyeokcirclekorean\"] = 0x3260;\n t[\"kiyeokkorean\"] = 0x3131;\n t[\"kiyeokparenkorean\"] = 0x3200;\n t[\"kiyeoksioskorean\"] = 0x3133;\n t[\"kjecyrillic\"] = 0x045c;\n t[\"klinebelow\"] = 0x1e35;\n t[\"klsquare\"] = 0x3398;\n t[\"kmcubedsquare\"] = 0x33a6;\n t[\"kmonospace\"] = 0xff4b;\n t[\"kmsquaredsquare\"] = 0x33a2;\n t[\"kohiragana\"] = 0x3053;\n t[\"kohmsquare\"] = 0x33c0;\n t[\"kokaithai\"] = 0x0e01;\n t[\"kokatakana\"] = 0x30b3;\n t[\"kokatakanahalfwidth\"] = 0xff7a;\n t[\"kooposquare\"] = 0x331e;\n t[\"koppacyrillic\"] = 0x0481;\n t[\"koreanstandardsymbol\"] = 0x327f;\n t[\"koroniscmb\"] = 0x0343;\n t[\"kparen\"] = 0x24a6;\n t[\"kpasquare\"] = 0x33aa;\n t[\"ksicyrillic\"] = 0x046f;\n t[\"ktsquare\"] = 0x33cf;\n t[\"kturned\"] = 0x029e;\n t[\"kuhiragana\"] = 0x304f;\n t[\"kukatakana\"] = 0x30af;\n t[\"kukatakanahalfwidth\"] = 0xff78;\n t[\"kvsquare\"] = 0x33b8;\n t[\"kwsquare\"] = 0x33be;\n t[\"l\"] = 0x006c;\n t[\"labengali\"] = 0x09b2;\n t[\"lacute\"] = 0x013a;\n t[\"ladeva\"] = 0x0932;\n t[\"lagujarati\"] = 0x0ab2;\n t[\"lagurmukhi\"] = 0x0a32;\n t[\"lakkhangyaothai\"] = 0x0e45;\n t[\"lamaleffinalarabic\"] = 0xfefc;\n t[\"lamalefhamzaabovefinalarabic\"] = 0xfef8;\n t[\"lamalefhamzaaboveisolatedarabic\"] = 0xfef7;\n t[\"lamalefhamzabelowfinalarabic\"] = 0xfefa;\n t[\"lamalefhamzabelowisolatedarabic\"] = 0xfef9;\n t[\"lamalefisolatedarabic\"] = 0xfefb;\n t[\"lamalefmaddaabovefinalarabic\"] = 0xfef6;\n t[\"lamalefmaddaaboveisolatedarabic\"] = 0xfef5;\n t[\"lamarabic\"] = 0x0644;\n t[\"lambda\"] = 0x03bb;\n t[\"lambdastroke\"] = 0x019b;\n t[\"lamed\"] = 0x05dc;\n t[\"lameddagesh\"] = 0xfb3c;\n t[\"lameddageshhebrew\"] = 0xfb3c;\n t[\"lamedhebrew\"] = 0x05dc;\n t[\"lamfinalarabic\"] = 0xfede;\n t[\"lamhahinitialarabic\"] = 0xfcca;\n t[\"laminitialarabic\"] = 0xfedf;\n t[\"lamjeeminitialarabic\"] = 0xfcc9;\n t[\"lamkhahinitialarabic\"] = 0xfccb;\n t[\"lamlamhehisolatedarabic\"] = 0xfdf2;\n t[\"lammedialarabic\"] = 0xfee0;\n t[\"lammeemhahinitialarabic\"] = 0xfd88;\n t[\"lammeeminitialarabic\"] = 0xfccc;\n t[\"largecircle\"] = 0x25ef;\n t[\"lbar\"] = 0x019a;\n t[\"lbelt\"] = 0x026c;\n t[\"lbopomofo\"] = 0x310c;\n t[\"lcaron\"] = 0x013e;\n t[\"lcedilla\"] = 0x013c;\n t[\"lcircle\"] = 0x24db;\n t[\"lcircumflexbelow\"] = 0x1e3d;\n t[\"lcommaaccent\"] = 0x013c;\n t[\"ldot\"] = 0x0140;\n t[\"ldotaccent\"] = 0x0140;\n t[\"ldotbelow\"] = 0x1e37;\n t[\"ldotbelowmacron\"] = 0x1e39;\n t[\"leftangleabovecmb\"] = 0x031a;\n t[\"lefttackbelowcmb\"] = 0x0318;\n t[\"less\"] = 0x003c;\n t[\"lessequal\"] = 0x2264;\n t[\"lessequalorgreater\"] = 0x22da;\n t[\"lessmonospace\"] = 0xff1c;\n t[\"lessorequivalent\"] = 0x2272;\n t[\"lessorgreater\"] = 0x2276;\n t[\"lessoverequal\"] = 0x2266;\n t[\"lesssmall\"] = 0xfe64;\n t[\"lezh\"] = 0x026e;\n t[\"lfblock\"] = 0x258c;\n t[\"lhookretroflex\"] = 0x026d;\n t[\"lira\"] = 0x20a4;\n t[\"liwnarmenian\"] = 0x056c;\n t[\"lj\"] = 0x01c9;\n t[\"ljecyrillic\"] = 0x0459;\n t[\"ll\"] = 0xf6c0;\n t[\"lladeva\"] = 0x0933;\n t[\"llagujarati\"] = 0x0ab3;\n t[\"llinebelow\"] = 0x1e3b;\n t[\"llladeva\"] = 0x0934;\n t[\"llvocalicbengali\"] = 0x09e1;\n t[\"llvocalicdeva\"] = 0x0961;\n t[\"llvocalicvowelsignbengali\"] = 0x09e3;\n t[\"llvocalicvowelsigndeva\"] = 0x0963;\n t[\"lmiddletilde\"] = 0x026b;\n t[\"lmonospace\"] = 0xff4c;\n t[\"lmsquare\"] = 0x33d0;\n t[\"lochulathai\"] = 0x0e2c;\n t[\"logicaland\"] = 0x2227;\n t[\"logicalnot\"] = 0x00ac;\n t[\"logicalnotreversed\"] = 0x2310;\n t[\"logicalor\"] = 0x2228;\n t[\"lolingthai\"] = 0x0e25;\n t[\"longs\"] = 0x017f;\n t[\"lowlinecenterline\"] = 0xfe4e;\n t[\"lowlinecmb\"] = 0x0332;\n t[\"lowlinedashed\"] = 0xfe4d;\n t[\"lozenge\"] = 0x25ca;\n t[\"lparen\"] = 0x24a7;\n t[\"lslash\"] = 0x0142;\n t[\"lsquare\"] = 0x2113;\n t[\"lsuperior\"] = 0xf6ee;\n t[\"ltshade\"] = 0x2591;\n t[\"luthai\"] = 0x0e26;\n t[\"lvocalicbengali\"] = 0x098c;\n t[\"lvocalicdeva\"] = 0x090c;\n t[\"lvocalicvowelsignbengali\"] = 0x09e2;\n t[\"lvocalicvowelsigndeva\"] = 0x0962;\n t[\"lxsquare\"] = 0x33d3;\n t[\"m\"] = 0x006d;\n t[\"mabengali\"] = 0x09ae;\n t[\"macron\"] = 0x00af;\n t[\"macronbelowcmb\"] = 0x0331;\n t[\"macroncmb\"] = 0x0304;\n t[\"macronlowmod\"] = 0x02cd;\n t[\"macronmonospace\"] = 0xffe3;\n t[\"macute\"] = 0x1e3f;\n t[\"madeva\"] = 0x092e;\n t[\"magujarati\"] = 0x0aae;\n t[\"magurmukhi\"] = 0x0a2e;\n t[\"mahapakhhebrew\"] = 0x05a4;\n t[\"mahapakhlefthebrew\"] = 0x05a4;\n t[\"mahiragana\"] = 0x307e;\n t[\"maichattawalowleftthai\"] = 0xf895;\n t[\"maichattawalowrightthai\"] = 0xf894;\n t[\"maichattawathai\"] = 0x0e4b;\n t[\"maichattawaupperleftthai\"] = 0xf893;\n t[\"maieklowleftthai\"] = 0xf88c;\n t[\"maieklowrightthai\"] = 0xf88b;\n t[\"maiekthai\"] = 0x0e48;\n t[\"maiekupperleftthai\"] = 0xf88a;\n t[\"maihanakatleftthai\"] = 0xf884;\n t[\"maihanakatthai\"] = 0x0e31;\n t[\"maitaikhuleftthai\"] = 0xf889;\n t[\"maitaikhuthai\"] = 0x0e47;\n t[\"maitholowleftthai\"] = 0xf88f;\n t[\"maitholowrightthai\"] = 0xf88e;\n t[\"maithothai\"] = 0x0e49;\n t[\"maithoupperleftthai\"] = 0xf88d;\n t[\"maitrilowleftthai\"] = 0xf892;\n t[\"maitrilowrightthai\"] = 0xf891;\n t[\"maitrithai\"] = 0x0e4a;\n t[\"maitriupperleftthai\"] = 0xf890;\n t[\"maiyamokthai\"] = 0x0e46;\n t[\"makatakana\"] = 0x30de;\n t[\"makatakanahalfwidth\"] = 0xff8f;\n t[\"male\"] = 0x2642;\n t[\"mansyonsquare\"] = 0x3347;\n t[\"maqafhebrew\"] = 0x05be;\n t[\"mars\"] = 0x2642;\n t[\"masoracirclehebrew\"] = 0x05af;\n t[\"masquare\"] = 0x3383;\n t[\"mbopomofo\"] = 0x3107;\n t[\"mbsquare\"] = 0x33d4;\n t[\"mcircle\"] = 0x24dc;\n t[\"mcubedsquare\"] = 0x33a5;\n t[\"mdotaccent\"] = 0x1e41;\n t[\"mdotbelow\"] = 0x1e43;\n t[\"meemarabic\"] = 0x0645;\n t[\"meemfinalarabic\"] = 0xfee2;\n t[\"meeminitialarabic\"] = 0xfee3;\n t[\"meemmedialarabic\"] = 0xfee4;\n t[\"meemmeeminitialarabic\"] = 0xfcd1;\n t[\"meemmeemisolatedarabic\"] = 0xfc48;\n t[\"meetorusquare\"] = 0x334d;\n t[\"mehiragana\"] = 0x3081;\n t[\"meizierasquare\"] = 0x337e;\n t[\"mekatakana\"] = 0x30e1;\n t[\"mekatakanahalfwidth\"] = 0xff92;\n t[\"mem\"] = 0x05de;\n t[\"memdagesh\"] = 0xfb3e;\n t[\"memdageshhebrew\"] = 0xfb3e;\n t[\"memhebrew\"] = 0x05de;\n t[\"menarmenian\"] = 0x0574;\n t[\"merkhahebrew\"] = 0x05a5;\n t[\"merkhakefulahebrew\"] = 0x05a6;\n t[\"merkhakefulalefthebrew\"] = 0x05a6;\n t[\"merkhalefthebrew\"] = 0x05a5;\n t[\"mhook\"] = 0x0271;\n t[\"mhzsquare\"] = 0x3392;\n t[\"middledotkatakanahalfwidth\"] = 0xff65;\n t[\"middot\"] = 0x00b7;\n t[\"mieumacirclekorean\"] = 0x3272;\n t[\"mieumaparenkorean\"] = 0x3212;\n t[\"mieumcirclekorean\"] = 0x3264;\n t[\"mieumkorean\"] = 0x3141;\n t[\"mieumpansioskorean\"] = 0x3170;\n t[\"mieumparenkorean\"] = 0x3204;\n t[\"mieumpieupkorean\"] = 0x316e;\n t[\"mieumsioskorean\"] = 0x316f;\n t[\"mihiragana\"] = 0x307f;\n t[\"mikatakana\"] = 0x30df;\n t[\"mikatakanahalfwidth\"] = 0xff90;\n t[\"minus\"] = 0x2212;\n t[\"minusbelowcmb\"] = 0x0320;\n t[\"minuscircle\"] = 0x2296;\n t[\"minusmod\"] = 0x02d7;\n t[\"minusplus\"] = 0x2213;\n t[\"minute\"] = 0x2032;\n t[\"miribaarusquare\"] = 0x334a;\n t[\"mirisquare\"] = 0x3349;\n t[\"mlonglegturned\"] = 0x0270;\n t[\"mlsquare\"] = 0x3396;\n t[\"mmcubedsquare\"] = 0x33a3;\n t[\"mmonospace\"] = 0xff4d;\n t[\"mmsquaredsquare\"] = 0x339f;\n t[\"mohiragana\"] = 0x3082;\n t[\"mohmsquare\"] = 0x33c1;\n t[\"mokatakana\"] = 0x30e2;\n t[\"mokatakanahalfwidth\"] = 0xff93;\n t[\"molsquare\"] = 0x33d6;\n t[\"momathai\"] = 0x0e21;\n t[\"moverssquare\"] = 0x33a7;\n t[\"moverssquaredsquare\"] = 0x33a8;\n t[\"mparen\"] = 0x24a8;\n t[\"mpasquare\"] = 0x33ab;\n t[\"mssquare\"] = 0x33b3;\n t[\"msuperior\"] = 0xf6ef;\n t[\"mturned\"] = 0x026f;\n t[\"mu\"] = 0x00b5;\n t[\"mu1\"] = 0x00b5;\n t[\"muasquare\"] = 0x3382;\n t[\"muchgreater\"] = 0x226b;\n t[\"muchless\"] = 0x226a;\n t[\"mufsquare\"] = 0x338c;\n t[\"mugreek\"] = 0x03bc;\n t[\"mugsquare\"] = 0x338d;\n t[\"muhiragana\"] = 0x3080;\n t[\"mukatakana\"] = 0x30e0;\n t[\"mukatakanahalfwidth\"] = 0xff91;\n t[\"mulsquare\"] = 0x3395;\n t[\"multiply\"] = 0x00d7;\n t[\"mumsquare\"] = 0x339b;\n t[\"munahhebrew\"] = 0x05a3;\n t[\"munahlefthebrew\"] = 0x05a3;\n t[\"musicalnote\"] = 0x266a;\n t[\"musicalnotedbl\"] = 0x266b;\n t[\"musicflatsign\"] = 0x266d;\n t[\"musicsharpsign\"] = 0x266f;\n t[\"mussquare\"] = 0x33b2;\n t[\"muvsquare\"] = 0x33b6;\n t[\"muwsquare\"] = 0x33bc;\n t[\"mvmegasquare\"] = 0x33b9;\n t[\"mvsquare\"] = 0x33b7;\n t[\"mwmegasquare\"] = 0x33bf;\n t[\"mwsquare\"] = 0x33bd;\n t[\"n\"] = 0x006e;\n t[\"nabengali\"] = 0x09a8;\n t[\"nabla\"] = 0x2207;\n t[\"nacute\"] = 0x0144;\n t[\"nadeva\"] = 0x0928;\n t[\"nagujarati\"] = 0x0aa8;\n t[\"nagurmukhi\"] = 0x0a28;\n t[\"nahiragana\"] = 0x306a;\n t[\"nakatakana\"] = 0x30ca;\n t[\"nakatakanahalfwidth\"] = 0xff85;\n t[\"napostrophe\"] = 0x0149;\n t[\"nasquare\"] = 0x3381;\n t[\"nbopomofo\"] = 0x310b;\n t[\"nbspace\"] = 0x00a0;\n t[\"ncaron\"] = 0x0148;\n t[\"ncedilla\"] = 0x0146;\n t[\"ncircle\"] = 0x24dd;\n t[\"ncircumflexbelow\"] = 0x1e4b;\n t[\"ncommaaccent\"] = 0x0146;\n t[\"ndotaccent\"] = 0x1e45;\n t[\"ndotbelow\"] = 0x1e47;\n t[\"nehiragana\"] = 0x306d;\n t[\"nekatakana\"] = 0x30cd;\n t[\"nekatakanahalfwidth\"] = 0xff88;\n t[\"newsheqelsign\"] = 0x20aa;\n t[\"nfsquare\"] = 0x338b;\n t[\"ngabengali\"] = 0x0999;\n t[\"ngadeva\"] = 0x0919;\n t[\"ngagujarati\"] = 0x0a99;\n t[\"ngagurmukhi\"] = 0x0a19;\n t[\"ngonguthai\"] = 0x0e07;\n t[\"nhiragana\"] = 0x3093;\n t[\"nhookleft\"] = 0x0272;\n t[\"nhookretroflex\"] = 0x0273;\n t[\"nieunacirclekorean\"] = 0x326f;\n t[\"nieunaparenkorean\"] = 0x320f;\n t[\"nieuncieuckorean\"] = 0x3135;\n t[\"nieuncirclekorean\"] = 0x3261;\n t[\"nieunhieuhkorean\"] = 0x3136;\n t[\"nieunkorean\"] = 0x3134;\n t[\"nieunpansioskorean\"] = 0x3168;\n t[\"nieunparenkorean\"] = 0x3201;\n t[\"nieunsioskorean\"] = 0x3167;\n t[\"nieuntikeutkorean\"] = 0x3166;\n t[\"nihiragana\"] = 0x306b;\n t[\"nikatakana\"] = 0x30cb;\n t[\"nikatakanahalfwidth\"] = 0xff86;\n t[\"nikhahitleftthai\"] = 0xf899;\n t[\"nikhahitthai\"] = 0x0e4d;\n t[\"nine\"] = 0x0039;\n t[\"ninearabic\"] = 0x0669;\n t[\"ninebengali\"] = 0x09ef;\n t[\"ninecircle\"] = 0x2468;\n t[\"ninecircleinversesansserif\"] = 0x2792;\n t[\"ninedeva\"] = 0x096f;\n t[\"ninegujarati\"] = 0x0aef;\n t[\"ninegurmukhi\"] = 0x0a6f;\n t[\"ninehackarabic\"] = 0x0669;\n t[\"ninehangzhou\"] = 0x3029;\n t[\"nineideographicparen\"] = 0x3228;\n t[\"nineinferior\"] = 0x2089;\n t[\"ninemonospace\"] = 0xff19;\n t[\"nineoldstyle\"] = 0xf739;\n t[\"nineparen\"] = 0x247c;\n t[\"nineperiod\"] = 0x2490;\n t[\"ninepersian\"] = 0x06f9;\n t[\"nineroman\"] = 0x2178;\n t[\"ninesuperior\"] = 0x2079;\n t[\"nineteencircle\"] = 0x2472;\n t[\"nineteenparen\"] = 0x2486;\n t[\"nineteenperiod\"] = 0x249a;\n t[\"ninethai\"] = 0x0e59;\n t[\"nj\"] = 0x01cc;\n t[\"njecyrillic\"] = 0x045a;\n t[\"nkatakana\"] = 0x30f3;\n t[\"nkatakanahalfwidth\"] = 0xff9d;\n t[\"nlegrightlong\"] = 0x019e;\n t[\"nlinebelow\"] = 0x1e49;\n t[\"nmonospace\"] = 0xff4e;\n t[\"nmsquare\"] = 0x339a;\n t[\"nnabengali\"] = 0x09a3;\n t[\"nnadeva\"] = 0x0923;\n t[\"nnagujarati\"] = 0x0aa3;\n t[\"nnagurmukhi\"] = 0x0a23;\n t[\"nnnadeva\"] = 0x0929;\n t[\"nohiragana\"] = 0x306e;\n t[\"nokatakana\"] = 0x30ce;\n t[\"nokatakanahalfwidth\"] = 0xff89;\n t[\"nonbreakingspace\"] = 0x00a0;\n t[\"nonenthai\"] = 0x0e13;\n t[\"nonuthai\"] = 0x0e19;\n t[\"noonarabic\"] = 0x0646;\n t[\"noonfinalarabic\"] = 0xfee6;\n t[\"noonghunnaarabic\"] = 0x06ba;\n t[\"noonghunnafinalarabic\"] = 0xfb9f;\n t[\"nooninitialarabic\"] = 0xfee7;\n t[\"noonjeeminitialarabic\"] = 0xfcd2;\n t[\"noonjeemisolatedarabic\"] = 0xfc4b;\n t[\"noonmedialarabic\"] = 0xfee8;\n t[\"noonmeeminitialarabic\"] = 0xfcd5;\n t[\"noonmeemisolatedarabic\"] = 0xfc4e;\n t[\"noonnoonfinalarabic\"] = 0xfc8d;\n t[\"notcontains\"] = 0x220c;\n t[\"notelement\"] = 0x2209;\n t[\"notelementof\"] = 0x2209;\n t[\"notequal\"] = 0x2260;\n t[\"notgreater\"] = 0x226f;\n t[\"notgreaternorequal\"] = 0x2271;\n t[\"notgreaternorless\"] = 0x2279;\n t[\"notidentical\"] = 0x2262;\n t[\"notless\"] = 0x226e;\n t[\"notlessnorequal\"] = 0x2270;\n t[\"notparallel\"] = 0x2226;\n t[\"notprecedes\"] = 0x2280;\n t[\"notsubset\"] = 0x2284;\n t[\"notsucceeds\"] = 0x2281;\n t[\"notsuperset\"] = 0x2285;\n t[\"nowarmenian\"] = 0x0576;\n t[\"nparen\"] = 0x24a9;\n t[\"nssquare\"] = 0x33b1;\n t[\"nsuperior\"] = 0x207f;\n t[\"ntilde\"] = 0x00f1;\n t[\"nu\"] = 0x03bd;\n t[\"nuhiragana\"] = 0x306c;\n t[\"nukatakana\"] = 0x30cc;\n t[\"nukatakanahalfwidth\"] = 0xff87;\n t[\"nuktabengali\"] = 0x09bc;\n t[\"nuktadeva\"] = 0x093c;\n t[\"nuktagujarati\"] = 0x0abc;\n t[\"nuktagurmukhi\"] = 0x0a3c;\n t[\"numbersign\"] = 0x0023;\n t[\"numbersignmonospace\"] = 0xff03;\n t[\"numbersignsmall\"] = 0xfe5f;\n t[\"numeralsigngreek\"] = 0x0374;\n t[\"numeralsignlowergreek\"] = 0x0375;\n t[\"numero\"] = 0x2116;\n t[\"nun\"] = 0x05e0;\n t[\"nundagesh\"] = 0xfb40;\n t[\"nundageshhebrew\"] = 0xfb40;\n t[\"nunhebrew\"] = 0x05e0;\n t[\"nvsquare\"] = 0x33b5;\n t[\"nwsquare\"] = 0x33bb;\n t[\"nyabengali\"] = 0x099e;\n t[\"nyadeva\"] = 0x091e;\n t[\"nyagujarati\"] = 0x0a9e;\n t[\"nyagurmukhi\"] = 0x0a1e;\n t[\"o\"] = 0x006f;\n t[\"oacute\"] = 0x00f3;\n t[\"oangthai\"] = 0x0e2d;\n t[\"obarred\"] = 0x0275;\n t[\"obarredcyrillic\"] = 0x04e9;\n t[\"obarreddieresiscyrillic\"] = 0x04eb;\n t[\"obengali\"] = 0x0993;\n t[\"obopomofo\"] = 0x311b;\n t[\"obreve\"] = 0x014f;\n t[\"ocandradeva\"] = 0x0911;\n t[\"ocandragujarati\"] = 0x0a91;\n t[\"ocandravowelsigndeva\"] = 0x0949;\n t[\"ocandravowelsigngujarati\"] = 0x0ac9;\n t[\"ocaron\"] = 0x01d2;\n t[\"ocircle\"] = 0x24de;\n t[\"ocircumflex\"] = 0x00f4;\n t[\"ocircumflexacute\"] = 0x1ed1;\n t[\"ocircumflexdotbelow\"] = 0x1ed9;\n t[\"ocircumflexgrave\"] = 0x1ed3;\n t[\"ocircumflexhookabove\"] = 0x1ed5;\n t[\"ocircumflextilde\"] = 0x1ed7;\n t[\"ocyrillic\"] = 0x043e;\n t[\"odblacute\"] = 0x0151;\n t[\"odblgrave\"] = 0x020d;\n t[\"odeva\"] = 0x0913;\n t[\"odieresis\"] = 0x00f6;\n t[\"odieresiscyrillic\"] = 0x04e7;\n t[\"odotbelow\"] = 0x1ecd;\n t[\"oe\"] = 0x0153;\n t[\"oekorean\"] = 0x315a;\n t[\"ogonek\"] = 0x02db;\n t[\"ogonekcmb\"] = 0x0328;\n t[\"ograve\"] = 0x00f2;\n t[\"ogujarati\"] = 0x0a93;\n t[\"oharmenian\"] = 0x0585;\n t[\"ohiragana\"] = 0x304a;\n t[\"ohookabove\"] = 0x1ecf;\n t[\"ohorn\"] = 0x01a1;\n t[\"ohornacute\"] = 0x1edb;\n t[\"ohorndotbelow\"] = 0x1ee3;\n t[\"ohorngrave\"] = 0x1edd;\n t[\"ohornhookabove\"] = 0x1edf;\n t[\"ohorntilde\"] = 0x1ee1;\n t[\"ohungarumlaut\"] = 0x0151;\n t[\"oi\"] = 0x01a3;\n t[\"oinvertedbreve\"] = 0x020f;\n t[\"okatakana\"] = 0x30aa;\n t[\"okatakanahalfwidth\"] = 0xff75;\n t[\"okorean\"] = 0x3157;\n t[\"olehebrew\"] = 0x05ab;\n t[\"omacron\"] = 0x014d;\n t[\"omacronacute\"] = 0x1e53;\n t[\"omacrongrave\"] = 0x1e51;\n t[\"omdeva\"] = 0x0950;\n t[\"omega\"] = 0x03c9;\n t[\"omega1\"] = 0x03d6;\n t[\"omegacyrillic\"] = 0x0461;\n t[\"omegalatinclosed\"] = 0x0277;\n t[\"omegaroundcyrillic\"] = 0x047b;\n t[\"omegatitlocyrillic\"] = 0x047d;\n t[\"omegatonos\"] = 0x03ce;\n t[\"omgujarati\"] = 0x0ad0;\n t[\"omicron\"] = 0x03bf;\n t[\"omicrontonos\"] = 0x03cc;\n t[\"omonospace\"] = 0xff4f;\n t[\"one\"] = 0x0031;\n t[\"onearabic\"] = 0x0661;\n t[\"onebengali\"] = 0x09e7;\n t[\"onecircle\"] = 0x2460;\n t[\"onecircleinversesansserif\"] = 0x278a;\n t[\"onedeva\"] = 0x0967;\n t[\"onedotenleader\"] = 0x2024;\n t[\"oneeighth\"] = 0x215b;\n t[\"onefitted\"] = 0xf6dc;\n t[\"onegujarati\"] = 0x0ae7;\n t[\"onegurmukhi\"] = 0x0a67;\n t[\"onehackarabic\"] = 0x0661;\n t[\"onehalf\"] = 0x00bd;\n t[\"onehangzhou\"] = 0x3021;\n t[\"oneideographicparen\"] = 0x3220;\n t[\"oneinferior\"] = 0x2081;\n t[\"onemonospace\"] = 0xff11;\n t[\"onenumeratorbengali\"] = 0x09f4;\n t[\"oneoldstyle\"] = 0xf731;\n t[\"oneparen\"] = 0x2474;\n t[\"oneperiod\"] = 0x2488;\n t[\"onepersian\"] = 0x06f1;\n t[\"onequarter\"] = 0x00bc;\n t[\"oneroman\"] = 0x2170;\n t[\"onesuperior\"] = 0x00b9;\n t[\"onethai\"] = 0x0e51;\n t[\"onethird\"] = 0x2153;\n t[\"oogonek\"] = 0x01eb;\n t[\"oogonekmacron\"] = 0x01ed;\n t[\"oogurmukhi\"] = 0x0a13;\n t[\"oomatragurmukhi\"] = 0x0a4b;\n t[\"oopen\"] = 0x0254;\n t[\"oparen\"] = 0x24aa;\n t[\"openbullet\"] = 0x25e6;\n t[\"option\"] = 0x2325;\n t[\"ordfeminine\"] = 0x00aa;\n t[\"ordmasculine\"] = 0x00ba;\n t[\"orthogonal\"] = 0x221f;\n t[\"oshortdeva\"] = 0x0912;\n t[\"oshortvowelsigndeva\"] = 0x094a;\n t[\"oslash\"] = 0x00f8;\n t[\"oslashacute\"] = 0x01ff;\n t[\"osmallhiragana\"] = 0x3049;\n t[\"osmallkatakana\"] = 0x30a9;\n t[\"osmallkatakanahalfwidth\"] = 0xff6b;\n t[\"ostrokeacute\"] = 0x01ff;\n t[\"osuperior\"] = 0xf6f0;\n t[\"otcyrillic\"] = 0x047f;\n t[\"otilde\"] = 0x00f5;\n t[\"otildeacute\"] = 0x1e4d;\n t[\"otildedieresis\"] = 0x1e4f;\n t[\"oubopomofo\"] = 0x3121;\n t[\"overline\"] = 0x203e;\n t[\"overlinecenterline\"] = 0xfe4a;\n t[\"overlinecmb\"] = 0x0305;\n t[\"overlinedashed\"] = 0xfe49;\n t[\"overlinedblwavy\"] = 0xfe4c;\n t[\"overlinewavy\"] = 0xfe4b;\n t[\"overscore\"] = 0x00af;\n t[\"ovowelsignbengali\"] = 0x09cb;\n t[\"ovowelsigndeva\"] = 0x094b;\n t[\"ovowelsigngujarati\"] = 0x0acb;\n t[\"p\"] = 0x0070;\n t[\"paampssquare\"] = 0x3380;\n t[\"paasentosquare\"] = 0x332b;\n t[\"pabengali\"] = 0x09aa;\n t[\"pacute\"] = 0x1e55;\n t[\"padeva\"] = 0x092a;\n t[\"pagedown\"] = 0x21df;\n t[\"pageup\"] = 0x21de;\n t[\"pagujarati\"] = 0x0aaa;\n t[\"pagurmukhi\"] = 0x0a2a;\n t[\"pahiragana\"] = 0x3071;\n t[\"paiyannoithai\"] = 0x0e2f;\n t[\"pakatakana\"] = 0x30d1;\n t[\"palatalizationcyrilliccmb\"] = 0x0484;\n t[\"palochkacyrillic\"] = 0x04c0;\n t[\"pansioskorean\"] = 0x317f;\n t[\"paragraph\"] = 0x00b6;\n t[\"parallel\"] = 0x2225;\n t[\"parenleft\"] = 0x0028;\n t[\"parenleftaltonearabic\"] = 0xfd3e;\n t[\"parenleftbt\"] = 0xf8ed;\n t[\"parenleftex\"] = 0xf8ec;\n t[\"parenleftinferior\"] = 0x208d;\n t[\"parenleftmonospace\"] = 0xff08;\n t[\"parenleftsmall\"] = 0xfe59;\n t[\"parenleftsuperior\"] = 0x207d;\n t[\"parenlefttp\"] = 0xf8eb;\n t[\"parenleftvertical\"] = 0xfe35;\n t[\"parenright\"] = 0x0029;\n t[\"parenrightaltonearabic\"] = 0xfd3f;\n t[\"parenrightbt\"] = 0xf8f8;\n t[\"parenrightex\"] = 0xf8f7;\n t[\"parenrightinferior\"] = 0x208e;\n t[\"parenrightmonospace\"] = 0xff09;\n t[\"parenrightsmall\"] = 0xfe5a;\n t[\"parenrightsuperior\"] = 0x207e;\n t[\"parenrighttp\"] = 0xf8f6;\n t[\"parenrightvertical\"] = 0xfe36;\n t[\"partialdiff\"] = 0x2202;\n t[\"paseqhebrew\"] = 0x05c0;\n t[\"pashtahebrew\"] = 0x0599;\n t[\"pasquare\"] = 0x33a9;\n t[\"patah\"] = 0x05b7;\n t[\"patah11\"] = 0x05b7;\n t[\"patah1d\"] = 0x05b7;\n t[\"patah2a\"] = 0x05b7;\n t[\"patahhebrew\"] = 0x05b7;\n t[\"patahnarrowhebrew\"] = 0x05b7;\n t[\"patahquarterhebrew\"] = 0x05b7;\n t[\"patahwidehebrew\"] = 0x05b7;\n t[\"pazerhebrew\"] = 0x05a1;\n t[\"pbopomofo\"] = 0x3106;\n t[\"pcircle\"] = 0x24df;\n t[\"pdotaccent\"] = 0x1e57;\n t[\"pe\"] = 0x05e4;\n t[\"pecyrillic\"] = 0x043f;\n t[\"pedagesh\"] = 0xfb44;\n t[\"pedageshhebrew\"] = 0xfb44;\n t[\"peezisquare\"] = 0x333b;\n t[\"pefinaldageshhebrew\"] = 0xfb43;\n t[\"peharabic\"] = 0x067e;\n t[\"peharmenian\"] = 0x057a;\n t[\"pehebrew\"] = 0x05e4;\n t[\"pehfinalarabic\"] = 0xfb57;\n t[\"pehinitialarabic\"] = 0xfb58;\n t[\"pehiragana\"] = 0x307a;\n t[\"pehmedialarabic\"] = 0xfb59;\n t[\"pekatakana\"] = 0x30da;\n t[\"pemiddlehookcyrillic\"] = 0x04a7;\n t[\"perafehebrew\"] = 0xfb4e;\n t[\"percent\"] = 0x0025;\n t[\"percentarabic\"] = 0x066a;\n t[\"percentmonospace\"] = 0xff05;\n t[\"percentsmall\"] = 0xfe6a;\n t[\"period\"] = 0x002e;\n t[\"periodarmenian\"] = 0x0589;\n t[\"periodcentered\"] = 0x00b7;\n t[\"periodhalfwidth\"] = 0xff61;\n t[\"periodinferior\"] = 0xf6e7;\n t[\"periodmonospace\"] = 0xff0e;\n t[\"periodsmall\"] = 0xfe52;\n t[\"periodsuperior\"] = 0xf6e8;\n t[\"perispomenigreekcmb\"] = 0x0342;\n t[\"perpendicular\"] = 0x22a5;\n t[\"perthousand\"] = 0x2030;\n t[\"peseta\"] = 0x20a7;\n t[\"pfsquare\"] = 0x338a;\n t[\"phabengali\"] = 0x09ab;\n t[\"phadeva\"] = 0x092b;\n t[\"phagujarati\"] = 0x0aab;\n t[\"phagurmukhi\"] = 0x0a2b;\n t[\"phi\"] = 0x03c6;\n t[\"phi1\"] = 0x03d5;\n t[\"phieuphacirclekorean\"] = 0x327a;\n t[\"phieuphaparenkorean\"] = 0x321a;\n t[\"phieuphcirclekorean\"] = 0x326c;\n t[\"phieuphkorean\"] = 0x314d;\n t[\"phieuphparenkorean\"] = 0x320c;\n t[\"philatin\"] = 0x0278;\n t[\"phinthuthai\"] = 0x0e3a;\n t[\"phisymbolgreek\"] = 0x03d5;\n t[\"phook\"] = 0x01a5;\n t[\"phophanthai\"] = 0x0e1e;\n t[\"phophungthai\"] = 0x0e1c;\n t[\"phosamphaothai\"] = 0x0e20;\n t[\"pi\"] = 0x03c0;\n t[\"pieupacirclekorean\"] = 0x3273;\n t[\"pieupaparenkorean\"] = 0x3213;\n t[\"pieupcieuckorean\"] = 0x3176;\n t[\"pieupcirclekorean\"] = 0x3265;\n t[\"pieupkiyeokkorean\"] = 0x3172;\n t[\"pieupkorean\"] = 0x3142;\n t[\"pieupparenkorean\"] = 0x3205;\n t[\"pieupsioskiyeokkorean\"] = 0x3174;\n t[\"pieupsioskorean\"] = 0x3144;\n t[\"pieupsiostikeutkorean\"] = 0x3175;\n t[\"pieupthieuthkorean\"] = 0x3177;\n t[\"pieuptikeutkorean\"] = 0x3173;\n t[\"pihiragana\"] = 0x3074;\n t[\"pikatakana\"] = 0x30d4;\n t[\"pisymbolgreek\"] = 0x03d6;\n t[\"piwrarmenian\"] = 0x0583;\n t[\"plus\"] = 0x002b;\n t[\"plusbelowcmb\"] = 0x031f;\n t[\"pluscircle\"] = 0x2295;\n t[\"plusminus\"] = 0x00b1;\n t[\"plusmod\"] = 0x02d6;\n t[\"plusmonospace\"] = 0xff0b;\n t[\"plussmall\"] = 0xfe62;\n t[\"plussuperior\"] = 0x207a;\n t[\"pmonospace\"] = 0xff50;\n t[\"pmsquare\"] = 0x33d8;\n t[\"pohiragana\"] = 0x307d;\n t[\"pointingindexdownwhite\"] = 0x261f;\n t[\"pointingindexleftwhite\"] = 0x261c;\n t[\"pointingindexrightwhite\"] = 0x261e;\n t[\"pointingindexupwhite\"] = 0x261d;\n t[\"pokatakana\"] = 0x30dd;\n t[\"poplathai\"] = 0x0e1b;\n t[\"postalmark\"] = 0x3012;\n t[\"postalmarkface\"] = 0x3020;\n t[\"pparen\"] = 0x24ab;\n t[\"precedes\"] = 0x227a;\n t[\"prescription\"] = 0x211e;\n t[\"primemod\"] = 0x02b9;\n t[\"primereversed\"] = 0x2035;\n t[\"product\"] = 0x220f;\n t[\"projective\"] = 0x2305;\n t[\"prolongedkana\"] = 0x30fc;\n t[\"propellor\"] = 0x2318;\n t[\"propersubset\"] = 0x2282;\n t[\"propersuperset\"] = 0x2283;\n t[\"proportion\"] = 0x2237;\n t[\"proportional\"] = 0x221d;\n t[\"psi\"] = 0x03c8;\n t[\"psicyrillic\"] = 0x0471;\n t[\"psilipneumatacyrilliccmb\"] = 0x0486;\n t[\"pssquare\"] = 0x33b0;\n t[\"puhiragana\"] = 0x3077;\n t[\"pukatakana\"] = 0x30d7;\n t[\"pvsquare\"] = 0x33b4;\n t[\"pwsquare\"] = 0x33ba;\n t[\"q\"] = 0x0071;\n t[\"qadeva\"] = 0x0958;\n t[\"qadmahebrew\"] = 0x05a8;\n t[\"qafarabic\"] = 0x0642;\n t[\"qaffinalarabic\"] = 0xfed6;\n t[\"qafinitialarabic\"] = 0xfed7;\n t[\"qafmedialarabic\"] = 0xfed8;\n t[\"qamats\"] = 0x05b8;\n t[\"qamats10\"] = 0x05b8;\n t[\"qamats1a\"] = 0x05b8;\n t[\"qamats1c\"] = 0x05b8;\n t[\"qamats27\"] = 0x05b8;\n t[\"qamats29\"] = 0x05b8;\n t[\"qamats33\"] = 0x05b8;\n t[\"qamatsde\"] = 0x05b8;\n t[\"qamatshebrew\"] = 0x05b8;\n t[\"qamatsnarrowhebrew\"] = 0x05b8;\n t[\"qamatsqatanhebrew\"] = 0x05b8;\n t[\"qamatsqatannarrowhebrew\"] = 0x05b8;\n t[\"qamatsqatanquarterhebrew\"] = 0x05b8;\n t[\"qamatsqatanwidehebrew\"] = 0x05b8;\n t[\"qamatsquarterhebrew\"] = 0x05b8;\n t[\"qamatswidehebrew\"] = 0x05b8;\n t[\"qarneyparahebrew\"] = 0x059f;\n t[\"qbopomofo\"] = 0x3111;\n t[\"qcircle\"] = 0x24e0;\n t[\"qhook\"] = 0x02a0;\n t[\"qmonospace\"] = 0xff51;\n t[\"qof\"] = 0x05e7;\n t[\"qofdagesh\"] = 0xfb47;\n t[\"qofdageshhebrew\"] = 0xfb47;\n t[\"qofhebrew\"] = 0x05e7;\n t[\"qparen\"] = 0x24ac;\n t[\"quarternote\"] = 0x2669;\n t[\"qubuts\"] = 0x05bb;\n t[\"qubuts18\"] = 0x05bb;\n t[\"qubuts25\"] = 0x05bb;\n t[\"qubuts31\"] = 0x05bb;\n t[\"qubutshebrew\"] = 0x05bb;\n t[\"qubutsnarrowhebrew\"] = 0x05bb;\n t[\"qubutsquarterhebrew\"] = 0x05bb;\n t[\"qubutswidehebrew\"] = 0x05bb;\n t[\"question\"] = 0x003f;\n t[\"questionarabic\"] = 0x061f;\n t[\"questionarmenian\"] = 0x055e;\n t[\"questiondown\"] = 0x00bf;\n t[\"questiondownsmall\"] = 0xf7bf;\n t[\"questiongreek\"] = 0x037e;\n t[\"questionmonospace\"] = 0xff1f;\n t[\"questionsmall\"] = 0xf73f;\n t[\"quotedbl\"] = 0x0022;\n t[\"quotedblbase\"] = 0x201e;\n t[\"quotedblleft\"] = 0x201c;\n t[\"quotedblmonospace\"] = 0xff02;\n t[\"quotedblprime\"] = 0x301e;\n t[\"quotedblprimereversed\"] = 0x301d;\n t[\"quotedblright\"] = 0x201d;\n t[\"quoteleft\"] = 0x2018;\n t[\"quoteleftreversed\"] = 0x201b;\n t[\"quotereversed\"] = 0x201b;\n t[\"quoteright\"] = 0x2019;\n t[\"quoterightn\"] = 0x0149;\n t[\"quotesinglbase\"] = 0x201a;\n t[\"quotesingle\"] = 0x0027;\n t[\"quotesinglemonospace\"] = 0xff07;\n t[\"r\"] = 0x0072;\n t[\"raarmenian\"] = 0x057c;\n t[\"rabengali\"] = 0x09b0;\n t[\"racute\"] = 0x0155;\n t[\"radeva\"] = 0x0930;\n t[\"radical\"] = 0x221a;\n t[\"radicalex\"] = 0xf8e5;\n t[\"radoverssquare\"] = 0x33ae;\n t[\"radoverssquaredsquare\"] = 0x33af;\n t[\"radsquare\"] = 0x33ad;\n t[\"rafe\"] = 0x05bf;\n t[\"rafehebrew\"] = 0x05bf;\n t[\"ragujarati\"] = 0x0ab0;\n t[\"ragurmukhi\"] = 0x0a30;\n t[\"rahiragana\"] = 0x3089;\n t[\"rakatakana\"] = 0x30e9;\n t[\"rakatakanahalfwidth\"] = 0xff97;\n t[\"ralowerdiagonalbengali\"] = 0x09f1;\n t[\"ramiddlediagonalbengali\"] = 0x09f0;\n t[\"ramshorn\"] = 0x0264;\n t[\"ratio\"] = 0x2236;\n t[\"rbopomofo\"] = 0x3116;\n t[\"rcaron\"] = 0x0159;\n t[\"rcedilla\"] = 0x0157;\n t[\"rcircle\"] = 0x24e1;\n t[\"rcommaaccent\"] = 0x0157;\n t[\"rdblgrave\"] = 0x0211;\n t[\"rdotaccent\"] = 0x1e59;\n t[\"rdotbelow\"] = 0x1e5b;\n t[\"rdotbelowmacron\"] = 0x1e5d;\n t[\"referencemark\"] = 0x203b;\n t[\"reflexsubset\"] = 0x2286;\n t[\"reflexsuperset\"] = 0x2287;\n t[\"registered\"] = 0x00ae;\n t[\"registersans\"] = 0xf8e8;\n t[\"registerserif\"] = 0xf6da;\n t[\"reharabic\"] = 0x0631;\n t[\"reharmenian\"] = 0x0580;\n t[\"rehfinalarabic\"] = 0xfeae;\n t[\"rehiragana\"] = 0x308c;\n t[\"rekatakana\"] = 0x30ec;\n t[\"rekatakanahalfwidth\"] = 0xff9a;\n t[\"resh\"] = 0x05e8;\n t[\"reshdageshhebrew\"] = 0xfb48;\n t[\"reshhebrew\"] = 0x05e8;\n t[\"reversedtilde\"] = 0x223d;\n t[\"reviahebrew\"] = 0x0597;\n t[\"reviamugrashhebrew\"] = 0x0597;\n t[\"revlogicalnot\"] = 0x2310;\n t[\"rfishhook\"] = 0x027e;\n t[\"rfishhookreversed\"] = 0x027f;\n t[\"rhabengali\"] = 0x09dd;\n t[\"rhadeva\"] = 0x095d;\n t[\"rho\"] = 0x03c1;\n t[\"rhook\"] = 0x027d;\n t[\"rhookturned\"] = 0x027b;\n t[\"rhookturnedsuperior\"] = 0x02b5;\n t[\"rhosymbolgreek\"] = 0x03f1;\n t[\"rhotichookmod\"] = 0x02de;\n t[\"rieulacirclekorean\"] = 0x3271;\n t[\"rieulaparenkorean\"] = 0x3211;\n t[\"rieulcirclekorean\"] = 0x3263;\n t[\"rieulhieuhkorean\"] = 0x3140;\n t[\"rieulkiyeokkorean\"] = 0x313a;\n t[\"rieulkiyeoksioskorean\"] = 0x3169;\n t[\"rieulkorean\"] = 0x3139;\n t[\"rieulmieumkorean\"] = 0x313b;\n t[\"rieulpansioskorean\"] = 0x316c;\n t[\"rieulparenkorean\"] = 0x3203;\n t[\"rieulphieuphkorean\"] = 0x313f;\n t[\"rieulpieupkorean\"] = 0x313c;\n t[\"rieulpieupsioskorean\"] = 0x316b;\n t[\"rieulsioskorean\"] = 0x313d;\n t[\"rieulthieuthkorean\"] = 0x313e;\n t[\"rieultikeutkorean\"] = 0x316a;\n t[\"rieulyeorinhieuhkorean\"] = 0x316d;\n t[\"rightangle\"] = 0x221f;\n t[\"righttackbelowcmb\"] = 0x0319;\n t[\"righttriangle\"] = 0x22bf;\n t[\"rihiragana\"] = 0x308a;\n t[\"rikatakana\"] = 0x30ea;\n t[\"rikatakanahalfwidth\"] = 0xff98;\n t[\"ring\"] = 0x02da;\n t[\"ringbelowcmb\"] = 0x0325;\n t[\"ringcmb\"] = 0x030a;\n t[\"ringhalfleft\"] = 0x02bf;\n t[\"ringhalfleftarmenian\"] = 0x0559;\n t[\"ringhalfleftbelowcmb\"] = 0x031c;\n t[\"ringhalfleftcentered\"] = 0x02d3;\n t[\"ringhalfright\"] = 0x02be;\n t[\"ringhalfrightbelowcmb\"] = 0x0339;\n t[\"ringhalfrightcentered\"] = 0x02d2;\n t[\"rinvertedbreve\"] = 0x0213;\n t[\"rittorusquare\"] = 0x3351;\n t[\"rlinebelow\"] = 0x1e5f;\n t[\"rlongleg\"] = 0x027c;\n t[\"rlonglegturned\"] = 0x027a;\n t[\"rmonospace\"] = 0xff52;\n t[\"rohiragana\"] = 0x308d;\n t[\"rokatakana\"] = 0x30ed;\n t[\"rokatakanahalfwidth\"] = 0xff9b;\n t[\"roruathai\"] = 0x0e23;\n t[\"rparen\"] = 0x24ad;\n t[\"rrabengali\"] = 0x09dc;\n t[\"rradeva\"] = 0x0931;\n t[\"rragurmukhi\"] = 0x0a5c;\n t[\"rreharabic\"] = 0x0691;\n t[\"rrehfinalarabic\"] = 0xfb8d;\n t[\"rrvocalicbengali\"] = 0x09e0;\n t[\"rrvocalicdeva\"] = 0x0960;\n t[\"rrvocalicgujarati\"] = 0x0ae0;\n t[\"rrvocalicvowelsignbengali\"] = 0x09c4;\n t[\"rrvocalicvowelsigndeva\"] = 0x0944;\n t[\"rrvocalicvowelsigngujarati\"] = 0x0ac4;\n t[\"rsuperior\"] = 0xf6f1;\n t[\"rtblock\"] = 0x2590;\n t[\"rturned\"] = 0x0279;\n t[\"rturnedsuperior\"] = 0x02b4;\n t[\"ruhiragana\"] = 0x308b;\n t[\"rukatakana\"] = 0x30eb;\n t[\"rukatakanahalfwidth\"] = 0xff99;\n t[\"rupeemarkbengali\"] = 0x09f2;\n t[\"rupeesignbengali\"] = 0x09f3;\n t[\"rupiah\"] = 0xf6dd;\n t[\"ruthai\"] = 0x0e24;\n t[\"rvocalicbengali\"] = 0x098b;\n t[\"rvocalicdeva\"] = 0x090b;\n t[\"rvocalicgujarati\"] = 0x0a8b;\n t[\"rvocalicvowelsignbengali\"] = 0x09c3;\n t[\"rvocalicvowelsigndeva\"] = 0x0943;\n t[\"rvocalicvowelsigngujarati\"] = 0x0ac3;\n t[\"s\"] = 0x0073;\n t[\"sabengali\"] = 0x09b8;\n t[\"sacute\"] = 0x015b;\n t[\"sacutedotaccent\"] = 0x1e65;\n t[\"sadarabic\"] = 0x0635;\n t[\"sadeva\"] = 0x0938;\n t[\"sadfinalarabic\"] = 0xfeba;\n t[\"sadinitialarabic\"] = 0xfebb;\n t[\"sadmedialarabic\"] = 0xfebc;\n t[\"sagujarati\"] = 0x0ab8;\n t[\"sagurmukhi\"] = 0x0a38;\n t[\"sahiragana\"] = 0x3055;\n t[\"sakatakana\"] = 0x30b5;\n t[\"sakatakanahalfwidth\"] = 0xff7b;\n t[\"sallallahoualayhewasallamarabic\"] = 0xfdfa;\n t[\"samekh\"] = 0x05e1;\n t[\"samekhdagesh\"] = 0xfb41;\n t[\"samekhdageshhebrew\"] = 0xfb41;\n t[\"samekhhebrew\"] = 0x05e1;\n t[\"saraaathai\"] = 0x0e32;\n t[\"saraaethai\"] = 0x0e41;\n t[\"saraaimaimalaithai\"] = 0x0e44;\n t[\"saraaimaimuanthai\"] = 0x0e43;\n t[\"saraamthai\"] = 0x0e33;\n t[\"saraathai\"] = 0x0e30;\n t[\"saraethai\"] = 0x0e40;\n t[\"saraiileftthai\"] = 0xf886;\n t[\"saraiithai\"] = 0x0e35;\n t[\"saraileftthai\"] = 0xf885;\n t[\"saraithai\"] = 0x0e34;\n t[\"saraothai\"] = 0x0e42;\n t[\"saraueeleftthai\"] = 0xf888;\n t[\"saraueethai\"] = 0x0e37;\n t[\"saraueleftthai\"] = 0xf887;\n t[\"sarauethai\"] = 0x0e36;\n t[\"sarauthai\"] = 0x0e38;\n t[\"sarauuthai\"] = 0x0e39;\n t[\"sbopomofo\"] = 0x3119;\n t[\"scaron\"] = 0x0161;\n t[\"scarondotaccent\"] = 0x1e67;\n t[\"scedilla\"] = 0x015f;\n t[\"schwa\"] = 0x0259;\n t[\"schwacyrillic\"] = 0x04d9;\n t[\"schwadieresiscyrillic\"] = 0x04db;\n t[\"schwahook\"] = 0x025a;\n t[\"scircle\"] = 0x24e2;\n t[\"scircumflex\"] = 0x015d;\n t[\"scommaaccent\"] = 0x0219;\n t[\"sdotaccent\"] = 0x1e61;\n t[\"sdotbelow\"] = 0x1e63;\n t[\"sdotbelowdotaccent\"] = 0x1e69;\n t[\"seagullbelowcmb\"] = 0x033c;\n t[\"second\"] = 0x2033;\n t[\"secondtonechinese\"] = 0x02ca;\n t[\"section\"] = 0x00a7;\n t[\"seenarabic\"] = 0x0633;\n t[\"seenfinalarabic\"] = 0xfeb2;\n t[\"seeninitialarabic\"] = 0xfeb3;\n t[\"seenmedialarabic\"] = 0xfeb4;\n t[\"segol\"] = 0x05b6;\n t[\"segol13\"] = 0x05b6;\n t[\"segol1f\"] = 0x05b6;\n t[\"segol2c\"] = 0x05b6;\n t[\"segolhebrew\"] = 0x05b6;\n t[\"segolnarrowhebrew\"] = 0x05b6;\n t[\"segolquarterhebrew\"] = 0x05b6;\n t[\"segoltahebrew\"] = 0x0592;\n t[\"segolwidehebrew\"] = 0x05b6;\n t[\"seharmenian\"] = 0x057d;\n t[\"sehiragana\"] = 0x305b;\n t[\"sekatakana\"] = 0x30bb;\n t[\"sekatakanahalfwidth\"] = 0xff7e;\n t[\"semicolon\"] = 0x003b;\n t[\"semicolonarabic\"] = 0x061b;\n t[\"semicolonmonospace\"] = 0xff1b;\n t[\"semicolonsmall\"] = 0xfe54;\n t[\"semivoicedmarkkana\"] = 0x309c;\n t[\"semivoicedmarkkanahalfwidth\"] = 0xff9f;\n t[\"sentisquare\"] = 0x3322;\n t[\"sentosquare\"] = 0x3323;\n t[\"seven\"] = 0x0037;\n t[\"sevenarabic\"] = 0x0667;\n t[\"sevenbengali\"] = 0x09ed;\n t[\"sevencircle\"] = 0x2466;\n t[\"sevencircleinversesansserif\"] = 0x2790;\n t[\"sevendeva\"] = 0x096d;\n t[\"seveneighths\"] = 0x215e;\n t[\"sevengujarati\"] = 0x0aed;\n t[\"sevengurmukhi\"] = 0x0a6d;\n t[\"sevenhackarabic\"] = 0x0667;\n t[\"sevenhangzhou\"] = 0x3027;\n t[\"sevenideographicparen\"] = 0x3226;\n t[\"seveninferior\"] = 0x2087;\n t[\"sevenmonospace\"] = 0xff17;\n t[\"sevenoldstyle\"] = 0xf737;\n t[\"sevenparen\"] = 0x247a;\n t[\"sevenperiod\"] = 0x248e;\n t[\"sevenpersian\"] = 0x06f7;\n t[\"sevenroman\"] = 0x2176;\n t[\"sevensuperior\"] = 0x2077;\n t[\"seventeencircle\"] = 0x2470;\n t[\"seventeenparen\"] = 0x2484;\n t[\"seventeenperiod\"] = 0x2498;\n t[\"seventhai\"] = 0x0e57;\n t[\"sfthyphen\"] = 0x00ad;\n t[\"shaarmenian\"] = 0x0577;\n t[\"shabengali\"] = 0x09b6;\n t[\"shacyrillic\"] = 0x0448;\n t[\"shaddaarabic\"] = 0x0651;\n t[\"shaddadammaarabic\"] = 0xfc61;\n t[\"shaddadammatanarabic\"] = 0xfc5e;\n t[\"shaddafathaarabic\"] = 0xfc60;\n t[\"shaddakasraarabic\"] = 0xfc62;\n t[\"shaddakasratanarabic\"] = 0xfc5f;\n t[\"shade\"] = 0x2592;\n t[\"shadedark\"] = 0x2593;\n t[\"shadelight\"] = 0x2591;\n t[\"shademedium\"] = 0x2592;\n t[\"shadeva\"] = 0x0936;\n t[\"shagujarati\"] = 0x0ab6;\n t[\"shagurmukhi\"] = 0x0a36;\n t[\"shalshelethebrew\"] = 0x0593;\n t[\"shbopomofo\"] = 0x3115;\n t[\"shchacyrillic\"] = 0x0449;\n t[\"sheenarabic\"] = 0x0634;\n t[\"sheenfinalarabic\"] = 0xfeb6;\n t[\"sheeninitialarabic\"] = 0xfeb7;\n t[\"sheenmedialarabic\"] = 0xfeb8;\n t[\"sheicoptic\"] = 0x03e3;\n t[\"sheqel\"] = 0x20aa;\n t[\"sheqelhebrew\"] = 0x20aa;\n t[\"sheva\"] = 0x05b0;\n t[\"sheva115\"] = 0x05b0;\n t[\"sheva15\"] = 0x05b0;\n t[\"sheva22\"] = 0x05b0;\n t[\"sheva2e\"] = 0x05b0;\n t[\"shevahebrew\"] = 0x05b0;\n t[\"shevanarrowhebrew\"] = 0x05b0;\n t[\"shevaquarterhebrew\"] = 0x05b0;\n t[\"shevawidehebrew\"] = 0x05b0;\n t[\"shhacyrillic\"] = 0x04bb;\n t[\"shimacoptic\"] = 0x03ed;\n t[\"shin\"] = 0x05e9;\n t[\"shindagesh\"] = 0xfb49;\n t[\"shindageshhebrew\"] = 0xfb49;\n t[\"shindageshshindot\"] = 0xfb2c;\n t[\"shindageshshindothebrew\"] = 0xfb2c;\n t[\"shindageshsindot\"] = 0xfb2d;\n t[\"shindageshsindothebrew\"] = 0xfb2d;\n t[\"shindothebrew\"] = 0x05c1;\n t[\"shinhebrew\"] = 0x05e9;\n t[\"shinshindot\"] = 0xfb2a;\n t[\"shinshindothebrew\"] = 0xfb2a;\n t[\"shinsindot\"] = 0xfb2b;\n t[\"shinsindothebrew\"] = 0xfb2b;\n t[\"shook\"] = 0x0282;\n t[\"sigma\"] = 0x03c3;\n t[\"sigma1\"] = 0x03c2;\n t[\"sigmafinal\"] = 0x03c2;\n t[\"sigmalunatesymbolgreek\"] = 0x03f2;\n t[\"sihiragana\"] = 0x3057;\n t[\"sikatakana\"] = 0x30b7;\n t[\"sikatakanahalfwidth\"] = 0xff7c;\n t[\"siluqhebrew\"] = 0x05bd;\n t[\"siluqlefthebrew\"] = 0x05bd;\n t[\"similar\"] = 0x223c;\n t[\"sindothebrew\"] = 0x05c2;\n t[\"siosacirclekorean\"] = 0x3274;\n t[\"siosaparenkorean\"] = 0x3214;\n t[\"sioscieuckorean\"] = 0x317e;\n t[\"sioscirclekorean\"] = 0x3266;\n t[\"sioskiyeokkorean\"] = 0x317a;\n t[\"sioskorean\"] = 0x3145;\n t[\"siosnieunkorean\"] = 0x317b;\n t[\"siosparenkorean\"] = 0x3206;\n t[\"siospieupkorean\"] = 0x317d;\n t[\"siostikeutkorean\"] = 0x317c;\n t[\"six\"] = 0x0036;\n t[\"sixarabic\"] = 0x0666;\n t[\"sixbengali\"] = 0x09ec;\n t[\"sixcircle\"] = 0x2465;\n t[\"sixcircleinversesansserif\"] = 0x278f;\n t[\"sixdeva\"] = 0x096c;\n t[\"sixgujarati\"] = 0x0aec;\n t[\"sixgurmukhi\"] = 0x0a6c;\n t[\"sixhackarabic\"] = 0x0666;\n t[\"sixhangzhou\"] = 0x3026;\n t[\"sixideographicparen\"] = 0x3225;\n t[\"sixinferior\"] = 0x2086;\n t[\"sixmonospace\"] = 0xff16;\n t[\"sixoldstyle\"] = 0xf736;\n t[\"sixparen\"] = 0x2479;\n t[\"sixperiod\"] = 0x248d;\n t[\"sixpersian\"] = 0x06f6;\n t[\"sixroman\"] = 0x2175;\n t[\"sixsuperior\"] = 0x2076;\n t[\"sixteencircle\"] = 0x246f;\n t[\"sixteencurrencydenominatorbengali\"] = 0x09f9;\n t[\"sixteenparen\"] = 0x2483;\n t[\"sixteenperiod\"] = 0x2497;\n t[\"sixthai\"] = 0x0e56;\n t[\"slash\"] = 0x002f;\n t[\"slashmonospace\"] = 0xff0f;\n t[\"slong\"] = 0x017f;\n t[\"slongdotaccent\"] = 0x1e9b;\n t[\"smileface\"] = 0x263a;\n t[\"smonospace\"] = 0xff53;\n t[\"sofpasuqhebrew\"] = 0x05c3;\n t[\"softhyphen\"] = 0x00ad;\n t[\"softsigncyrillic\"] = 0x044c;\n t[\"sohiragana\"] = 0x305d;\n t[\"sokatakana\"] = 0x30bd;\n t[\"sokatakanahalfwidth\"] = 0xff7f;\n t[\"soliduslongoverlaycmb\"] = 0x0338;\n t[\"solidusshortoverlaycmb\"] = 0x0337;\n t[\"sorusithai\"] = 0x0e29;\n t[\"sosalathai\"] = 0x0e28;\n t[\"sosothai\"] = 0x0e0b;\n t[\"sosuathai\"] = 0x0e2a;\n t[\"space\"] = 0x0020;\n t[\"spacehackarabic\"] = 0x0020;\n t[\"spade\"] = 0x2660;\n t[\"spadesuitblack\"] = 0x2660;\n t[\"spadesuitwhite\"] = 0x2664;\n t[\"sparen\"] = 0x24ae;\n t[\"squarebelowcmb\"] = 0x033b;\n t[\"squarecc\"] = 0x33c4;\n t[\"squarecm\"] = 0x339d;\n t[\"squarediagonalcrosshatchfill\"] = 0x25a9;\n t[\"squarehorizontalfill\"] = 0x25a4;\n t[\"squarekg\"] = 0x338f;\n t[\"squarekm\"] = 0x339e;\n t[\"squarekmcapital\"] = 0x33ce;\n t[\"squareln\"] = 0x33d1;\n t[\"squarelog\"] = 0x33d2;\n t[\"squaremg\"] = 0x338e;\n t[\"squaremil\"] = 0x33d5;\n t[\"squaremm\"] = 0x339c;\n t[\"squaremsquared\"] = 0x33a1;\n t[\"squareorthogonalcrosshatchfill\"] = 0x25a6;\n t[\"squareupperlefttolowerrightfill\"] = 0x25a7;\n t[\"squareupperrighttolowerleftfill\"] = 0x25a8;\n t[\"squareverticalfill\"] = 0x25a5;\n t[\"squarewhitewithsmallblack\"] = 0x25a3;\n t[\"srsquare\"] = 0x33db;\n t[\"ssabengali\"] = 0x09b7;\n t[\"ssadeva\"] = 0x0937;\n t[\"ssagujarati\"] = 0x0ab7;\n t[\"ssangcieuckorean\"] = 0x3149;\n t[\"ssanghieuhkorean\"] = 0x3185;\n t[\"ssangieungkorean\"] = 0x3180;\n t[\"ssangkiyeokkorean\"] = 0x3132;\n t[\"ssangnieunkorean\"] = 0x3165;\n t[\"ssangpieupkorean\"] = 0x3143;\n t[\"ssangsioskorean\"] = 0x3146;\n t[\"ssangtikeutkorean\"] = 0x3138;\n t[\"ssuperior\"] = 0xf6f2;\n t[\"sterling\"] = 0x00a3;\n t[\"sterlingmonospace\"] = 0xffe1;\n t[\"strokelongoverlaycmb\"] = 0x0336;\n t[\"strokeshortoverlaycmb\"] = 0x0335;\n t[\"subset\"] = 0x2282;\n t[\"subsetnotequal\"] = 0x228a;\n t[\"subsetorequal\"] = 0x2286;\n t[\"succeeds\"] = 0x227b;\n t[\"suchthat\"] = 0x220b;\n t[\"suhiragana\"] = 0x3059;\n t[\"sukatakana\"] = 0x30b9;\n t[\"sukatakanahalfwidth\"] = 0xff7d;\n t[\"sukunarabic\"] = 0x0652;\n t[\"summation\"] = 0x2211;\n t[\"sun\"] = 0x263c;\n t[\"superset\"] = 0x2283;\n t[\"supersetnotequal\"] = 0x228b;\n t[\"supersetorequal\"] = 0x2287;\n t[\"svsquare\"] = 0x33dc;\n t[\"syouwaerasquare\"] = 0x337c;\n t[\"t\"] = 0x0074;\n t[\"tabengali\"] = 0x09a4;\n t[\"tackdown\"] = 0x22a4;\n t[\"tackleft\"] = 0x22a3;\n t[\"tadeva\"] = 0x0924;\n t[\"tagujarati\"] = 0x0aa4;\n t[\"tagurmukhi\"] = 0x0a24;\n t[\"taharabic\"] = 0x0637;\n t[\"tahfinalarabic\"] = 0xfec2;\n t[\"tahinitialarabic\"] = 0xfec3;\n t[\"tahiragana\"] = 0x305f;\n t[\"tahmedialarabic\"] = 0xfec4;\n t[\"taisyouerasquare\"] = 0x337d;\n t[\"takatakana\"] = 0x30bf;\n t[\"takatakanahalfwidth\"] = 0xff80;\n t[\"tatweelarabic\"] = 0x0640;\n t[\"tau\"] = 0x03c4;\n t[\"tav\"] = 0x05ea;\n t[\"tavdages\"] = 0xfb4a;\n t[\"tavdagesh\"] = 0xfb4a;\n t[\"tavdageshhebrew\"] = 0xfb4a;\n t[\"tavhebrew\"] = 0x05ea;\n t[\"tbar\"] = 0x0167;\n t[\"tbopomofo\"] = 0x310a;\n t[\"tcaron\"] = 0x0165;\n t[\"tccurl\"] = 0x02a8;\n t[\"tcedilla\"] = 0x0163;\n t[\"tcheharabic\"] = 0x0686;\n t[\"tchehfinalarabic\"] = 0xfb7b;\n t[\"tchehinitialarabic\"] = 0xfb7c;\n t[\"tchehmedialarabic\"] = 0xfb7d;\n t[\"tcircle\"] = 0x24e3;\n t[\"tcircumflexbelow\"] = 0x1e71;\n t[\"tcommaaccent\"] = 0x0163;\n t[\"tdieresis\"] = 0x1e97;\n t[\"tdotaccent\"] = 0x1e6b;\n t[\"tdotbelow\"] = 0x1e6d;\n t[\"tecyrillic\"] = 0x0442;\n t[\"tedescendercyrillic\"] = 0x04ad;\n t[\"teharabic\"] = 0x062a;\n t[\"tehfinalarabic\"] = 0xfe96;\n t[\"tehhahinitialarabic\"] = 0xfca2;\n t[\"tehhahisolatedarabic\"] = 0xfc0c;\n t[\"tehinitialarabic\"] = 0xfe97;\n t[\"tehiragana\"] = 0x3066;\n t[\"tehjeeminitialarabic\"] = 0xfca1;\n t[\"tehjeemisolatedarabic\"] = 0xfc0b;\n t[\"tehmarbutaarabic\"] = 0x0629;\n t[\"tehmarbutafinalarabic\"] = 0xfe94;\n t[\"tehmedialarabic\"] = 0xfe98;\n t[\"tehmeeminitialarabic\"] = 0xfca4;\n t[\"tehmeemisolatedarabic\"] = 0xfc0e;\n t[\"tehnoonfinalarabic\"] = 0xfc73;\n t[\"tekatakana\"] = 0x30c6;\n t[\"tekatakanahalfwidth\"] = 0xff83;\n t[\"telephone\"] = 0x2121;\n t[\"telephoneblack\"] = 0x260e;\n t[\"telishagedolahebrew\"] = 0x05a0;\n t[\"telishaqetanahebrew\"] = 0x05a9;\n t[\"tencircle\"] = 0x2469;\n t[\"tenideographicparen\"] = 0x3229;\n t[\"tenparen\"] = 0x247d;\n t[\"tenperiod\"] = 0x2491;\n t[\"tenroman\"] = 0x2179;\n t[\"tesh\"] = 0x02a7;\n t[\"tet\"] = 0x05d8;\n t[\"tetdagesh\"] = 0xfb38;\n t[\"tetdageshhebrew\"] = 0xfb38;\n t[\"tethebrew\"] = 0x05d8;\n t[\"tetsecyrillic\"] = 0x04b5;\n t[\"tevirhebrew\"] = 0x059b;\n t[\"tevirlefthebrew\"] = 0x059b;\n t[\"thabengali\"] = 0x09a5;\n t[\"thadeva\"] = 0x0925;\n t[\"thagujarati\"] = 0x0aa5;\n t[\"thagurmukhi\"] = 0x0a25;\n t[\"thalarabic\"] = 0x0630;\n t[\"thalfinalarabic\"] = 0xfeac;\n t[\"thanthakhatlowleftthai\"] = 0xf898;\n t[\"thanthakhatlowrightthai\"] = 0xf897;\n t[\"thanthakhatthai\"] = 0x0e4c;\n t[\"thanthakhatupperleftthai\"] = 0xf896;\n t[\"theharabic\"] = 0x062b;\n t[\"thehfinalarabic\"] = 0xfe9a;\n t[\"thehinitialarabic\"] = 0xfe9b;\n t[\"thehmedialarabic\"] = 0xfe9c;\n t[\"thereexists\"] = 0x2203;\n t[\"therefore\"] = 0x2234;\n t[\"theta\"] = 0x03b8;\n t[\"theta1\"] = 0x03d1;\n t[\"thetasymbolgreek\"] = 0x03d1;\n t[\"thieuthacirclekorean\"] = 0x3279;\n t[\"thieuthaparenkorean\"] = 0x3219;\n t[\"thieuthcirclekorean\"] = 0x326b;\n t[\"thieuthkorean\"] = 0x314c;\n t[\"thieuthparenkorean\"] = 0x320b;\n t[\"thirteencircle\"] = 0x246c;\n t[\"thirteenparen\"] = 0x2480;\n t[\"thirteenperiod\"] = 0x2494;\n t[\"thonangmonthothai\"] = 0x0e11;\n t[\"thook\"] = 0x01ad;\n t[\"thophuthaothai\"] = 0x0e12;\n t[\"thorn\"] = 0x00fe;\n t[\"thothahanthai\"] = 0x0e17;\n t[\"thothanthai\"] = 0x0e10;\n t[\"thothongthai\"] = 0x0e18;\n t[\"thothungthai\"] = 0x0e16;\n t[\"thousandcyrillic\"] = 0x0482;\n t[\"thousandsseparatorarabic\"] = 0x066c;\n t[\"thousandsseparatorpersian\"] = 0x066c;\n t[\"three\"] = 0x0033;\n t[\"threearabic\"] = 0x0663;\n t[\"threebengali\"] = 0x09e9;\n t[\"threecircle\"] = 0x2462;\n t[\"threecircleinversesansserif\"] = 0x278c;\n t[\"threedeva\"] = 0x0969;\n t[\"threeeighths\"] = 0x215c;\n t[\"threegujarati\"] = 0x0ae9;\n t[\"threegurmukhi\"] = 0x0a69;\n t[\"threehackarabic\"] = 0x0663;\n t[\"threehangzhou\"] = 0x3023;\n t[\"threeideographicparen\"] = 0x3222;\n t[\"threeinferior\"] = 0x2083;\n t[\"threemonospace\"] = 0xff13;\n t[\"threenumeratorbengali\"] = 0x09f6;\n t[\"threeoldstyle\"] = 0xf733;\n t[\"threeparen\"] = 0x2476;\n t[\"threeperiod\"] = 0x248a;\n t[\"threepersian\"] = 0x06f3;\n t[\"threequarters\"] = 0x00be;\n t[\"threequartersemdash\"] = 0xf6de;\n t[\"threeroman\"] = 0x2172;\n t[\"threesuperior\"] = 0x00b3;\n t[\"threethai\"] = 0x0e53;\n t[\"thzsquare\"] = 0x3394;\n t[\"tihiragana\"] = 0x3061;\n t[\"tikatakana\"] = 0x30c1;\n t[\"tikatakanahalfwidth\"] = 0xff81;\n t[\"tikeutacirclekorean\"] = 0x3270;\n t[\"tikeutaparenkorean\"] = 0x3210;\n t[\"tikeutcirclekorean\"] = 0x3262;\n t[\"tikeutkorean\"] = 0x3137;\n t[\"tikeutparenkorean\"] = 0x3202;\n t[\"tilde\"] = 0x02dc;\n t[\"tildebelowcmb\"] = 0x0330;\n t[\"tildecmb\"] = 0x0303;\n t[\"tildecomb\"] = 0x0303;\n t[\"tildedoublecmb\"] = 0x0360;\n t[\"tildeoperator\"] = 0x223c;\n t[\"tildeoverlaycmb\"] = 0x0334;\n t[\"tildeverticalcmb\"] = 0x033e;\n t[\"timescircle\"] = 0x2297;\n t[\"tipehahebrew\"] = 0x0596;\n t[\"tipehalefthebrew\"] = 0x0596;\n t[\"tippigurmukhi\"] = 0x0a70;\n t[\"titlocyrilliccmb\"] = 0x0483;\n t[\"tiwnarmenian\"] = 0x057f;\n t[\"tlinebelow\"] = 0x1e6f;\n t[\"tmonospace\"] = 0xff54;\n t[\"toarmenian\"] = 0x0569;\n t[\"tohiragana\"] = 0x3068;\n t[\"tokatakana\"] = 0x30c8;\n t[\"tokatakanahalfwidth\"] = 0xff84;\n t[\"tonebarextrahighmod\"] = 0x02e5;\n t[\"tonebarextralowmod\"] = 0x02e9;\n t[\"tonebarhighmod\"] = 0x02e6;\n t[\"tonebarlowmod\"] = 0x02e8;\n t[\"tonebarmidmod\"] = 0x02e7;\n t[\"tonefive\"] = 0x01bd;\n t[\"tonesix\"] = 0x0185;\n t[\"tonetwo\"] = 0x01a8;\n t[\"tonos\"] = 0x0384;\n t[\"tonsquare\"] = 0x3327;\n t[\"topatakthai\"] = 0x0e0f;\n t[\"tortoiseshellbracketleft\"] = 0x3014;\n t[\"tortoiseshellbracketleftsmall\"] = 0xfe5d;\n t[\"tortoiseshellbracketleftvertical\"] = 0xfe39;\n t[\"tortoiseshellbracketright\"] = 0x3015;\n t[\"tortoiseshellbracketrightsmall\"] = 0xfe5e;\n t[\"tortoiseshellbracketrightvertical\"] = 0xfe3a;\n t[\"totaothai\"] = 0x0e15;\n t[\"tpalatalhook\"] = 0x01ab;\n t[\"tparen\"] = 0x24af;\n t[\"trademark\"] = 0x2122;\n t[\"trademarksans\"] = 0xf8ea;\n t[\"trademarkserif\"] = 0xf6db;\n t[\"tretroflexhook\"] = 0x0288;\n t[\"triagdn\"] = 0x25bc;\n t[\"triaglf\"] = 0x25c4;\n t[\"triagrt\"] = 0x25ba;\n t[\"triagup\"] = 0x25b2;\n t[\"ts\"] = 0x02a6;\n t[\"tsadi\"] = 0x05e6;\n t[\"tsadidagesh\"] = 0xfb46;\n t[\"tsadidageshhebrew\"] = 0xfb46;\n t[\"tsadihebrew\"] = 0x05e6;\n t[\"tsecyrillic\"] = 0x0446;\n t[\"tsere\"] = 0x05b5;\n t[\"tsere12\"] = 0x05b5;\n t[\"tsere1e\"] = 0x05b5;\n t[\"tsere2b\"] = 0x05b5;\n t[\"tserehebrew\"] = 0x05b5;\n t[\"tserenarrowhebrew\"] = 0x05b5;\n t[\"tserequarterhebrew\"] = 0x05b5;\n t[\"tserewidehebrew\"] = 0x05b5;\n t[\"tshecyrillic\"] = 0x045b;\n t[\"tsuperior\"] = 0xf6f3;\n t[\"ttabengali\"] = 0x099f;\n t[\"ttadeva\"] = 0x091f;\n t[\"ttagujarati\"] = 0x0a9f;\n t[\"ttagurmukhi\"] = 0x0a1f;\n t[\"tteharabic\"] = 0x0679;\n t[\"ttehfinalarabic\"] = 0xfb67;\n t[\"ttehinitialarabic\"] = 0xfb68;\n t[\"ttehmedialarabic\"] = 0xfb69;\n t[\"tthabengali\"] = 0x09a0;\n t[\"tthadeva\"] = 0x0920;\n t[\"tthagujarati\"] = 0x0aa0;\n t[\"tthagurmukhi\"] = 0x0a20;\n t[\"tturned\"] = 0x0287;\n t[\"tuhiragana\"] = 0x3064;\n t[\"tukatakana\"] = 0x30c4;\n t[\"tukatakanahalfwidth\"] = 0xff82;\n t[\"tusmallhiragana\"] = 0x3063;\n t[\"tusmallkatakana\"] = 0x30c3;\n t[\"tusmallkatakanahalfwidth\"] = 0xff6f;\n t[\"twelvecircle\"] = 0x246b;\n t[\"twelveparen\"] = 0x247f;\n t[\"twelveperiod\"] = 0x2493;\n t[\"twelveroman\"] = 0x217b;\n t[\"twentycircle\"] = 0x2473;\n t[\"twentyhangzhou\"] = 0x5344;\n t[\"twentyparen\"] = 0x2487;\n t[\"twentyperiod\"] = 0x249b;\n t[\"two\"] = 0x0032;\n t[\"twoarabic\"] = 0x0662;\n t[\"twobengali\"] = 0x09e8;\n t[\"twocircle\"] = 0x2461;\n t[\"twocircleinversesansserif\"] = 0x278b;\n t[\"twodeva\"] = 0x0968;\n t[\"twodotenleader\"] = 0x2025;\n t[\"twodotleader\"] = 0x2025;\n t[\"twodotleadervertical\"] = 0xfe30;\n t[\"twogujarati\"] = 0x0ae8;\n t[\"twogurmukhi\"] = 0x0a68;\n t[\"twohackarabic\"] = 0x0662;\n t[\"twohangzhou\"] = 0x3022;\n t[\"twoideographicparen\"] = 0x3221;\n t[\"twoinferior\"] = 0x2082;\n t[\"twomonospace\"] = 0xff12;\n t[\"twonumeratorbengali\"] = 0x09f5;\n t[\"twooldstyle\"] = 0xf732;\n t[\"twoparen\"] = 0x2475;\n t[\"twoperiod\"] = 0x2489;\n t[\"twopersian\"] = 0x06f2;\n t[\"tworoman\"] = 0x2171;\n t[\"twostroke\"] = 0x01bb;\n t[\"twosuperior\"] = 0x00b2;\n t[\"twothai\"] = 0x0e52;\n t[\"twothirds\"] = 0x2154;\n t[\"u\"] = 0x0075;\n t[\"uacute\"] = 0x00fa;\n t[\"ubar\"] = 0x0289;\n t[\"ubengali\"] = 0x0989;\n t[\"ubopomofo\"] = 0x3128;\n t[\"ubreve\"] = 0x016d;\n t[\"ucaron\"] = 0x01d4;\n t[\"ucircle\"] = 0x24e4;\n t[\"ucircumflex\"] = 0x00fb;\n t[\"ucircumflexbelow\"] = 0x1e77;\n t[\"ucyrillic\"] = 0x0443;\n t[\"udattadeva\"] = 0x0951;\n t[\"udblacute\"] = 0x0171;\n t[\"udblgrave\"] = 0x0215;\n t[\"udeva\"] = 0x0909;\n t[\"udieresis\"] = 0x00fc;\n t[\"udieresisacute\"] = 0x01d8;\n t[\"udieresisbelow\"] = 0x1e73;\n t[\"udieresiscaron\"] = 0x01da;\n t[\"udieresiscyrillic\"] = 0x04f1;\n t[\"udieresisgrave\"] = 0x01dc;\n t[\"udieresismacron\"] = 0x01d6;\n t[\"udotbelow\"] = 0x1ee5;\n t[\"ugrave\"] = 0x00f9;\n t[\"ugujarati\"] = 0x0a89;\n t[\"ugurmukhi\"] = 0x0a09;\n t[\"uhiragana\"] = 0x3046;\n t[\"uhookabove\"] = 0x1ee7;\n t[\"uhorn\"] = 0x01b0;\n t[\"uhornacute\"] = 0x1ee9;\n t[\"uhorndotbelow\"] = 0x1ef1;\n t[\"uhorngrave\"] = 0x1eeb;\n t[\"uhornhookabove\"] = 0x1eed;\n t[\"uhorntilde\"] = 0x1eef;\n t[\"uhungarumlaut\"] = 0x0171;\n t[\"uhungarumlautcyrillic\"] = 0x04f3;\n t[\"uinvertedbreve\"] = 0x0217;\n t[\"ukatakana\"] = 0x30a6;\n t[\"ukatakanahalfwidth\"] = 0xff73;\n t[\"ukcyrillic\"] = 0x0479;\n t[\"ukorean\"] = 0x315c;\n t[\"umacron\"] = 0x016b;\n t[\"umacroncyrillic\"] = 0x04ef;\n t[\"umacrondieresis\"] = 0x1e7b;\n t[\"umatragurmukhi\"] = 0x0a41;\n t[\"umonospace\"] = 0xff55;\n t[\"underscore\"] = 0x005f;\n t[\"underscoredbl\"] = 0x2017;\n t[\"underscoremonospace\"] = 0xff3f;\n t[\"underscorevertical\"] = 0xfe33;\n t[\"underscorewavy\"] = 0xfe4f;\n t[\"union\"] = 0x222a;\n t[\"universal\"] = 0x2200;\n t[\"uogonek\"] = 0x0173;\n t[\"uparen\"] = 0x24b0;\n t[\"upblock\"] = 0x2580;\n t[\"upperdothebrew\"] = 0x05c4;\n t[\"upsilon\"] = 0x03c5;\n t[\"upsilondieresis\"] = 0x03cb;\n t[\"upsilondieresistonos\"] = 0x03b0;\n t[\"upsilonlatin\"] = 0x028a;\n t[\"upsilontonos\"] = 0x03cd;\n t[\"uptackbelowcmb\"] = 0x031d;\n t[\"uptackmod\"] = 0x02d4;\n t[\"uragurmukhi\"] = 0x0a73;\n t[\"uring\"] = 0x016f;\n t[\"ushortcyrillic\"] = 0x045e;\n t[\"usmallhiragana\"] = 0x3045;\n t[\"usmallkatakana\"] = 0x30a5;\n t[\"usmallkatakanahalfwidth\"] = 0xff69;\n t[\"ustraightcyrillic\"] = 0x04af;\n t[\"ustraightstrokecyrillic\"] = 0x04b1;\n t[\"utilde\"] = 0x0169;\n t[\"utildeacute\"] = 0x1e79;\n t[\"utildebelow\"] = 0x1e75;\n t[\"uubengali\"] = 0x098a;\n t[\"uudeva\"] = 0x090a;\n t[\"uugujarati\"] = 0x0a8a;\n t[\"uugurmukhi\"] = 0x0a0a;\n t[\"uumatragurmukhi\"] = 0x0a42;\n t[\"uuvowelsignbengali\"] = 0x09c2;\n t[\"uuvowelsigndeva\"] = 0x0942;\n t[\"uuvowelsigngujarati\"] = 0x0ac2;\n t[\"uvowelsignbengali\"] = 0x09c1;\n t[\"uvowelsigndeva\"] = 0x0941;\n t[\"uvowelsigngujarati\"] = 0x0ac1;\n t[\"v\"] = 0x0076;\n t[\"vadeva\"] = 0x0935;\n t[\"vagujarati\"] = 0x0ab5;\n t[\"vagurmukhi\"] = 0x0a35;\n t[\"vakatakana\"] = 0x30f7;\n t[\"vav\"] = 0x05d5;\n t[\"vavdagesh\"] = 0xfb35;\n t[\"vavdagesh65\"] = 0xfb35;\n t[\"vavdageshhebrew\"] = 0xfb35;\n t[\"vavhebrew\"] = 0x05d5;\n t[\"vavholam\"] = 0xfb4b;\n t[\"vavholamhebrew\"] = 0xfb4b;\n t[\"vavvavhebrew\"] = 0x05f0;\n t[\"vavyodhebrew\"] = 0x05f1;\n t[\"vcircle\"] = 0x24e5;\n t[\"vdotbelow\"] = 0x1e7f;\n t[\"vecyrillic\"] = 0x0432;\n t[\"veharabic\"] = 0x06a4;\n t[\"vehfinalarabic\"] = 0xfb6b;\n t[\"vehinitialarabic\"] = 0xfb6c;\n t[\"vehmedialarabic\"] = 0xfb6d;\n t[\"vekatakana\"] = 0x30f9;\n t[\"venus\"] = 0x2640;\n t[\"verticalbar\"] = 0x007c;\n t[\"verticallineabovecmb\"] = 0x030d;\n t[\"verticallinebelowcmb\"] = 0x0329;\n t[\"verticallinelowmod\"] = 0x02cc;\n t[\"verticallinemod\"] = 0x02c8;\n t[\"vewarmenian\"] = 0x057e;\n t[\"vhook\"] = 0x028b;\n t[\"vikatakana\"] = 0x30f8;\n t[\"viramabengali\"] = 0x09cd;\n t[\"viramadeva\"] = 0x094d;\n t[\"viramagujarati\"] = 0x0acd;\n t[\"visargabengali\"] = 0x0983;\n t[\"visargadeva\"] = 0x0903;\n t[\"visargagujarati\"] = 0x0a83;\n t[\"vmonospace\"] = 0xff56;\n t[\"voarmenian\"] = 0x0578;\n t[\"voicediterationhiragana\"] = 0x309e;\n t[\"voicediterationkatakana\"] = 0x30fe;\n t[\"voicedmarkkana\"] = 0x309b;\n t[\"voicedmarkkanahalfwidth\"] = 0xff9e;\n t[\"vokatakana\"] = 0x30fa;\n t[\"vparen\"] = 0x24b1;\n t[\"vtilde\"] = 0x1e7d;\n t[\"vturned\"] = 0x028c;\n t[\"vuhiragana\"] = 0x3094;\n t[\"vukatakana\"] = 0x30f4;\n t[\"w\"] = 0x0077;\n t[\"wacute\"] = 0x1e83;\n t[\"waekorean\"] = 0x3159;\n t[\"wahiragana\"] = 0x308f;\n t[\"wakatakana\"] = 0x30ef;\n t[\"wakatakanahalfwidth\"] = 0xff9c;\n t[\"wakorean\"] = 0x3158;\n t[\"wasmallhiragana\"] = 0x308e;\n t[\"wasmallkatakana\"] = 0x30ee;\n t[\"wattosquare\"] = 0x3357;\n t[\"wavedash\"] = 0x301c;\n t[\"wavyunderscorevertical\"] = 0xfe34;\n t[\"wawarabic\"] = 0x0648;\n t[\"wawfinalarabic\"] = 0xfeee;\n t[\"wawhamzaabovearabic\"] = 0x0624;\n t[\"wawhamzaabovefinalarabic\"] = 0xfe86;\n t[\"wbsquare\"] = 0x33dd;\n t[\"wcircle\"] = 0x24e6;\n t[\"wcircumflex\"] = 0x0175;\n t[\"wdieresis\"] = 0x1e85;\n t[\"wdotaccent\"] = 0x1e87;\n t[\"wdotbelow\"] = 0x1e89;\n t[\"wehiragana\"] = 0x3091;\n t[\"weierstrass\"] = 0x2118;\n t[\"wekatakana\"] = 0x30f1;\n t[\"wekorean\"] = 0x315e;\n t[\"weokorean\"] = 0x315d;\n t[\"wgrave\"] = 0x1e81;\n t[\"whitebullet\"] = 0x25e6;\n t[\"whitecircle\"] = 0x25cb;\n t[\"whitecircleinverse\"] = 0x25d9;\n t[\"whitecornerbracketleft\"] = 0x300e;\n t[\"whitecornerbracketleftvertical\"] = 0xfe43;\n t[\"whitecornerbracketright\"] = 0x300f;\n t[\"whitecornerbracketrightvertical\"] = 0xfe44;\n t[\"whitediamond\"] = 0x25c7;\n t[\"whitediamondcontainingblacksmalldiamond\"] = 0x25c8;\n t[\"whitedownpointingsmalltriangle\"] = 0x25bf;\n t[\"whitedownpointingtriangle\"] = 0x25bd;\n t[\"whiteleftpointingsmalltriangle\"] = 0x25c3;\n t[\"whiteleftpointingtriangle\"] = 0x25c1;\n t[\"whitelenticularbracketleft\"] = 0x3016;\n t[\"whitelenticularbracketright\"] = 0x3017;\n t[\"whiterightpointingsmalltriangle\"] = 0x25b9;\n t[\"whiterightpointingtriangle\"] = 0x25b7;\n t[\"whitesmallsquare\"] = 0x25ab;\n t[\"whitesmilingface\"] = 0x263a;\n t[\"whitesquare\"] = 0x25a1;\n t[\"whitestar\"] = 0x2606;\n t[\"whitetelephone\"] = 0x260f;\n t[\"whitetortoiseshellbracketleft\"] = 0x3018;\n t[\"whitetortoiseshellbracketright\"] = 0x3019;\n t[\"whiteuppointingsmalltriangle\"] = 0x25b5;\n t[\"whiteuppointingtriangle\"] = 0x25b3;\n t[\"wihiragana\"] = 0x3090;\n t[\"wikatakana\"] = 0x30f0;\n t[\"wikorean\"] = 0x315f;\n t[\"wmonospace\"] = 0xff57;\n t[\"wohiragana\"] = 0x3092;\n t[\"wokatakana\"] = 0x30f2;\n t[\"wokatakanahalfwidth\"] = 0xff66;\n t[\"won\"] = 0x20a9;\n t[\"wonmonospace\"] = 0xffe6;\n t[\"wowaenthai\"] = 0x0e27;\n t[\"wparen\"] = 0x24b2;\n t[\"wring\"] = 0x1e98;\n t[\"wsuperior\"] = 0x02b7;\n t[\"wturned\"] = 0x028d;\n t[\"wynn\"] = 0x01bf;\n t[\"x\"] = 0x0078;\n t[\"xabovecmb\"] = 0x033d;\n t[\"xbopomofo\"] = 0x3112;\n t[\"xcircle\"] = 0x24e7;\n t[\"xdieresis\"] = 0x1e8d;\n t[\"xdotaccent\"] = 0x1e8b;\n t[\"xeharmenian\"] = 0x056d;\n t[\"xi\"] = 0x03be;\n t[\"xmonospace\"] = 0xff58;\n t[\"xparen\"] = 0x24b3;\n t[\"xsuperior\"] = 0x02e3;\n t[\"y\"] = 0x0079;\n t[\"yaadosquare\"] = 0x334e;\n t[\"yabengali\"] = 0x09af;\n t[\"yacute\"] = 0x00fd;\n t[\"yadeva\"] = 0x092f;\n t[\"yaekorean\"] = 0x3152;\n t[\"yagujarati\"] = 0x0aaf;\n t[\"yagurmukhi\"] = 0x0a2f;\n t[\"yahiragana\"] = 0x3084;\n t[\"yakatakana\"] = 0x30e4;\n t[\"yakatakanahalfwidth\"] = 0xff94;\n t[\"yakorean\"] = 0x3151;\n t[\"yamakkanthai\"] = 0x0e4e;\n t[\"yasmallhiragana\"] = 0x3083;\n t[\"yasmallkatakana\"] = 0x30e3;\n t[\"yasmallkatakanahalfwidth\"] = 0xff6c;\n t[\"yatcyrillic\"] = 0x0463;\n t[\"ycircle\"] = 0x24e8;\n t[\"ycircumflex\"] = 0x0177;\n t[\"ydieresis\"] = 0x00ff;\n t[\"ydotaccent\"] = 0x1e8f;\n t[\"ydotbelow\"] = 0x1ef5;\n t[\"yeharabic\"] = 0x064a;\n t[\"yehbarreearabic\"] = 0x06d2;\n t[\"yehbarreefinalarabic\"] = 0xfbaf;\n t[\"yehfinalarabic\"] = 0xfef2;\n t[\"yehhamzaabovearabic\"] = 0x0626;\n t[\"yehhamzaabovefinalarabic\"] = 0xfe8a;\n t[\"yehhamzaaboveinitialarabic\"] = 0xfe8b;\n t[\"yehhamzaabovemedialarabic\"] = 0xfe8c;\n t[\"yehinitialarabic\"] = 0xfef3;\n t[\"yehmedialarabic\"] = 0xfef4;\n t[\"yehmeeminitialarabic\"] = 0xfcdd;\n t[\"yehmeemisolatedarabic\"] = 0xfc58;\n t[\"yehnoonfinalarabic\"] = 0xfc94;\n t[\"yehthreedotsbelowarabic\"] = 0x06d1;\n t[\"yekorean\"] = 0x3156;\n t[\"yen\"] = 0x00a5;\n t[\"yenmonospace\"] = 0xffe5;\n t[\"yeokorean\"] = 0x3155;\n t[\"yeorinhieuhkorean\"] = 0x3186;\n t[\"yerahbenyomohebrew\"] = 0x05aa;\n t[\"yerahbenyomolefthebrew\"] = 0x05aa;\n t[\"yericyrillic\"] = 0x044b;\n t[\"yerudieresiscyrillic\"] = 0x04f9;\n t[\"yesieungkorean\"] = 0x3181;\n t[\"yesieungpansioskorean\"] = 0x3183;\n t[\"yesieungsioskorean\"] = 0x3182;\n t[\"yetivhebrew\"] = 0x059a;\n t[\"ygrave\"] = 0x1ef3;\n t[\"yhook\"] = 0x01b4;\n t[\"yhookabove\"] = 0x1ef7;\n t[\"yiarmenian\"] = 0x0575;\n t[\"yicyrillic\"] = 0x0457;\n t[\"yikorean\"] = 0x3162;\n t[\"yinyang\"] = 0x262f;\n t[\"yiwnarmenian\"] = 0x0582;\n t[\"ymonospace\"] = 0xff59;\n t[\"yod\"] = 0x05d9;\n t[\"yoddagesh\"] = 0xfb39;\n t[\"yoddageshhebrew\"] = 0xfb39;\n t[\"yodhebrew\"] = 0x05d9;\n t[\"yodyodhebrew\"] = 0x05f2;\n t[\"yodyodpatahhebrew\"] = 0xfb1f;\n t[\"yohiragana\"] = 0x3088;\n t[\"yoikorean\"] = 0x3189;\n t[\"yokatakana\"] = 0x30e8;\n t[\"yokatakanahalfwidth\"] = 0xff96;\n t[\"yokorean\"] = 0x315b;\n t[\"yosmallhiragana\"] = 0x3087;\n t[\"yosmallkatakana\"] = 0x30e7;\n t[\"yosmallkatakanahalfwidth\"] = 0xff6e;\n t[\"yotgreek\"] = 0x03f3;\n t[\"yoyaekorean\"] = 0x3188;\n t[\"yoyakorean\"] = 0x3187;\n t[\"yoyakthai\"] = 0x0e22;\n t[\"yoyingthai\"] = 0x0e0d;\n t[\"yparen\"] = 0x24b4;\n t[\"ypogegrammeni\"] = 0x037a;\n t[\"ypogegrammenigreekcmb\"] = 0x0345;\n t[\"yr\"] = 0x01a6;\n t[\"yring\"] = 0x1e99;\n t[\"ysuperior\"] = 0x02b8;\n t[\"ytilde\"] = 0x1ef9;\n t[\"yturned\"] = 0x028e;\n t[\"yuhiragana\"] = 0x3086;\n t[\"yuikorean\"] = 0x318c;\n t[\"yukatakana\"] = 0x30e6;\n t[\"yukatakanahalfwidth\"] = 0xff95;\n t[\"yukorean\"] = 0x3160;\n t[\"yusbigcyrillic\"] = 0x046b;\n t[\"yusbigiotifiedcyrillic\"] = 0x046d;\n t[\"yuslittlecyrillic\"] = 0x0467;\n t[\"yuslittleiotifiedcyrillic\"] = 0x0469;\n t[\"yusmallhiragana\"] = 0x3085;\n t[\"yusmallkatakana\"] = 0x30e5;\n t[\"yusmallkatakanahalfwidth\"] = 0xff6d;\n t[\"yuyekorean\"] = 0x318b;\n t[\"yuyeokorean\"] = 0x318a;\n t[\"yyabengali\"] = 0x09df;\n t[\"yyadeva\"] = 0x095f;\n t[\"z\"] = 0x007a;\n t[\"zaarmenian\"] = 0x0566;\n t[\"zacute\"] = 0x017a;\n t[\"zadeva\"] = 0x095b;\n t[\"zagurmukhi\"] = 0x0a5b;\n t[\"zaharabic\"] = 0x0638;\n t[\"zahfinalarabic\"] = 0xfec6;\n t[\"zahinitialarabic\"] = 0xfec7;\n t[\"zahiragana\"] = 0x3056;\n t[\"zahmedialarabic\"] = 0xfec8;\n t[\"zainarabic\"] = 0x0632;\n t[\"zainfinalarabic\"] = 0xfeb0;\n t[\"zakatakana\"] = 0x30b6;\n t[\"zaqefgadolhebrew\"] = 0x0595;\n t[\"zaqefqatanhebrew\"] = 0x0594;\n t[\"zarqahebrew\"] = 0x0598;\n t[\"zayin\"] = 0x05d6;\n t[\"zayindagesh\"] = 0xfb36;\n t[\"zayindageshhebrew\"] = 0xfb36;\n t[\"zayinhebrew\"] = 0x05d6;\n t[\"zbopomofo\"] = 0x3117;\n t[\"zcaron\"] = 0x017e;\n t[\"zcircle\"] = 0x24e9;\n t[\"zcircumflex\"] = 0x1e91;\n t[\"zcurl\"] = 0x0291;\n t[\"zdot\"] = 0x017c;\n t[\"zdotaccent\"] = 0x017c;\n t[\"zdotbelow\"] = 0x1e93;\n t[\"zecyrillic\"] = 0x0437;\n t[\"zedescendercyrillic\"] = 0x0499;\n t[\"zedieresiscyrillic\"] = 0x04df;\n t[\"zehiragana\"] = 0x305c;\n t[\"zekatakana\"] = 0x30bc;\n t[\"zero\"] = 0x0030;\n t[\"zeroarabic\"] = 0x0660;\n t[\"zerobengali\"] = 0x09e6;\n t[\"zerodeva\"] = 0x0966;\n t[\"zerogujarati\"] = 0x0ae6;\n t[\"zerogurmukhi\"] = 0x0a66;\n t[\"zerohackarabic\"] = 0x0660;\n t[\"zeroinferior\"] = 0x2080;\n t[\"zeromonospace\"] = 0xff10;\n t[\"zerooldstyle\"] = 0xf730;\n t[\"zeropersian\"] = 0x06f0;\n t[\"zerosuperior\"] = 0x2070;\n t[\"zerothai\"] = 0x0e50;\n t[\"zerowidthjoiner\"] = 0xfeff;\n t[\"zerowidthnonjoiner\"] = 0x200c;\n t[\"zerowidthspace\"] = 0x200b;\n t[\"zeta\"] = 0x03b6;\n t[\"zhbopomofo\"] = 0x3113;\n t[\"zhearmenian\"] = 0x056a;\n t[\"zhebrevecyrillic\"] = 0x04c2;\n t[\"zhecyrillic\"] = 0x0436;\n t[\"zhedescendercyrillic\"] = 0x0497;\n t[\"zhedieresiscyrillic\"] = 0x04dd;\n t[\"zihiragana\"] = 0x3058;\n t[\"zikatakana\"] = 0x30b8;\n t[\"zinorhebrew\"] = 0x05ae;\n t[\"zlinebelow\"] = 0x1e95;\n t[\"zmonospace\"] = 0xff5a;\n t[\"zohiragana\"] = 0x305e;\n t[\"zokatakana\"] = 0x30be;\n t[\"zparen\"] = 0x24b5;\n t[\"zretroflexhook\"] = 0x0290;\n t[\"zstroke\"] = 0x01b6;\n t[\"zuhiragana\"] = 0x305a;\n t[\"zukatakana\"] = 0x30ba;\n t[\".notdef\"] = 0x0000;\n t[\"angbracketleftbig\"] = 0x2329;\n t[\"angbracketleftBig\"] = 0x2329;\n t[\"angbracketleftbigg\"] = 0x2329;\n t[\"angbracketleftBigg\"] = 0x2329;\n t[\"angbracketrightBig\"] = 0x232a;\n t[\"angbracketrightbig\"] = 0x232a;\n t[\"angbracketrightBigg\"] = 0x232a;\n t[\"angbracketrightbigg\"] = 0x232a;\n t[\"arrowhookleft\"] = 0x21aa;\n t[\"arrowhookright\"] = 0x21a9;\n t[\"arrowlefttophalf\"] = 0x21bc;\n t[\"arrowleftbothalf\"] = 0x21bd;\n t[\"arrownortheast\"] = 0x2197;\n t[\"arrownorthwest\"] = 0x2196;\n t[\"arrowrighttophalf\"] = 0x21c0;\n t[\"arrowrightbothalf\"] = 0x21c1;\n t[\"arrowsoutheast\"] = 0x2198;\n t[\"arrowsouthwest\"] = 0x2199;\n t[\"backslashbig\"] = 0x2216;\n t[\"backslashBig\"] = 0x2216;\n t[\"backslashBigg\"] = 0x2216;\n t[\"backslashbigg\"] = 0x2216;\n t[\"bardbl\"] = 0x2016;\n t[\"bracehtipdownleft\"] = 0xfe37;\n t[\"bracehtipdownright\"] = 0xfe37;\n t[\"bracehtipupleft\"] = 0xfe38;\n t[\"bracehtipupright\"] = 0xfe38;\n t[\"braceleftBig\"] = 0x007b;\n t[\"braceleftbig\"] = 0x007b;\n t[\"braceleftbigg\"] = 0x007b;\n t[\"braceleftBigg\"] = 0x007b;\n t[\"bracerightBig\"] = 0x007d;\n t[\"bracerightbig\"] = 0x007d;\n t[\"bracerightbigg\"] = 0x007d;\n t[\"bracerightBigg\"] = 0x007d;\n t[\"bracketleftbig\"] = 0x005b;\n t[\"bracketleftBig\"] = 0x005b;\n t[\"bracketleftbigg\"] = 0x005b;\n t[\"bracketleftBigg\"] = 0x005b;\n t[\"bracketrightBig\"] = 0x005d;\n t[\"bracketrightbig\"] = 0x005d;\n t[\"bracketrightbigg\"] = 0x005d;\n t[\"bracketrightBigg\"] = 0x005d;\n t[\"ceilingleftbig\"] = 0x2308;\n t[\"ceilingleftBig\"] = 0x2308;\n t[\"ceilingleftBigg\"] = 0x2308;\n t[\"ceilingleftbigg\"] = 0x2308;\n t[\"ceilingrightbig\"] = 0x2309;\n t[\"ceilingrightBig\"] = 0x2309;\n t[\"ceilingrightbigg\"] = 0x2309;\n t[\"ceilingrightBigg\"] = 0x2309;\n t[\"circledotdisplay\"] = 0x2299;\n t[\"circledottext\"] = 0x2299;\n t[\"circlemultiplydisplay\"] = 0x2297;\n t[\"circlemultiplytext\"] = 0x2297;\n t[\"circleplusdisplay\"] = 0x2295;\n t[\"circleplustext\"] = 0x2295;\n t[\"contintegraldisplay\"] = 0x222e;\n t[\"contintegraltext\"] = 0x222e;\n t[\"coproductdisplay\"] = 0x2210;\n t[\"coproducttext\"] = 0x2210;\n t[\"floorleftBig\"] = 0x230a;\n t[\"floorleftbig\"] = 0x230a;\n t[\"floorleftbigg\"] = 0x230a;\n t[\"floorleftBigg\"] = 0x230a;\n t[\"floorrightbig\"] = 0x230b;\n t[\"floorrightBig\"] = 0x230b;\n t[\"floorrightBigg\"] = 0x230b;\n t[\"floorrightbigg\"] = 0x230b;\n t[\"hatwide\"] = 0x0302;\n t[\"hatwider\"] = 0x0302;\n t[\"hatwidest\"] = 0x0302;\n t[\"intercal\"] = 0x1d40;\n t[\"integraldisplay\"] = 0x222b;\n t[\"integraltext\"] = 0x222b;\n t[\"intersectiondisplay\"] = 0x22c2;\n t[\"intersectiontext\"] = 0x22c2;\n t[\"logicalanddisplay\"] = 0x2227;\n t[\"logicalandtext\"] = 0x2227;\n t[\"logicalordisplay\"] = 0x2228;\n t[\"logicalortext\"] = 0x2228;\n t[\"parenleftBig\"] = 0x0028;\n t[\"parenleftbig\"] = 0x0028;\n t[\"parenleftBigg\"] = 0x0028;\n t[\"parenleftbigg\"] = 0x0028;\n t[\"parenrightBig\"] = 0x0029;\n t[\"parenrightbig\"] = 0x0029;\n t[\"parenrightBigg\"] = 0x0029;\n t[\"parenrightbigg\"] = 0x0029;\n t[\"prime\"] = 0x2032;\n t[\"productdisplay\"] = 0x220f;\n t[\"producttext\"] = 0x220f;\n t[\"radicalbig\"] = 0x221a;\n t[\"radicalBig\"] = 0x221a;\n t[\"radicalBigg\"] = 0x221a;\n t[\"radicalbigg\"] = 0x221a;\n t[\"radicalbt\"] = 0x221a;\n t[\"radicaltp\"] = 0x221a;\n t[\"radicalvertex\"] = 0x221a;\n t[\"slashbig\"] = 0x002f;\n t[\"slashBig\"] = 0x002f;\n t[\"slashBigg\"] = 0x002f;\n t[\"slashbigg\"] = 0x002f;\n t[\"summationdisplay\"] = 0x2211;\n t[\"summationtext\"] = 0x2211;\n t[\"tildewide\"] = 0x02dc;\n t[\"tildewider\"] = 0x02dc;\n t[\"tildewidest\"] = 0x02dc;\n t[\"uniondisplay\"] = 0x22c3;\n t[\"unionmultidisplay\"] = 0x228e;\n t[\"unionmultitext\"] = 0x228e;\n t[\"unionsqdisplay\"] = 0x2294;\n t[\"unionsqtext\"] = 0x2294;\n t[\"uniontext\"] = 0x22c3;\n t[\"vextenddouble\"] = 0x2225;\n t[\"vextendsingle\"] = 0x2223;\n });\n var getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t[\"space\"] = 0x0020;\n t[\"a1\"] = 0x2701;\n t[\"a2\"] = 0x2702;\n t[\"a202\"] = 0x2703;\n t[\"a3\"] = 0x2704;\n t[\"a4\"] = 0x260e;\n t[\"a5\"] = 0x2706;\n t[\"a119\"] = 0x2707;\n t[\"a118\"] = 0x2708;\n t[\"a117\"] = 0x2709;\n t[\"a11\"] = 0x261b;\n t[\"a12\"] = 0x261e;\n t[\"a13\"] = 0x270c;\n t[\"a14\"] = 0x270d;\n t[\"a15\"] = 0x270e;\n t[\"a16\"] = 0x270f;\n t[\"a105\"] = 0x2710;\n t[\"a17\"] = 0x2711;\n t[\"a18\"] = 0x2712;\n t[\"a19\"] = 0x2713;\n t[\"a20\"] = 0x2714;\n t[\"a21\"] = 0x2715;\n t[\"a22\"] = 0x2716;\n t[\"a23\"] = 0x2717;\n t[\"a24\"] = 0x2718;\n t[\"a25\"] = 0x2719;\n t[\"a26\"] = 0x271a;\n t[\"a27\"] = 0x271b;\n t[\"a28\"] = 0x271c;\n t[\"a6\"] = 0x271d;\n t[\"a7\"] = 0x271e;\n t[\"a8\"] = 0x271f;\n t[\"a9\"] = 0x2720;\n t[\"a10\"] = 0x2721;\n t[\"a29\"] = 0x2722;\n t[\"a30\"] = 0x2723;\n t[\"a31\"] = 0x2724;\n t[\"a32\"] = 0x2725;\n t[\"a33\"] = 0x2726;\n t[\"a34\"] = 0x2727;\n t[\"a35\"] = 0x2605;\n t[\"a36\"] = 0x2729;\n t[\"a37\"] = 0x272a;\n t[\"a38\"] = 0x272b;\n t[\"a39\"] = 0x272c;\n t[\"a40\"] = 0x272d;\n t[\"a41\"] = 0x272e;\n t[\"a42\"] = 0x272f;\n t[\"a43\"] = 0x2730;\n t[\"a44\"] = 0x2731;\n t[\"a45\"] = 0x2732;\n t[\"a46\"] = 0x2733;\n t[\"a47\"] = 0x2734;\n t[\"a48\"] = 0x2735;\n t[\"a49\"] = 0x2736;\n t[\"a50\"] = 0x2737;\n t[\"a51\"] = 0x2738;\n t[\"a52\"] = 0x2739;\n t[\"a53\"] = 0x273a;\n t[\"a54\"] = 0x273b;\n t[\"a55\"] = 0x273c;\n t[\"a56\"] = 0x273d;\n t[\"a57\"] = 0x273e;\n t[\"a58\"] = 0x273f;\n t[\"a59\"] = 0x2740;\n t[\"a60\"] = 0x2741;\n t[\"a61\"] = 0x2742;\n t[\"a62\"] = 0x2743;\n t[\"a63\"] = 0x2744;\n t[\"a64\"] = 0x2745;\n t[\"a65\"] = 0x2746;\n t[\"a66\"] = 0x2747;\n t[\"a67\"] = 0x2748;\n t[\"a68\"] = 0x2749;\n t[\"a69\"] = 0x274a;\n t[\"a70\"] = 0x274b;\n t[\"a71\"] = 0x25cf;\n t[\"a72\"] = 0x274d;\n t[\"a73\"] = 0x25a0;\n t[\"a74\"] = 0x274f;\n t[\"a203\"] = 0x2750;\n t[\"a75\"] = 0x2751;\n t[\"a204\"] = 0x2752;\n t[\"a76\"] = 0x25b2;\n t[\"a77\"] = 0x25bc;\n t[\"a78\"] = 0x25c6;\n t[\"a79\"] = 0x2756;\n t[\"a81\"] = 0x25d7;\n t[\"a82\"] = 0x2758;\n t[\"a83\"] = 0x2759;\n t[\"a84\"] = 0x275a;\n t[\"a97\"] = 0x275b;\n t[\"a98\"] = 0x275c;\n t[\"a99\"] = 0x275d;\n t[\"a100\"] = 0x275e;\n t[\"a101\"] = 0x2761;\n t[\"a102\"] = 0x2762;\n t[\"a103\"] = 0x2763;\n t[\"a104\"] = 0x2764;\n t[\"a106\"] = 0x2765;\n t[\"a107\"] = 0x2766;\n t[\"a108\"] = 0x2767;\n t[\"a112\"] = 0x2663;\n t[\"a111\"] = 0x2666;\n t[\"a110\"] = 0x2665;\n t[\"a109\"] = 0x2660;\n t[\"a120\"] = 0x2460;\n t[\"a121\"] = 0x2461;\n t[\"a122\"] = 0x2462;\n t[\"a123\"] = 0x2463;\n t[\"a124\"] = 0x2464;\n t[\"a125\"] = 0x2465;\n t[\"a126\"] = 0x2466;\n t[\"a127\"] = 0x2467;\n t[\"a128\"] = 0x2468;\n t[\"a129\"] = 0x2469;\n t[\"a130\"] = 0x2776;\n t[\"a131\"] = 0x2777;\n t[\"a132\"] = 0x2778;\n t[\"a133\"] = 0x2779;\n t[\"a134\"] = 0x277a;\n t[\"a135\"] = 0x277b;\n t[\"a136\"] = 0x277c;\n t[\"a137\"] = 0x277d;\n t[\"a138\"] = 0x277e;\n t[\"a139\"] = 0x277f;\n t[\"a140\"] = 0x2780;\n t[\"a141\"] = 0x2781;\n t[\"a142\"] = 0x2782;\n t[\"a143\"] = 0x2783;\n t[\"a144\"] = 0x2784;\n t[\"a145\"] = 0x2785;\n t[\"a146\"] = 0x2786;\n t[\"a147\"] = 0x2787;\n t[\"a148\"] = 0x2788;\n t[\"a149\"] = 0x2789;\n t[\"a150\"] = 0x278a;\n t[\"a151\"] = 0x278b;\n t[\"a152\"] = 0x278c;\n t[\"a153\"] = 0x278d;\n t[\"a154\"] = 0x278e;\n t[\"a155\"] = 0x278f;\n t[\"a156\"] = 0x2790;\n t[\"a157\"] = 0x2791;\n t[\"a158\"] = 0x2792;\n t[\"a159\"] = 0x2793;\n t[\"a160\"] = 0x2794;\n t[\"a161\"] = 0x2192;\n t[\"a163\"] = 0x2194;\n t[\"a164\"] = 0x2195;\n t[\"a196\"] = 0x2798;\n t[\"a165\"] = 0x2799;\n t[\"a192\"] = 0x279a;\n t[\"a166\"] = 0x279b;\n t[\"a167\"] = 0x279c;\n t[\"a168\"] = 0x279d;\n t[\"a169\"] = 0x279e;\n t[\"a170\"] = 0x279f;\n t[\"a171\"] = 0x27a0;\n t[\"a172\"] = 0x27a1;\n t[\"a173\"] = 0x27a2;\n t[\"a162\"] = 0x27a3;\n t[\"a174\"] = 0x27a4;\n t[\"a175\"] = 0x27a5;\n t[\"a176\"] = 0x27a6;\n t[\"a177\"] = 0x27a7;\n t[\"a178\"] = 0x27a8;\n t[\"a179\"] = 0x27a9;\n t[\"a193\"] = 0x27aa;\n t[\"a180\"] = 0x27ab;\n t[\"a199\"] = 0x27ac;\n t[\"a181\"] = 0x27ad;\n t[\"a200\"] = 0x27ae;\n t[\"a182\"] = 0x27af;\n t[\"a201\"] = 0x27b1;\n t[\"a183\"] = 0x27b2;\n t[\"a184\"] = 0x27b3;\n t[\"a197\"] = 0x27b4;\n t[\"a185\"] = 0x27b5;\n t[\"a194\"] = 0x27b6;\n t[\"a198\"] = 0x27b7;\n t[\"a186\"] = 0x27b8;\n t[\"a195\"] = 0x27b9;\n t[\"a187\"] = 0x27ba;\n t[\"a188\"] = 0x27bb;\n t[\"a189\"] = 0x27bc;\n t[\"a190\"] = 0x27bd;\n t[\"a191\"] = 0x27be;\n t[\"a89\"] = 0x2768;\n t[\"a90\"] = 0x2769;\n t[\"a93\"] = 0x276a;\n t[\"a94\"] = 0x276b;\n t[\"a91\"] = 0x276c;\n t[\"a92\"] = 0x276d;\n t[\"a205\"] = 0x276e;\n t[\"a85\"] = 0x276f;\n t[\"a206\"] = 0x2770;\n t[\"a86\"] = 0x2771;\n t[\"a87\"] = 0x2772;\n t[\"a88\"] = 0x2773;\n t[\"a95\"] = 0x2774;\n t[\"a96\"] = 0x2775;\n t[\".notdef\"] = 0x0000;\n });\n exports.getGlyphsUnicode = getGlyphsUnicode;\n exports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"ArialNarrow\"] = \"Helvetica\";\n t[\"ArialNarrow-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialNarrow-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialNarrow-Italic\"] = \"Helvetica-Oblique\";\n t[\"ArialBlack\"] = \"Helvetica\";\n t[\"ArialBlack-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialBlack-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialBlack-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-Black\"] = \"Helvetica\";\n t[\"Arial-Black-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-Black-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Black-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial\"] = \"Helvetica\";\n t[\"Arial-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-BoldItalicMT\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-BoldMT\"] = \"Helvetica-Bold\";\n t[\"Arial-ItalicMT\"] = \"Helvetica-Oblique\";\n t[\"ArialMT\"] = \"Helvetica\";\n t[\"Courier-Bold\"] = \"Courier-Bold\";\n t[\"Courier-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"Courier-Italic\"] = \"Courier-Oblique\";\n t[\"CourierNew\"] = \"Courier\";\n t[\"CourierNew-Bold\"] = \"Courier-Bold\";\n t[\"CourierNew-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"CourierNew-Italic\"] = \"Courier-Oblique\";\n t[\"CourierNewPS-BoldItalicMT\"] = \"Courier-BoldOblique\";\n t[\"CourierNewPS-BoldMT\"] = \"Courier-Bold\";\n t[\"CourierNewPS-ItalicMT\"] = \"Courier-Oblique\";\n t[\"CourierNewPSMT\"] = \"Courier\";\n t[\"Helvetica\"] = \"Helvetica\";\n t[\"Helvetica-Bold\"] = \"Helvetica-Bold\";\n t[\"Helvetica-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-BoldOblique\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-Italic\"] = \"Helvetica-Oblique\";\n t[\"Helvetica-Oblique\"] = \"Helvetica-Oblique\";\n t[\"Symbol-Bold\"] = \"Symbol\";\n t[\"Symbol-BoldItalic\"] = \"Symbol\";\n t[\"Symbol-Italic\"] = \"Symbol\";\n t[\"TimesNewRoman\"] = \"Times-Roman\";\n t[\"TimesNewRoman-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRoman-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRoman-Italic\"] = \"Times-Italic\";\n t[\"TimesNewRomanPS\"] = \"Times-Roman\";\n t[\"TimesNewRomanPS-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldItalicMT\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldMT\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-Italic\"] = \"Times-Italic\";\n t[\"TimesNewRomanPS-ItalicMT\"] = \"Times-Italic\";\n t[\"TimesNewRomanPSMT\"] = \"Times-Roman\";\n t[\"TimesNewRomanPSMT-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPSMT-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPSMT-Italic\"] = \"Times-Italic\";\n });\n exports.getStdFontMap = getStdFontMap;\n var getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Calibri\"] = \"Helvetica\";\n t[\"Calibri-Bold\"] = \"Helvetica-Bold\";\n t[\"Calibri-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Calibri-Italic\"] = \"Helvetica-Oblique\";\n t[\"CenturyGothic\"] = \"Helvetica\";\n t[\"CenturyGothic-Bold\"] = \"Helvetica-Bold\";\n t[\"CenturyGothic-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"CenturyGothic-Italic\"] = \"Helvetica-Oblique\";\n t[\"ComicSansMS\"] = \"Comic Sans MS\";\n t[\"ComicSansMS-Bold\"] = \"Comic Sans MS-Bold\";\n t[\"ComicSansMS-BoldItalic\"] = \"Comic Sans MS-BoldItalic\";\n t[\"ComicSansMS-Italic\"] = \"Comic Sans MS-Italic\";\n t[\"LucidaConsole\"] = \"Courier\";\n t[\"LucidaConsole-Bold\"] = \"Courier-Bold\";\n t[\"LucidaConsole-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"LucidaConsole-Italic\"] = \"Courier-Oblique\";\n t[\"LucidaSans-Demi\"] = \"Helvetica-Bold\";\n t[\"MS-Gothic\"] = \"MS Gothic\";\n t[\"MS-Gothic-Bold\"] = \"MS Gothic-Bold\";\n t[\"MS-Gothic-BoldItalic\"] = \"MS Gothic-BoldItalic\";\n t[\"MS-Gothic-Italic\"] = \"MS Gothic-Italic\";\n t[\"MS-Mincho\"] = \"MS Mincho\";\n t[\"MS-Mincho-Bold\"] = \"MS Mincho-Bold\";\n t[\"MS-Mincho-BoldItalic\"] = \"MS Mincho-BoldItalic\";\n t[\"MS-Mincho-Italic\"] = \"MS Mincho-Italic\";\n t[\"MS-PGothic\"] = \"MS PGothic\";\n t[\"MS-PGothic-Bold\"] = \"MS PGothic-Bold\";\n t[\"MS-PGothic-BoldItalic\"] = \"MS PGothic-BoldItalic\";\n t[\"MS-PGothic-Italic\"] = \"MS PGothic-Italic\";\n t[\"MS-PMincho\"] = \"MS PMincho\";\n t[\"MS-PMincho-Bold\"] = \"MS PMincho-Bold\";\n t[\"MS-PMincho-BoldItalic\"] = \"MS PMincho-BoldItalic\";\n t[\"MS-PMincho-Italic\"] = \"MS PMincho-Italic\";\n t[\"NuptialScript\"] = \"Times-Italic\";\n t[\"SegoeUISymbol\"] = \"Helvetica\";\n t[\"Wingdings\"] = \"ZapfDingbats\";\n t[\"Wingdings-Regular\"] = \"ZapfDingbats\";\n });\n exports.getNonStdFontMap = getNonStdFontMap;\n var getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Adobe Jenson\"] = true;\n t[\"Adobe Text\"] = true;\n t[\"Albertus\"] = true;\n t[\"Aldus\"] = true;\n t[\"Alexandria\"] = true;\n t[\"Algerian\"] = true;\n t[\"American Typewriter\"] = true;\n t[\"Antiqua\"] = true;\n t[\"Apex\"] = true;\n t[\"Arno\"] = true;\n t[\"Aster\"] = true;\n t[\"Aurora\"] = true;\n t[\"Baskerville\"] = true;\n t[\"Bell\"] = true;\n t[\"Bembo\"] = true;\n t[\"Bembo Schoolbook\"] = true;\n t[\"Benguiat\"] = true;\n t[\"Berkeley Old Style\"] = true;\n t[\"Bernhard Modern\"] = true;\n t[\"Berthold City\"] = true;\n t[\"Bodoni\"] = true;\n t[\"Bauer Bodoni\"] = true;\n t[\"Book Antiqua\"] = true;\n t[\"Bookman\"] = true;\n t[\"Bordeaux Roman\"] = true;\n t[\"Californian FB\"] = true;\n t[\"Calisto\"] = true;\n t[\"Calvert\"] = true;\n t[\"Capitals\"] = true;\n t[\"Cambria\"] = true;\n t[\"Cartier\"] = true;\n t[\"Caslon\"] = true;\n t[\"Catull\"] = true;\n t[\"Centaur\"] = true;\n t[\"Century Old Style\"] = true;\n t[\"Century Schoolbook\"] = true;\n t[\"Chaparral\"] = true;\n t[\"Charis SIL\"] = true;\n t[\"Cheltenham\"] = true;\n t[\"Cholla Slab\"] = true;\n t[\"Clarendon\"] = true;\n t[\"Clearface\"] = true;\n t[\"Cochin\"] = true;\n t[\"Colonna\"] = true;\n t[\"Computer Modern\"] = true;\n t[\"Concrete Roman\"] = true;\n t[\"Constantia\"] = true;\n t[\"Cooper Black\"] = true;\n t[\"Corona\"] = true;\n t[\"Ecotype\"] = true;\n t[\"Egyptienne\"] = true;\n t[\"Elephant\"] = true;\n t[\"Excelsior\"] = true;\n t[\"Fairfield\"] = true;\n t[\"FF Scala\"] = true;\n t[\"Folkard\"] = true;\n t[\"Footlight\"] = true;\n t[\"FreeSerif\"] = true;\n t[\"Friz Quadrata\"] = true;\n t[\"Garamond\"] = true;\n t[\"Gentium\"] = true;\n t[\"Georgia\"] = true;\n t[\"Gloucester\"] = true;\n t[\"Goudy Old Style\"] = true;\n t[\"Goudy Schoolbook\"] = true;\n t[\"Goudy Pro Font\"] = true;\n t[\"Granjon\"] = true;\n t[\"Guardian Egyptian\"] = true;\n t[\"Heather\"] = true;\n t[\"Hercules\"] = true;\n t[\"High Tower Text\"] = true;\n t[\"Hiroshige\"] = true;\n t[\"Hoefler Text\"] = true;\n t[\"Humana Serif\"] = true;\n t[\"Imprint\"] = true;\n t[\"Ionic No. 5\"] = true;\n t[\"Janson\"] = true;\n t[\"Joanna\"] = true;\n t[\"Korinna\"] = true;\n t[\"Lexicon\"] = true;\n t[\"Liberation Serif\"] = true;\n t[\"Linux Libertine\"] = true;\n t[\"Literaturnaya\"] = true;\n t[\"Lucida\"] = true;\n t[\"Lucida Bright\"] = true;\n t[\"Melior\"] = true;\n t[\"Memphis\"] = true;\n t[\"Miller\"] = true;\n t[\"Minion\"] = true;\n t[\"Modern\"] = true;\n t[\"Mona Lisa\"] = true;\n t[\"Mrs Eaves\"] = true;\n t[\"MS Serif\"] = true;\n t[\"Museo Slab\"] = true;\n t[\"New York\"] = true;\n t[\"Nimbus Roman\"] = true;\n t[\"NPS Rawlinson Roadway\"] = true;\n t[\"NuptialScript\"] = true;\n t[\"Palatino\"] = true;\n t[\"Perpetua\"] = true;\n t[\"Plantin\"] = true;\n t[\"Plantin Schoolbook\"] = true;\n t[\"Playbill\"] = true;\n t[\"Poor Richard\"] = true;\n t[\"Rawlinson Roadway\"] = true;\n t[\"Renault\"] = true;\n t[\"Requiem\"] = true;\n t[\"Rockwell\"] = true;\n t[\"Roman\"] = true;\n t[\"Rotis Serif\"] = true;\n t[\"Sabon\"] = true;\n t[\"Scala\"] = true;\n t[\"Seagull\"] = true;\n t[\"Sistina\"] = true;\n t[\"Souvenir\"] = true;\n t[\"STIX\"] = true;\n t[\"Stone Informal\"] = true;\n t[\"Stone Serif\"] = true;\n t[\"Sylfaen\"] = true;\n t[\"Times\"] = true;\n t[\"Trajan\"] = true;\n t[\"Trinité\"] = true;\n t[\"Trump Mediaeval\"] = true;\n t[\"Utopia\"] = true;\n t[\"Vale Type\"] = true;\n t[\"Bitstream Vera\"] = true;\n t[\"Vera Serif\"] = true;\n t[\"Versailles\"] = true;\n t[\"Wanted\"] = true;\n t[\"Weiss\"] = true;\n t[\"Wide Latin\"] = true;\n t[\"Windsor\"] = true;\n t[\"XITS\"] = true;\n });\n exports.getSerifFonts = getSerifFonts;\n var getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Dingbats\"] = true;\n t[\"Symbol\"] = true;\n t[\"ZapfDingbats\"] = true;\n });\n exports.getSymbolsFonts = getSymbolsFonts;\n var getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[2] = 10;\n t[3] = 32;\n t[4] = 33;\n t[5] = 34;\n t[6] = 35;\n t[7] = 36;\n t[8] = 37;\n t[9] = 38;\n t[10] = 39;\n t[11] = 40;\n t[12] = 41;\n t[13] = 42;\n t[14] = 43;\n t[15] = 44;\n t[16] = 45;\n t[17] = 46;\n t[18] = 47;\n t[19] = 48;\n t[20] = 49;\n t[21] = 50;\n t[22] = 51;\n t[23] = 52;\n t[24] = 53;\n t[25] = 54;\n t[26] = 55;\n t[27] = 56;\n t[28] = 57;\n t[29] = 58;\n t[30] = 894;\n t[31] = 60;\n t[32] = 61;\n t[33] = 62;\n t[34] = 63;\n t[35] = 64;\n t[36] = 65;\n t[37] = 66;\n t[38] = 67;\n t[39] = 68;\n t[40] = 69;\n t[41] = 70;\n t[42] = 71;\n t[43] = 72;\n t[44] = 73;\n t[45] = 74;\n t[46] = 75;\n t[47] = 76;\n t[48] = 77;\n t[49] = 78;\n t[50] = 79;\n t[51] = 80;\n t[52] = 81;\n t[53] = 82;\n t[54] = 83;\n t[55] = 84;\n t[56] = 85;\n t[57] = 86;\n t[58] = 87;\n t[59] = 88;\n t[60] = 89;\n t[61] = 90;\n t[62] = 91;\n t[63] = 92;\n t[64] = 93;\n t[65] = 94;\n t[66] = 95;\n t[67] = 96;\n t[68] = 97;\n t[69] = 98;\n t[70] = 99;\n t[71] = 100;\n t[72] = 101;\n t[73] = 102;\n t[74] = 103;\n t[75] = 104;\n t[76] = 105;\n t[77] = 106;\n t[78] = 107;\n t[79] = 108;\n t[80] = 109;\n t[81] = 110;\n t[82] = 111;\n t[83] = 112;\n t[84] = 113;\n t[85] = 114;\n t[86] = 115;\n t[87] = 116;\n t[88] = 117;\n t[89] = 118;\n t[90] = 119;\n t[91] = 120;\n t[92] = 121;\n t[93] = 122;\n t[94] = 123;\n t[95] = 124;\n t[96] = 125;\n t[97] = 126;\n t[98] = 196;\n t[99] = 197;\n t[100] = 199;\n t[101] = 201;\n t[102] = 209;\n t[103] = 214;\n t[104] = 220;\n t[105] = 225;\n t[106] = 224;\n t[107] = 226;\n t[108] = 228;\n t[109] = 227;\n t[110] = 229;\n t[111] = 231;\n t[112] = 233;\n t[113] = 232;\n t[114] = 234;\n t[115] = 235;\n t[116] = 237;\n t[117] = 236;\n t[118] = 238;\n t[119] = 239;\n t[120] = 241;\n t[121] = 243;\n t[122] = 242;\n t[123] = 244;\n t[124] = 246;\n t[125] = 245;\n t[126] = 250;\n t[127] = 249;\n t[128] = 251;\n t[129] = 252;\n t[130] = 8224;\n t[131] = 176;\n t[132] = 162;\n t[133] = 163;\n t[134] = 167;\n t[135] = 8226;\n t[136] = 182;\n t[137] = 223;\n t[138] = 174;\n t[139] = 169;\n t[140] = 8482;\n t[141] = 180;\n t[142] = 168;\n t[143] = 8800;\n t[144] = 198;\n t[145] = 216;\n t[146] = 8734;\n t[147] = 177;\n t[148] = 8804;\n t[149] = 8805;\n t[150] = 165;\n t[151] = 181;\n t[152] = 8706;\n t[153] = 8721;\n t[154] = 8719;\n t[156] = 8747;\n t[157] = 170;\n t[158] = 186;\n t[159] = 8486;\n t[160] = 230;\n t[161] = 248;\n t[162] = 191;\n t[163] = 161;\n t[164] = 172;\n t[165] = 8730;\n t[166] = 402;\n t[167] = 8776;\n t[168] = 8710;\n t[169] = 171;\n t[170] = 187;\n t[171] = 8230;\n t[210] = 218;\n t[223] = 711;\n t[224] = 321;\n t[225] = 322;\n t[227] = 353;\n t[229] = 382;\n t[234] = 253;\n t[252] = 263;\n t[253] = 268;\n t[254] = 269;\n t[258] = 258;\n t[260] = 260;\n t[261] = 261;\n t[265] = 280;\n t[266] = 281;\n t[268] = 283;\n t[269] = 313;\n t[275] = 323;\n t[276] = 324;\n t[278] = 328;\n t[284] = 345;\n t[285] = 346;\n t[286] = 347;\n t[292] = 367;\n t[295] = 377;\n t[296] = 378;\n t[298] = 380;\n t[305] = 963;\n t[306] = 964;\n t[307] = 966;\n t[308] = 8215;\n t[309] = 8252;\n t[310] = 8319;\n t[311] = 8359;\n t[312] = 8592;\n t[313] = 8593;\n t[337] = 9552;\n t[493] = 1039;\n t[494] = 1040;\n t[705] = 1524;\n t[706] = 8362;\n t[710] = 64288;\n t[711] = 64298;\n t[759] = 1617;\n t[761] = 1776;\n t[763] = 1778;\n t[775] = 1652;\n t[777] = 1764;\n t[778] = 1780;\n t[779] = 1781;\n t[780] = 1782;\n t[782] = 771;\n t[783] = 64726;\n t[786] = 8363;\n t[788] = 8532;\n t[790] = 768;\n t[791] = 769;\n t[792] = 768;\n t[795] = 803;\n t[797] = 64336;\n t[798] = 64337;\n t[799] = 64342;\n t[800] = 64343;\n t[801] = 64344;\n t[802] = 64345;\n t[803] = 64362;\n t[804] = 64363;\n t[805] = 64364;\n t[2424] = 7821;\n t[2425] = 7822;\n t[2426] = 7823;\n t[2427] = 7824;\n t[2428] = 7825;\n t[2429] = 7826;\n t[2430] = 7827;\n t[2433] = 7682;\n t[2678] = 8045;\n t[2679] = 8046;\n t[2830] = 1552;\n t[2838] = 686;\n t[2840] = 751;\n t[2842] = 753;\n t[2843] = 754;\n t[2844] = 755;\n t[2846] = 757;\n t[2856] = 767;\n t[2857] = 848;\n t[2858] = 849;\n t[2862] = 853;\n t[2863] = 854;\n t[2864] = 855;\n t[2865] = 861;\n t[2866] = 862;\n t[2906] = 7460;\n t[2908] = 7462;\n t[2909] = 7463;\n t[2910] = 7464;\n t[2912] = 7466;\n t[2913] = 7467;\n t[2914] = 7468;\n t[2916] = 7470;\n t[2917] = 7471;\n t[2918] = 7472;\n t[2920] = 7474;\n t[2921] = 7475;\n t[2922] = 7476;\n t[2924] = 7478;\n t[2925] = 7479;\n t[2926] = 7480;\n t[2928] = 7482;\n t[2929] = 7483;\n t[2930] = 7484;\n t[2932] = 7486;\n t[2933] = 7487;\n t[2934] = 7488;\n t[2936] = 7490;\n t[2937] = 7491;\n t[2938] = 7492;\n t[2940] = 7494;\n t[2941] = 7495;\n t[2942] = 7496;\n t[2944] = 7498;\n t[2946] = 7500;\n t[2948] = 7502;\n t[2950] = 7504;\n t[2951] = 7505;\n t[2952] = 7506;\n t[2954] = 7508;\n t[2955] = 7509;\n t[2956] = 7510;\n t[2958] = 7512;\n t[2959] = 7513;\n t[2960] = 7514;\n t[2962] = 7516;\n t[2963] = 7517;\n t[2964] = 7518;\n t[2966] = 7520;\n t[2967] = 7521;\n t[2968] = 7522;\n t[2970] = 7524;\n t[2971] = 7525;\n t[2972] = 7526;\n t[2974] = 7528;\n t[2975] = 7529;\n t[2976] = 7530;\n t[2978] = 1537;\n t[2979] = 1538;\n t[2980] = 1539;\n t[2982] = 1549;\n t[2983] = 1551;\n t[2984] = 1552;\n t[2986] = 1554;\n t[2987] = 1555;\n t[2988] = 1556;\n t[2990] = 1623;\n t[2991] = 1624;\n t[2995] = 1775;\n t[2999] = 1791;\n t[3002] = 64290;\n t[3003] = 64291;\n t[3004] = 64292;\n t[3006] = 64294;\n t[3007] = 64295;\n t[3008] = 64296;\n t[3011] = 1900;\n t[3014] = 8223;\n t[3015] = 8244;\n t[3017] = 7532;\n t[3018] = 7533;\n t[3019] = 7534;\n t[3075] = 7590;\n t[3076] = 7591;\n t[3079] = 7594;\n t[3080] = 7595;\n t[3083] = 7598;\n t[3084] = 7599;\n t[3087] = 7602;\n t[3088] = 7603;\n t[3091] = 7606;\n t[3092] = 7607;\n t[3095] = 7610;\n t[3096] = 7611;\n t[3099] = 7614;\n t[3100] = 7615;\n t[3103] = 7618;\n t[3104] = 7619;\n t[3107] = 8337;\n t[3108] = 8338;\n t[3116] = 1884;\n t[3119] = 1885;\n t[3120] = 1885;\n t[3123] = 1886;\n t[3124] = 1886;\n t[3127] = 1887;\n t[3128] = 1887;\n t[3131] = 1888;\n t[3132] = 1888;\n t[3135] = 1889;\n t[3136] = 1889;\n t[3139] = 1890;\n t[3140] = 1890;\n t[3143] = 1891;\n t[3144] = 1891;\n t[3147] = 1892;\n t[3148] = 1892;\n t[3153] = 580;\n t[3154] = 581;\n t[3157] = 584;\n t[3158] = 585;\n t[3161] = 588;\n t[3162] = 589;\n t[3165] = 891;\n t[3166] = 892;\n t[3169] = 1274;\n t[3170] = 1275;\n t[3173] = 1278;\n t[3174] = 1279;\n t[3181] = 7622;\n t[3182] = 7623;\n t[3282] = 11799;\n t[3316] = 578;\n t[3379] = 42785;\n t[3393] = 1159;\n t[3416] = 8377;\n });\n exports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\n var getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n });\n exports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\n var getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[1] = 32;\n t[4] = 65;\n t[17] = 66;\n t[18] = 67;\n t[24] = 68;\n t[28] = 69;\n t[38] = 70;\n t[39] = 71;\n t[44] = 72;\n t[47] = 73;\n t[58] = 74;\n t[60] = 75;\n t[62] = 76;\n t[68] = 77;\n t[69] = 78;\n t[75] = 79;\n t[87] = 80;\n t[89] = 81;\n t[90] = 82;\n t[94] = 83;\n t[100] = 84;\n t[104] = 85;\n t[115] = 86;\n t[116] = 87;\n t[121] = 88;\n t[122] = 89;\n t[127] = 90;\n t[258] = 97;\n t[268] = 261;\n t[271] = 98;\n t[272] = 99;\n t[273] = 263;\n t[282] = 100;\n t[286] = 101;\n t[295] = 281;\n t[296] = 102;\n t[336] = 103;\n t[346] = 104;\n t[349] = 105;\n t[361] = 106;\n t[364] = 107;\n t[367] = 108;\n t[371] = 322;\n t[373] = 109;\n t[374] = 110;\n t[381] = 111;\n t[383] = 243;\n t[393] = 112;\n t[395] = 113;\n t[396] = 114;\n t[400] = 115;\n t[401] = 347;\n t[410] = 116;\n t[437] = 117;\n t[448] = 118;\n t[449] = 119;\n t[454] = 120;\n t[455] = 121;\n t[460] = 122;\n t[463] = 380;\n t[853] = 44;\n t[855] = 58;\n t[856] = 46;\n t[876] = 47;\n t[878] = 45;\n t[882] = 45;\n t[894] = 40;\n t[895] = 41;\n t[896] = 91;\n t[897] = 93;\n t[923] = 64;\n t[1004] = 48;\n t[1005] = 49;\n t[1006] = 50;\n t[1007] = 51;\n t[1008] = 52;\n t[1009] = 53;\n t[1010] = 54;\n t[1011] = 55;\n t[1012] = 56;\n t[1013] = 57;\n t[1081] = 37;\n t[1085] = 43;\n t[1086] = 45;\n });\n exports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n var getLookupTableFactory = __w_pdfjs_require__(7).getLookupTableFactory;\n\n var getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00a9;\n t[63193] = 0x00a9;\n t[63720] = 0x00ae;\n t[63194] = 0x00ae;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23a7;\n t[63730] = 0x23a8;\n t[63731] = 0x23a9;\n t[63740] = 0x23ab;\n t[63741] = 0x23ac;\n t[63742] = 0x23ad;\n t[63726] = 0x23a1;\n t[63727] = 0x23a2;\n t[63728] = 0x23a3;\n t[63737] = 0x23a4;\n t[63738] = 0x23a5;\n t[63739] = 0x23a6;\n t[63723] = 0x239b;\n t[63724] = 0x239c;\n t[63725] = 0x239d;\n t[63734] = 0x239e;\n t[63735] = 0x239f;\n t[63736] = 0x23a0;\n });\n\n function mapSpecialUnicodeValues(code) {\n if (code >= 0xfff0 && code <= 0xffff) {\n return 0;\n } else if (code >= 0xf600 && code <= 0xf8ff) {\n return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00ad) {\n return 0x002d;\n }\n\n return code;\n }\n\n function getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n\n if (unicode !== undefined) {\n return unicode;\n }\n\n if (!name) {\n return -1;\n }\n\n if (name[0] === \"u\") {\n var nameLen = name.length,\n hexStr;\n\n if (nameLen === 7 && name[1] === \"n\" && name[2] === \"i\") {\n hexStr = name.substring(3);\n } else if (nameLen >= 5 && nameLen <= 7) {\n hexStr = name.substring(1);\n } else {\n return -1;\n }\n\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n\n return -1;\n }\n\n var UnicodeRanges = [{\n begin: 0x0000,\n end: 0x007f\n }, {\n begin: 0x0080,\n end: 0x00ff\n }, {\n begin: 0x0100,\n end: 0x017f\n }, {\n begin: 0x0180,\n end: 0x024f\n }, {\n begin: 0x0250,\n end: 0x02af\n }, {\n begin: 0x02b0,\n end: 0x02ff\n }, {\n begin: 0x0300,\n end: 0x036f\n }, {\n begin: 0x0370,\n end: 0x03ff\n }, {\n begin: 0x2c80,\n end: 0x2cff\n }, {\n begin: 0x0400,\n end: 0x04ff\n }, {\n begin: 0x0530,\n end: 0x058f\n }, {\n begin: 0x0590,\n end: 0x05ff\n }, {\n begin: 0xa500,\n end: 0xa63f\n }, {\n begin: 0x0600,\n end: 0x06ff\n }, {\n begin: 0x07c0,\n end: 0x07ff\n }, {\n begin: 0x0900,\n end: 0x097f\n }, {\n begin: 0x0980,\n end: 0x09ff\n }, {\n begin: 0x0a00,\n end: 0x0a7f\n }, {\n begin: 0x0a80,\n end: 0x0aff\n }, {\n begin: 0x0b00,\n end: 0x0b7f\n }, {\n begin: 0x0b80,\n end: 0x0bff\n }, {\n begin: 0x0c00,\n end: 0x0c7f\n }, {\n begin: 0x0c80,\n end: 0x0cff\n }, {\n begin: 0x0d00,\n end: 0x0d7f\n }, {\n begin: 0x0e00,\n end: 0x0e7f\n }, {\n begin: 0x0e80,\n end: 0x0eff\n }, {\n begin: 0x10a0,\n end: 0x10ff\n }, {\n begin: 0x1b00,\n end: 0x1b7f\n }, {\n begin: 0x1100,\n end: 0x11ff\n }, {\n begin: 0x1e00,\n end: 0x1eff\n }, {\n begin: 0x1f00,\n end: 0x1fff\n }, {\n begin: 0x2000,\n end: 0x206f\n }, {\n begin: 0x2070,\n end: 0x209f\n }, {\n begin: 0x20a0,\n end: 0x20cf\n }, {\n begin: 0x20d0,\n end: 0x20ff\n }, {\n begin: 0x2100,\n end: 0x214f\n }, {\n begin: 0x2150,\n end: 0x218f\n }, {\n begin: 0x2190,\n end: 0x21ff\n }, {\n begin: 0x2200,\n end: 0x22ff\n }, {\n begin: 0x2300,\n end: 0x23ff\n }, {\n begin: 0x2400,\n end: 0x243f\n }, {\n begin: 0x2440,\n end: 0x245f\n }, {\n begin: 0x2460,\n end: 0x24ff\n }, {\n begin: 0x2500,\n end: 0x257f\n }, {\n begin: 0x2580,\n end: 0x259f\n }, {\n begin: 0x25a0,\n end: 0x25ff\n }, {\n begin: 0x2600,\n end: 0x26ff\n }, {\n begin: 0x2700,\n end: 0x27bf\n }, {\n begin: 0x3000,\n end: 0x303f\n }, {\n begin: 0x3040,\n end: 0x309f\n }, {\n begin: 0x30a0,\n end: 0x30ff\n }, {\n begin: 0x3100,\n end: 0x312f\n }, {\n begin: 0x3130,\n end: 0x318f\n }, {\n begin: 0xa840,\n end: 0xa87f\n }, {\n begin: 0x3200,\n end: 0x32ff\n }, {\n begin: 0x3300,\n end: 0x33ff\n }, {\n begin: 0xac00,\n end: 0xd7af\n }, {\n begin: 0xd800,\n end: 0xdfff\n }, {\n begin: 0x10900,\n end: 0x1091f\n }, {\n begin: 0x4e00,\n end: 0x9fff\n }, {\n begin: 0xe000,\n end: 0xf8ff\n }, {\n begin: 0x31c0,\n end: 0x31ef\n }, {\n begin: 0xfb00,\n end: 0xfb4f\n }, {\n begin: 0xfb50,\n end: 0xfdff\n }, {\n begin: 0xfe20,\n end: 0xfe2f\n }, {\n begin: 0xfe10,\n end: 0xfe1f\n }, {\n begin: 0xfe50,\n end: 0xfe6f\n }, {\n begin: 0xfe70,\n end: 0xfeff\n }, {\n begin: 0xff00,\n end: 0xffef\n }, {\n begin: 0xfff0,\n end: 0xffff\n }, {\n begin: 0x0f00,\n end: 0x0fff\n }, {\n begin: 0x0700,\n end: 0x074f\n }, {\n begin: 0x0780,\n end: 0x07bf\n }, {\n begin: 0x0d80,\n end: 0x0dff\n }, {\n begin: 0x1000,\n end: 0x109f\n }, {\n begin: 0x1200,\n end: 0x137f\n }, {\n begin: 0x13a0,\n end: 0x13ff\n }, {\n begin: 0x1400,\n end: 0x167f\n }, {\n begin: 0x1680,\n end: 0x169f\n }, {\n begin: 0x16a0,\n end: 0x16ff\n }, {\n begin: 0x1780,\n end: 0x17ff\n }, {\n begin: 0x1800,\n end: 0x18af\n }, {\n begin: 0x2800,\n end: 0x28ff\n }, {\n begin: 0xa000,\n end: 0xa48f\n }, {\n begin: 0x1700,\n end: 0x171f\n }, {\n begin: 0x10300,\n end: 0x1032f\n }, {\n begin: 0x10330,\n end: 0x1034f\n }, {\n begin: 0x10400,\n end: 0x1044f\n }, {\n begin: 0x1d000,\n end: 0x1d0ff\n }, {\n begin: 0x1d400,\n end: 0x1d7ff\n }, {\n begin: 0xff000,\n end: 0xffffd\n }, {\n begin: 0xfe00,\n end: 0xfe0f\n }, {\n begin: 0xe0000,\n end: 0xe007f\n }, {\n begin: 0x1900,\n end: 0x194f\n }, {\n begin: 0x1950,\n end: 0x197f\n }, {\n begin: 0x1980,\n end: 0x19df\n }, {\n begin: 0x1a00,\n end: 0x1a1f\n }, {\n begin: 0x2c00,\n end: 0x2c5f\n }, {\n begin: 0x2d30,\n end: 0x2d7f\n }, {\n begin: 0x4dc0,\n end: 0x4dff\n }, {\n begin: 0xa800,\n end: 0xa82f\n }, {\n begin: 0x10000,\n end: 0x1007f\n }, {\n begin: 0x10140,\n end: 0x1018f\n }, {\n begin: 0x10380,\n end: 0x1039f\n }, {\n begin: 0x103a0,\n end: 0x103df\n }, {\n begin: 0x10450,\n end: 0x1047f\n }, {\n begin: 0x10480,\n end: 0x104af\n }, {\n begin: 0x10800,\n end: 0x1083f\n }, {\n begin: 0x10a00,\n end: 0x10a5f\n }, {\n begin: 0x1d300,\n end: 0x1d35f\n }, {\n begin: 0x12000,\n end: 0x123ff\n }, {\n begin: 0x1d360,\n end: 0x1d37f\n }, {\n begin: 0x1b80,\n end: 0x1bbf\n }, {\n begin: 0x1c00,\n end: 0x1c4f\n }, {\n begin: 0x1c50,\n end: 0x1c7f\n }, {\n begin: 0xa880,\n end: 0xa8df\n }, {\n begin: 0xa900,\n end: 0xa92f\n }, {\n begin: 0xa930,\n end: 0xa95f\n }, {\n begin: 0xaa00,\n end: 0xaa5f\n }, {\n begin: 0x10190,\n end: 0x101cf\n }, {\n begin: 0x101d0,\n end: 0x101ff\n }, {\n begin: 0x102a0,\n end: 0x102df\n }, {\n begin: 0x1f030,\n end: 0x1f09f\n }];\n\n function getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n var range = UnicodeRanges[i];\n\n if (value >= range.begin && value < range.end) {\n return i;\n }\n }\n\n return -1;\n }\n\n function isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n\n if (value >= range.begin && value < range.end) {\n return true;\n }\n\n range = UnicodeRanges[11];\n\n if (value >= range.begin && value < range.end) {\n return true;\n }\n\n return false;\n }\n\n var getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t[\"\\xA8\"] = \" \\u0308\";\n t[\"\\xAF\"] = \" \\u0304\";\n t[\"\\xB4\"] = \" \\u0301\";\n t[\"\\xB5\"] = \"\\u03BC\";\n t[\"\\xB8\"] = \" \\u0327\";\n t[\"\\u0132\"] = \"IJ\";\n t[\"\\u0133\"] = \"ij\";\n t[\"\\u013F\"] = \"L\\xB7\";\n t[\"\\u0140\"] = \"l\\xB7\";\n t[\"\\u0149\"] = \"\\u02BCn\";\n t[\"\\u017F\"] = \"s\";\n t[\"\\u01C4\"] = \"D\\u017D\";\n t[\"\\u01C5\"] = \"D\\u017E\";\n t[\"\\u01C6\"] = \"d\\u017E\";\n t[\"\\u01C7\"] = \"LJ\";\n t[\"\\u01C8\"] = \"Lj\";\n t[\"\\u01C9\"] = \"lj\";\n t[\"\\u01CA\"] = \"NJ\";\n t[\"\\u01CB\"] = \"Nj\";\n t[\"\\u01CC\"] = \"nj\";\n t[\"\\u01F1\"] = \"DZ\";\n t[\"\\u01F2\"] = \"Dz\";\n t[\"\\u01F3\"] = \"dz\";\n t[\"\\u02D8\"] = \" \\u0306\";\n t[\"\\u02D9\"] = \" \\u0307\";\n t[\"\\u02DA\"] = \" \\u030A\";\n t[\"\\u02DB\"] = \" \\u0328\";\n t[\"\\u02DC\"] = \" \\u0303\";\n t[\"\\u02DD\"] = \" \\u030B\";\n t[\"\\u037A\"] = \" \\u0345\";\n t[\"\\u0384\"] = \" \\u0301\";\n t[\"\\u03D0\"] = \"\\u03B2\";\n t[\"\\u03D1\"] = \"\\u03B8\";\n t[\"\\u03D2\"] = \"\\u03A5\";\n t[\"\\u03D5\"] = \"\\u03C6\";\n t[\"\\u03D6\"] = \"\\u03C0\";\n t[\"\\u03F0\"] = \"\\u03BA\";\n t[\"\\u03F1\"] = \"\\u03C1\";\n t[\"\\u03F2\"] = \"\\u03C2\";\n t[\"\\u03F4\"] = \"\\u0398\";\n t[\"\\u03F5\"] = \"\\u03B5\";\n t[\"\\u03F9\"] = \"\\u03A3\";\n t[\"\\u0587\"] = \"\\u0565\\u0582\";\n t[\"\\u0675\"] = \"\\u0627\\u0674\";\n t[\"\\u0676\"] = \"\\u0648\\u0674\";\n t[\"\\u0677\"] = \"\\u06C7\\u0674\";\n t[\"\\u0678\"] = \"\\u064A\\u0674\";\n t[\"\\u0E33\"] = \"\\u0E4D\\u0E32\";\n t[\"\\u0EB3\"] = \"\\u0ECD\\u0EB2\";\n t[\"\\u0EDC\"] = \"\\u0EAB\\u0E99\";\n t[\"\\u0EDD\"] = \"\\u0EAB\\u0EA1\";\n t[\"\\u0F77\"] = \"\\u0FB2\\u0F81\";\n t[\"\\u0F79\"] = \"\\u0FB3\\u0F81\";\n t[\"\\u1E9A\"] = \"a\\u02BE\";\n t[\"\\u1FBD\"] = \" \\u0313\";\n t[\"\\u1FBF\"] = \" \\u0313\";\n t[\"\\u1FC0\"] = \" \\u0342\";\n t[\"\\u1FFE\"] = \" \\u0314\";\n t[\"\\u2002\"] = \" \";\n t[\"\\u2003\"] = \" \";\n t[\"\\u2004\"] = \" \";\n t[\"\\u2005\"] = \" \";\n t[\"\\u2006\"] = \" \";\n t[\"\\u2008\"] = \" \";\n t[\"\\u2009\"] = \" \";\n t[\"\\u200A\"] = \" \";\n t[\"\\u2017\"] = \" \\u0333\";\n t[\"\\u2024\"] = \".\";\n t[\"\\u2025\"] = \"..\";\n t[\"\\u2026\"] = \"...\";\n t[\"\\u2033\"] = \"\\u2032\\u2032\";\n t[\"\\u2034\"] = \"\\u2032\\u2032\\u2032\";\n t[\"\\u2036\"] = \"\\u2035\\u2035\";\n t[\"\\u2037\"] = \"\\u2035\\u2035\\u2035\";\n t[\"\\u203C\"] = \"!!\";\n t[\"\\u203E\"] = \" \\u0305\";\n t[\"\\u2047\"] = \"??\";\n t[\"\\u2048\"] = \"?!\";\n t[\"\\u2049\"] = \"!?\";\n t[\"\\u2057\"] = \"\\u2032\\u2032\\u2032\\u2032\";\n t[\"\\u205F\"] = \" \";\n t[\"\\u20A8\"] = \"Rs\";\n t[\"\\u2100\"] = \"a/c\";\n t[\"\\u2101\"] = \"a/s\";\n t[\"\\u2103\"] = \"\\xB0C\";\n t[\"\\u2105\"] = \"c/o\";\n t[\"\\u2106\"] = \"c/u\";\n t[\"\\u2107\"] = \"\\u0190\";\n t[\"\\u2109\"] = \"\\xB0F\";\n t[\"\\u2116\"] = \"No\";\n t[\"\\u2121\"] = \"TEL\";\n t[\"\\u2135\"] = \"\\u05D0\";\n t[\"\\u2136\"] = \"\\u05D1\";\n t[\"\\u2137\"] = \"\\u05D2\";\n t[\"\\u2138\"] = \"\\u05D3\";\n t[\"\\u213B\"] = \"FAX\";\n t[\"\\u2160\"] = \"I\";\n t[\"\\u2161\"] = \"II\";\n t[\"\\u2162\"] = \"III\";\n t[\"\\u2163\"] = \"IV\";\n t[\"\\u2164\"] = \"V\";\n t[\"\\u2165\"] = \"VI\";\n t[\"\\u2166\"] = \"VII\";\n t[\"\\u2167\"] = \"VIII\";\n t[\"\\u2168\"] = \"IX\";\n t[\"\\u2169\"] = \"X\";\n t[\"\\u216A\"] = \"XI\";\n t[\"\\u216B\"] = \"XII\";\n t[\"\\u216C\"] = \"L\";\n t[\"\\u216D\"] = \"C\";\n t[\"\\u216E\"] = \"D\";\n t[\"\\u216F\"] = \"M\";\n t[\"\\u2170\"] = \"i\";\n t[\"\\u2171\"] = \"ii\";\n t[\"\\u2172\"] = \"iii\";\n t[\"\\u2173\"] = \"iv\";\n t[\"\\u2174\"] = \"v\";\n t[\"\\u2175\"] = \"vi\";\n t[\"\\u2176\"] = \"vii\";\n t[\"\\u2177\"] = \"viii\";\n t[\"\\u2178\"] = \"ix\";\n t[\"\\u2179\"] = \"x\";\n t[\"\\u217A\"] = \"xi\";\n t[\"\\u217B\"] = \"xii\";\n t[\"\\u217C\"] = \"l\";\n t[\"\\u217D\"] = \"c\";\n t[\"\\u217E\"] = \"d\";\n t[\"\\u217F\"] = \"m\";\n t[\"\\u222C\"] = \"\\u222B\\u222B\";\n t[\"\\u222D\"] = \"\\u222B\\u222B\\u222B\";\n t[\"\\u222F\"] = \"\\u222E\\u222E\";\n t[\"\\u2230\"] = \"\\u222E\\u222E\\u222E\";\n t[\"\\u2474\"] = \"(1)\";\n t[\"\\u2475\"] = \"(2)\";\n t[\"\\u2476\"] = \"(3)\";\n t[\"\\u2477\"] = \"(4)\";\n t[\"\\u2478\"] = \"(5)\";\n t[\"\\u2479\"] = \"(6)\";\n t[\"\\u247A\"] = \"(7)\";\n t[\"\\u247B\"] = \"(8)\";\n t[\"\\u247C\"] = \"(9)\";\n t[\"\\u247D\"] = \"(10)\";\n t[\"\\u247E\"] = \"(11)\";\n t[\"\\u247F\"] = \"(12)\";\n t[\"\\u2480\"] = \"(13)\";\n t[\"\\u2481\"] = \"(14)\";\n t[\"\\u2482\"] = \"(15)\";\n t[\"\\u2483\"] = \"(16)\";\n t[\"\\u2484\"] = \"(17)\";\n t[\"\\u2485\"] = \"(18)\";\n t[\"\\u2486\"] = \"(19)\";\n t[\"\\u2487\"] = \"(20)\";\n t[\"\\u2488\"] = \"1.\";\n t[\"\\u2489\"] = \"2.\";\n t[\"\\u248A\"] = \"3.\";\n t[\"\\u248B\"] = \"4.\";\n t[\"\\u248C\"] = \"5.\";\n t[\"\\u248D\"] = \"6.\";\n t[\"\\u248E\"] = \"7.\";\n t[\"\\u248F\"] = \"8.\";\n t[\"\\u2490\"] = \"9.\";\n t[\"\\u2491\"] = \"10.\";\n t[\"\\u2492\"] = \"11.\";\n t[\"\\u2493\"] = \"12.\";\n t[\"\\u2494\"] = \"13.\";\n t[\"\\u2495\"] = \"14.\";\n t[\"\\u2496\"] = \"15.\";\n t[\"\\u2497\"] = \"16.\";\n t[\"\\u2498\"] = \"17.\";\n t[\"\\u2499\"] = \"18.\";\n t[\"\\u249A\"] = \"19.\";\n t[\"\\u249B\"] = \"20.\";\n t[\"\\u249C\"] = \"(a)\";\n t[\"\\u249D\"] = \"(b)\";\n t[\"\\u249E\"] = \"(c)\";\n t[\"\\u249F\"] = \"(d)\";\n t[\"\\u24A0\"] = \"(e)\";\n t[\"\\u24A1\"] = \"(f)\";\n t[\"\\u24A2\"] = \"(g)\";\n t[\"\\u24A3\"] = \"(h)\";\n t[\"\\u24A4\"] = \"(i)\";\n t[\"\\u24A5\"] = \"(j)\";\n t[\"\\u24A6\"] = \"(k)\";\n t[\"\\u24A7\"] = \"(l)\";\n t[\"\\u24A8\"] = \"(m)\";\n t[\"\\u24A9\"] = \"(n)\";\n t[\"\\u24AA\"] = \"(o)\";\n t[\"\\u24AB\"] = \"(p)\";\n t[\"\\u24AC\"] = \"(q)\";\n t[\"\\u24AD\"] = \"(r)\";\n t[\"\\u24AE\"] = \"(s)\";\n t[\"\\u24AF\"] = \"(t)\";\n t[\"\\u24B0\"] = \"(u)\";\n t[\"\\u24B1\"] = \"(v)\";\n t[\"\\u24B2\"] = \"(w)\";\n t[\"\\u24B3\"] = \"(x)\";\n t[\"\\u24B4\"] = \"(y)\";\n t[\"\\u24B5\"] = \"(z)\";\n t[\"\\u2A0C\"] = \"\\u222B\\u222B\\u222B\\u222B\";\n t[\"\\u2A74\"] = \"::=\";\n t[\"\\u2A75\"] = \"==\";\n t[\"\\u2A76\"] = \"===\";\n t[\"\\u2E9F\"] = \"\\u6BCD\";\n t[\"\\u2EF3\"] = \"\\u9F9F\";\n t[\"\\u2F00\"] = \"\\u4E00\";\n t[\"\\u2F01\"] = \"\\u4E28\";\n t[\"\\u2F02\"] = \"\\u4E36\";\n t[\"\\u2F03\"] = \"\\u4E3F\";\n t[\"\\u2F04\"] = \"\\u4E59\";\n t[\"\\u2F05\"] = \"\\u4E85\";\n t[\"\\u2F06\"] = \"\\u4E8C\";\n t[\"\\u2F07\"] = \"\\u4EA0\";\n t[\"\\u2F08\"] = \"\\u4EBA\";\n t[\"\\u2F09\"] = \"\\u513F\";\n t[\"\\u2F0A\"] = \"\\u5165\";\n t[\"\\u2F0B\"] = \"\\u516B\";\n t[\"\\u2F0C\"] = \"\\u5182\";\n t[\"\\u2F0D\"] = \"\\u5196\";\n t[\"\\u2F0E\"] = \"\\u51AB\";\n t[\"\\u2F0F\"] = \"\\u51E0\";\n t[\"\\u2F10\"] = \"\\u51F5\";\n t[\"\\u2F11\"] = \"\\u5200\";\n t[\"\\u2F12\"] = \"\\u529B\";\n t[\"\\u2F13\"] = \"\\u52F9\";\n t[\"\\u2F14\"] = \"\\u5315\";\n t[\"\\u2F15\"] = \"\\u531A\";\n t[\"\\u2F16\"] = \"\\u5338\";\n t[\"\\u2F17\"] = \"\\u5341\";\n t[\"\\u2F18\"] = \"\\u535C\";\n t[\"\\u2F19\"] = \"\\u5369\";\n t[\"\\u2F1A\"] = \"\\u5382\";\n t[\"\\u2F1B\"] = \"\\u53B6\";\n t[\"\\u2F1C\"] = \"\\u53C8\";\n t[\"\\u2F1D\"] = \"\\u53E3\";\n t[\"\\u2F1E\"] = \"\\u56D7\";\n t[\"\\u2F1F\"] = \"\\u571F\";\n t[\"\\u2F20\"] = \"\\u58EB\";\n t[\"\\u2F21\"] = \"\\u5902\";\n t[\"\\u2F22\"] = \"\\u590A\";\n t[\"\\u2F23\"] = \"\\u5915\";\n t[\"\\u2F24\"] = \"\\u5927\";\n t[\"\\u2F25\"] = \"\\u5973\";\n t[\"\\u2F26\"] = \"\\u5B50\";\n t[\"\\u2F27\"] = \"\\u5B80\";\n t[\"\\u2F28\"] = \"\\u5BF8\";\n t[\"\\u2F29\"] = \"\\u5C0F\";\n t[\"\\u2F2A\"] = \"\\u5C22\";\n t[\"\\u2F2B\"] = \"\\u5C38\";\n t[\"\\u2F2C\"] = \"\\u5C6E\";\n t[\"\\u2F2D\"] = \"\\u5C71\";\n t[\"\\u2F2E\"] = \"\\u5DDB\";\n t[\"\\u2F2F\"] = \"\\u5DE5\";\n t[\"\\u2F30\"] = \"\\u5DF1\";\n t[\"\\u2F31\"] = \"\\u5DFE\";\n t[\"\\u2F32\"] = \"\\u5E72\";\n t[\"\\u2F33\"] = \"\\u5E7A\";\n t[\"\\u2F34\"] = \"\\u5E7F\";\n t[\"\\u2F35\"] = \"\\u5EF4\";\n t[\"\\u2F36\"] = \"\\u5EFE\";\n t[\"\\u2F37\"] = \"\\u5F0B\";\n t[\"\\u2F38\"] = \"\\u5F13\";\n t[\"\\u2F39\"] = \"\\u5F50\";\n t[\"\\u2F3A\"] = \"\\u5F61\";\n t[\"\\u2F3B\"] = \"\\u5F73\";\n t[\"\\u2F3C\"] = \"\\u5FC3\";\n t[\"\\u2F3D\"] = \"\\u6208\";\n t[\"\\u2F3E\"] = \"\\u6236\";\n t[\"\\u2F3F\"] = \"\\u624B\";\n t[\"\\u2F40\"] = \"\\u652F\";\n t[\"\\u2F41\"] = \"\\u6534\";\n t[\"\\u2F42\"] = \"\\u6587\";\n t[\"\\u2F43\"] = \"\\u6597\";\n t[\"\\u2F44\"] = \"\\u65A4\";\n t[\"\\u2F45\"] = \"\\u65B9\";\n t[\"\\u2F46\"] = \"\\u65E0\";\n t[\"\\u2F47\"] = \"\\u65E5\";\n t[\"\\u2F48\"] = \"\\u66F0\";\n t[\"\\u2F49\"] = \"\\u6708\";\n t[\"\\u2F4A\"] = \"\\u6728\";\n t[\"\\u2F4B\"] = \"\\u6B20\";\n t[\"\\u2F4C\"] = \"\\u6B62\";\n t[\"\\u2F4D\"] = \"\\u6B79\";\n t[\"\\u2F4E\"] = \"\\u6BB3\";\n t[\"\\u2F4F\"] = \"\\u6BCB\";\n t[\"\\u2F50\"] = \"\\u6BD4\";\n t[\"\\u2F51\"] = \"\\u6BDB\";\n t[\"\\u2F52\"] = \"\\u6C0F\";\n t[\"\\u2F53\"] = \"\\u6C14\";\n t[\"\\u2F54\"] = \"\\u6C34\";\n t[\"\\u2F55\"] = \"\\u706B\";\n t[\"\\u2F56\"] = \"\\u722A\";\n t[\"\\u2F57\"] = \"\\u7236\";\n t[\"\\u2F58\"] = \"\\u723B\";\n t[\"\\u2F59\"] = \"\\u723F\";\n t[\"\\u2F5A\"] = \"\\u7247\";\n t[\"\\u2F5B\"] = \"\\u7259\";\n t[\"\\u2F5C\"] = \"\\u725B\";\n t[\"\\u2F5D\"] = \"\\u72AC\";\n t[\"\\u2F5E\"] = \"\\u7384\";\n t[\"\\u2F5F\"] = \"\\u7389\";\n t[\"\\u2F60\"] = \"\\u74DC\";\n t[\"\\u2F61\"] = \"\\u74E6\";\n t[\"\\u2F62\"] = \"\\u7518\";\n t[\"\\u2F63\"] = \"\\u751F\";\n t[\"\\u2F64\"] = \"\\u7528\";\n t[\"\\u2F65\"] = \"\\u7530\";\n t[\"\\u2F66\"] = \"\\u758B\";\n t[\"\\u2F67\"] = \"\\u7592\";\n t[\"\\u2F68\"] = \"\\u7676\";\n t[\"\\u2F69\"] = \"\\u767D\";\n t[\"\\u2F6A\"] = \"\\u76AE\";\n t[\"\\u2F6B\"] = \"\\u76BF\";\n t[\"\\u2F6C\"] = \"\\u76EE\";\n t[\"\\u2F6D\"] = \"\\u77DB\";\n t[\"\\u2F6E\"] = \"\\u77E2\";\n t[\"\\u2F6F\"] = \"\\u77F3\";\n t[\"\\u2F70\"] = \"\\u793A\";\n t[\"\\u2F71\"] = \"\\u79B8\";\n t[\"\\u2F72\"] = \"\\u79BE\";\n t[\"\\u2F73\"] = \"\\u7A74\";\n t[\"\\u2F74\"] = \"\\u7ACB\";\n t[\"\\u2F75\"] = \"\\u7AF9\";\n t[\"\\u2F76\"] = \"\\u7C73\";\n t[\"\\u2F77\"] = \"\\u7CF8\";\n t[\"\\u2F78\"] = \"\\u7F36\";\n t[\"\\u2F79\"] = \"\\u7F51\";\n t[\"\\u2F7A\"] = \"\\u7F8A\";\n t[\"\\u2F7B\"] = \"\\u7FBD\";\n t[\"\\u2F7C\"] = \"\\u8001\";\n t[\"\\u2F7D\"] = \"\\u800C\";\n t[\"\\u2F7E\"] = \"\\u8012\";\n t[\"\\u2F7F\"] = \"\\u8033\";\n t[\"\\u2F80\"] = \"\\u807F\";\n t[\"\\u2F81\"] = \"\\u8089\";\n t[\"\\u2F82\"] = \"\\u81E3\";\n t[\"\\u2F83\"] = \"\\u81EA\";\n t[\"\\u2F84\"] = \"\\u81F3\";\n t[\"\\u2F85\"] = \"\\u81FC\";\n t[\"\\u2F86\"] = \"\\u820C\";\n t[\"\\u2F87\"] = \"\\u821B\";\n t[\"\\u2F88\"] = \"\\u821F\";\n t[\"\\u2F89\"] = \"\\u826E\";\n t[\"\\u2F8A\"] = \"\\u8272\";\n t[\"\\u2F8B\"] = \"\\u8278\";\n t[\"\\u2F8C\"] = \"\\u864D\";\n t[\"\\u2F8D\"] = \"\\u866B\";\n t[\"\\u2F8E\"] = \"\\u8840\";\n t[\"\\u2F8F\"] = \"\\u884C\";\n t[\"\\u2F90\"] = \"\\u8863\";\n t[\"\\u2F91\"] = \"\\u897E\";\n t[\"\\u2F92\"] = \"\\u898B\";\n t[\"\\u2F93\"] = \"\\u89D2\";\n t[\"\\u2F94\"] = \"\\u8A00\";\n t[\"\\u2F95\"] = \"\\u8C37\";\n t[\"\\u2F96\"] = \"\\u8C46\";\n t[\"\\u2F97\"] = \"\\u8C55\";\n t[\"\\u2F98\"] = \"\\u8C78\";\n t[\"\\u2F99\"] = \"\\u8C9D\";\n t[\"\\u2F9A\"] = \"\\u8D64\";\n t[\"\\u2F9B\"] = \"\\u8D70\";\n t[\"\\u2F9C\"] = \"\\u8DB3\";\n t[\"\\u2F9D\"] = \"\\u8EAB\";\n t[\"\\u2F9E\"] = \"\\u8ECA\";\n t[\"\\u2F9F\"] = \"\\u8F9B\";\n t[\"\\u2FA0\"] = \"\\u8FB0\";\n t[\"\\u2FA1\"] = \"\\u8FB5\";\n t[\"\\u2FA2\"] = \"\\u9091\";\n t[\"\\u2FA3\"] = \"\\u9149\";\n t[\"\\u2FA4\"] = \"\\u91C6\";\n t[\"\\u2FA5\"] = \"\\u91CC\";\n t[\"\\u2FA6\"] = \"\\u91D1\";\n t[\"\\u2FA7\"] = \"\\u9577\";\n t[\"\\u2FA8\"] = \"\\u9580\";\n t[\"\\u2FA9\"] = \"\\u961C\";\n t[\"\\u2FAA\"] = \"\\u96B6\";\n t[\"\\u2FAB\"] = \"\\u96B9\";\n t[\"\\u2FAC\"] = \"\\u96E8\";\n t[\"\\u2FAD\"] = \"\\u9751\";\n t[\"\\u2FAE\"] = \"\\u975E\";\n t[\"\\u2FAF\"] = \"\\u9762\";\n t[\"\\u2FB0\"] = \"\\u9769\";\n t[\"\\u2FB1\"] = \"\\u97CB\";\n t[\"\\u2FB2\"] = \"\\u97ED\";\n t[\"\\u2FB3\"] = \"\\u97F3\";\n t[\"\\u2FB4\"] = \"\\u9801\";\n t[\"\\u2FB5\"] = \"\\u98A8\";\n t[\"\\u2FB6\"] = \"\\u98DB\";\n t[\"\\u2FB7\"] = \"\\u98DF\";\n t[\"\\u2FB8\"] = \"\\u9996\";\n t[\"\\u2FB9\"] = \"\\u9999\";\n t[\"\\u2FBA\"] = \"\\u99AC\";\n t[\"\\u2FBB\"] = \"\\u9AA8\";\n t[\"\\u2FBC\"] = \"\\u9AD8\";\n t[\"\\u2FBD\"] = \"\\u9ADF\";\n t[\"\\u2FBE\"] = \"\\u9B25\";\n t[\"\\u2FBF\"] = \"\\u9B2F\";\n t[\"\\u2FC0\"] = \"\\u9B32\";\n t[\"\\u2FC1\"] = \"\\u9B3C\";\n t[\"\\u2FC2\"] = \"\\u9B5A\";\n t[\"\\u2FC3\"] = \"\\u9CE5\";\n t[\"\\u2FC4\"] = \"\\u9E75\";\n t[\"\\u2FC5\"] = \"\\u9E7F\";\n t[\"\\u2FC6\"] = \"\\u9EA5\";\n t[\"\\u2FC7\"] = \"\\u9EBB\";\n t[\"\\u2FC8\"] = \"\\u9EC3\";\n t[\"\\u2FC9\"] = \"\\u9ECD\";\n t[\"\\u2FCA\"] = \"\\u9ED1\";\n t[\"\\u2FCB\"] = \"\\u9EF9\";\n t[\"\\u2FCC\"] = \"\\u9EFD\";\n t[\"\\u2FCD\"] = \"\\u9F0E\";\n t[\"\\u2FCE\"] = \"\\u9F13\";\n t[\"\\u2FCF\"] = \"\\u9F20\";\n t[\"\\u2FD0\"] = \"\\u9F3B\";\n t[\"\\u2FD1\"] = \"\\u9F4A\";\n t[\"\\u2FD2\"] = \"\\u9F52\";\n t[\"\\u2FD3\"] = \"\\u9F8D\";\n t[\"\\u2FD4\"] = \"\\u9F9C\";\n t[\"\\u2FD5\"] = \"\\u9FA0\";\n t[\"\\u3036\"] = \"\\u3012\";\n t[\"\\u3038\"] = \"\\u5341\";\n t[\"\\u3039\"] = \"\\u5344\";\n t[\"\\u303A\"] = \"\\u5345\";\n t[\"\\u309B\"] = \" \\u3099\";\n t[\"\\u309C\"] = \" \\u309A\";\n t[\"\\u3131\"] = \"\\u1100\";\n t[\"\\u3132\"] = \"\\u1101\";\n t[\"\\u3133\"] = \"\\u11AA\";\n t[\"\\u3134\"] = \"\\u1102\";\n t[\"\\u3135\"] = \"\\u11AC\";\n t[\"\\u3136\"] = \"\\u11AD\";\n t[\"\\u3137\"] = \"\\u1103\";\n t[\"\\u3138\"] = \"\\u1104\";\n t[\"\\u3139\"] = \"\\u1105\";\n t[\"\\u313A\"] = \"\\u11B0\";\n t[\"\\u313B\"] = \"\\u11B1\";\n t[\"\\u313C\"] = \"\\u11B2\";\n t[\"\\u313D\"] = \"\\u11B3\";\n t[\"\\u313E\"] = \"\\u11B4\";\n t[\"\\u313F\"] = \"\\u11B5\";\n t[\"\\u3140\"] = \"\\u111A\";\n t[\"\\u3141\"] = \"\\u1106\";\n t[\"\\u3142\"] = \"\\u1107\";\n t[\"\\u3143\"] = \"\\u1108\";\n t[\"\\u3144\"] = \"\\u1121\";\n t[\"\\u3145\"] = \"\\u1109\";\n t[\"\\u3146\"] = \"\\u110A\";\n t[\"\\u3147\"] = \"\\u110B\";\n t[\"\\u3148\"] = \"\\u110C\";\n t[\"\\u3149\"] = \"\\u110D\";\n t[\"\\u314A\"] = \"\\u110E\";\n t[\"\\u314B\"] = \"\\u110F\";\n t[\"\\u314C\"] = \"\\u1110\";\n t[\"\\u314D\"] = \"\\u1111\";\n t[\"\\u314E\"] = \"\\u1112\";\n t[\"\\u314F\"] = \"\\u1161\";\n t[\"\\u3150\"] = \"\\u1162\";\n t[\"\\u3151\"] = \"\\u1163\";\n t[\"\\u3152\"] = \"\\u1164\";\n t[\"\\u3153\"] = \"\\u1165\";\n t[\"\\u3154\"] = \"\\u1166\";\n t[\"\\u3155\"] = \"\\u1167\";\n t[\"\\u3156\"] = \"\\u1168\";\n t[\"\\u3157\"] = \"\\u1169\";\n t[\"\\u3158\"] = \"\\u116A\";\n t[\"\\u3159\"] = \"\\u116B\";\n t[\"\\u315A\"] = \"\\u116C\";\n t[\"\\u315B\"] = \"\\u116D\";\n t[\"\\u315C\"] = \"\\u116E\";\n t[\"\\u315D\"] = \"\\u116F\";\n t[\"\\u315E\"] = \"\\u1170\";\n t[\"\\u315F\"] = \"\\u1171\";\n t[\"\\u3160\"] = \"\\u1172\";\n t[\"\\u3161\"] = \"\\u1173\";\n t[\"\\u3162\"] = \"\\u1174\";\n t[\"\\u3163\"] = \"\\u1175\";\n t[\"\\u3164\"] = \"\\u1160\";\n t[\"\\u3165\"] = \"\\u1114\";\n t[\"\\u3166\"] = \"\\u1115\";\n t[\"\\u3167\"] = \"\\u11C7\";\n t[\"\\u3168\"] = \"\\u11C8\";\n t[\"\\u3169\"] = \"\\u11CC\";\n t[\"\\u316A\"] = \"\\u11CE\";\n t[\"\\u316B\"] = \"\\u11D3\";\n t[\"\\u316C\"] = \"\\u11D7\";\n t[\"\\u316D\"] = \"\\u11D9\";\n t[\"\\u316E\"] = \"\\u111C\";\n t[\"\\u316F\"] = \"\\u11DD\";\n t[\"\\u3170\"] = \"\\u11DF\";\n t[\"\\u3171\"] = \"\\u111D\";\n t[\"\\u3172\"] = \"\\u111E\";\n t[\"\\u3173\"] = \"\\u1120\";\n t[\"\\u3174\"] = \"\\u1122\";\n t[\"\\u3175\"] = \"\\u1123\";\n t[\"\\u3176\"] = \"\\u1127\";\n t[\"\\u3177\"] = \"\\u1129\";\n t[\"\\u3178\"] = \"\\u112B\";\n t[\"\\u3179\"] = \"\\u112C\";\n t[\"\\u317A\"] = \"\\u112D\";\n t[\"\\u317B\"] = \"\\u112E\";\n t[\"\\u317C\"] = \"\\u112F\";\n t[\"\\u317D\"] = \"\\u1132\";\n t[\"\\u317E\"] = \"\\u1136\";\n t[\"\\u317F\"] = \"\\u1140\";\n t[\"\\u3180\"] = \"\\u1147\";\n t[\"\\u3181\"] = \"\\u114C\";\n t[\"\\u3182\"] = \"\\u11F1\";\n t[\"\\u3183\"] = \"\\u11F2\";\n t[\"\\u3184\"] = \"\\u1157\";\n t[\"\\u3185\"] = \"\\u1158\";\n t[\"\\u3186\"] = \"\\u1159\";\n t[\"\\u3187\"] = \"\\u1184\";\n t[\"\\u3188\"] = \"\\u1185\";\n t[\"\\u3189\"] = \"\\u1188\";\n t[\"\\u318A\"] = \"\\u1191\";\n t[\"\\u318B\"] = \"\\u1192\";\n t[\"\\u318C\"] = \"\\u1194\";\n t[\"\\u318D\"] = \"\\u119E\";\n t[\"\\u318E\"] = \"\\u11A1\";\n t[\"\\u3200\"] = \"(\\u1100)\";\n t[\"\\u3201\"] = \"(\\u1102)\";\n t[\"\\u3202\"] = \"(\\u1103)\";\n t[\"\\u3203\"] = \"(\\u1105)\";\n t[\"\\u3204\"] = \"(\\u1106)\";\n t[\"\\u3205\"] = \"(\\u1107)\";\n t[\"\\u3206\"] = \"(\\u1109)\";\n t[\"\\u3207\"] = \"(\\u110B)\";\n t[\"\\u3208\"] = \"(\\u110C)\";\n t[\"\\u3209\"] = \"(\\u110E)\";\n t[\"\\u320A\"] = \"(\\u110F)\";\n t[\"\\u320B\"] = \"(\\u1110)\";\n t[\"\\u320C\"] = \"(\\u1111)\";\n t[\"\\u320D\"] = \"(\\u1112)\";\n t[\"\\u320E\"] = \"(\\u1100\\u1161)\";\n t[\"\\u320F\"] = \"(\\u1102\\u1161)\";\n t[\"\\u3210\"] = \"(\\u1103\\u1161)\";\n t[\"\\u3211\"] = \"(\\u1105\\u1161)\";\n t[\"\\u3212\"] = \"(\\u1106\\u1161)\";\n t[\"\\u3213\"] = \"(\\u1107\\u1161)\";\n t[\"\\u3214\"] = \"(\\u1109\\u1161)\";\n t[\"\\u3215\"] = \"(\\u110B\\u1161)\";\n t[\"\\u3216\"] = \"(\\u110C\\u1161)\";\n t[\"\\u3217\"] = \"(\\u110E\\u1161)\";\n t[\"\\u3218\"] = \"(\\u110F\\u1161)\";\n t[\"\\u3219\"] = \"(\\u1110\\u1161)\";\n t[\"\\u321A\"] = \"(\\u1111\\u1161)\";\n t[\"\\u321B\"] = \"(\\u1112\\u1161)\";\n t[\"\\u321C\"] = \"(\\u110C\\u116E)\";\n t[\"\\u321D\"] = \"(\\u110B\\u1169\\u110C\\u1165\\u11AB)\";\n t[\"\\u321E\"] = \"(\\u110B\\u1169\\u1112\\u116E)\";\n t[\"\\u3220\"] = \"(\\u4E00)\";\n t[\"\\u3221\"] = \"(\\u4E8C)\";\n t[\"\\u3222\"] = \"(\\u4E09)\";\n t[\"\\u3223\"] = \"(\\u56DB)\";\n t[\"\\u3224\"] = \"(\\u4E94)\";\n t[\"\\u3225\"] = \"(\\u516D)\";\n t[\"\\u3226\"] = \"(\\u4E03)\";\n t[\"\\u3227\"] = \"(\\u516B)\";\n t[\"\\u3228\"] = \"(\\u4E5D)\";\n t[\"\\u3229\"] = \"(\\u5341)\";\n t[\"\\u322A\"] = \"(\\u6708)\";\n t[\"\\u322B\"] = \"(\\u706B)\";\n t[\"\\u322C\"] = \"(\\u6C34)\";\n t[\"\\u322D\"] = \"(\\u6728)\";\n t[\"\\u322E\"] = \"(\\u91D1)\";\n t[\"\\u322F\"] = \"(\\u571F)\";\n t[\"\\u3230\"] = \"(\\u65E5)\";\n t[\"\\u3231\"] = \"(\\u682A)\";\n t[\"\\u3232\"] = \"(\\u6709)\";\n t[\"\\u3233\"] = \"(\\u793E)\";\n t[\"\\u3234\"] = \"(\\u540D)\";\n t[\"\\u3235\"] = \"(\\u7279)\";\n t[\"\\u3236\"] = \"(\\u8CA1)\";\n t[\"\\u3237\"] = \"(\\u795D)\";\n t[\"\\u3238\"] = \"(\\u52B4)\";\n t[\"\\u3239\"] = \"(\\u4EE3)\";\n t[\"\\u323A\"] = \"(\\u547C)\";\n t[\"\\u323B\"] = \"(\\u5B66)\";\n t[\"\\u323C\"] = \"(\\u76E3)\";\n t[\"\\u323D\"] = \"(\\u4F01)\";\n t[\"\\u323E\"] = \"(\\u8CC7)\";\n t[\"\\u323F\"] = \"(\\u5354)\";\n t[\"\\u3240\"] = \"(\\u796D)\";\n t[\"\\u3241\"] = \"(\\u4F11)\";\n t[\"\\u3242\"] = \"(\\u81EA)\";\n t[\"\\u3243\"] = \"(\\u81F3)\";\n t[\"\\u32C0\"] = \"1\\u6708\";\n t[\"\\u32C1\"] = \"2\\u6708\";\n t[\"\\u32C2\"] = \"3\\u6708\";\n t[\"\\u32C3\"] = \"4\\u6708\";\n t[\"\\u32C4\"] = \"5\\u6708\";\n t[\"\\u32C5\"] = \"6\\u6708\";\n t[\"\\u32C6\"] = \"7\\u6708\";\n t[\"\\u32C7\"] = \"8\\u6708\";\n t[\"\\u32C8\"] = \"9\\u6708\";\n t[\"\\u32C9\"] = \"10\\u6708\";\n t[\"\\u32CA\"] = \"11\\u6708\";\n t[\"\\u32CB\"] = \"12\\u6708\";\n t[\"\\u3358\"] = \"0\\u70B9\";\n t[\"\\u3359\"] = \"1\\u70B9\";\n t[\"\\u335A\"] = \"2\\u70B9\";\n t[\"\\u335B\"] = \"3\\u70B9\";\n t[\"\\u335C\"] = \"4\\u70B9\";\n t[\"\\u335D\"] = \"5\\u70B9\";\n t[\"\\u335E\"] = \"6\\u70B9\";\n t[\"\\u335F\"] = \"7\\u70B9\";\n t[\"\\u3360\"] = \"8\\u70B9\";\n t[\"\\u3361\"] = \"9\\u70B9\";\n t[\"\\u3362\"] = \"10\\u70B9\";\n t[\"\\u3363\"] = \"11\\u70B9\";\n t[\"\\u3364\"] = \"12\\u70B9\";\n t[\"\\u3365\"] = \"13\\u70B9\";\n t[\"\\u3366\"] = \"14\\u70B9\";\n t[\"\\u3367\"] = \"15\\u70B9\";\n t[\"\\u3368\"] = \"16\\u70B9\";\n t[\"\\u3369\"] = \"17\\u70B9\";\n t[\"\\u336A\"] = \"18\\u70B9\";\n t[\"\\u336B\"] = \"19\\u70B9\";\n t[\"\\u336C\"] = \"20\\u70B9\";\n t[\"\\u336D\"] = \"21\\u70B9\";\n t[\"\\u336E\"] = \"22\\u70B9\";\n t[\"\\u336F\"] = \"23\\u70B9\";\n t[\"\\u3370\"] = \"24\\u70B9\";\n t[\"\\u33E0\"] = \"1\\u65E5\";\n t[\"\\u33E1\"] = \"2\\u65E5\";\n t[\"\\u33E2\"] = \"3\\u65E5\";\n t[\"\\u33E3\"] = \"4\\u65E5\";\n t[\"\\u33E4\"] = \"5\\u65E5\";\n t[\"\\u33E5\"] = \"6\\u65E5\";\n t[\"\\u33E6\"] = \"7\\u65E5\";\n t[\"\\u33E7\"] = \"8\\u65E5\";\n t[\"\\u33E8\"] = \"9\\u65E5\";\n t[\"\\u33E9\"] = \"10\\u65E5\";\n t[\"\\u33EA\"] = \"11\\u65E5\";\n t[\"\\u33EB\"] = \"12\\u65E5\";\n t[\"\\u33EC\"] = \"13\\u65E5\";\n t[\"\\u33ED\"] = \"14\\u65E5\";\n t[\"\\u33EE\"] = \"15\\u65E5\";\n t[\"\\u33EF\"] = \"16\\u65E5\";\n t[\"\\u33F0\"] = \"17\\u65E5\";\n t[\"\\u33F1\"] = \"18\\u65E5\";\n t[\"\\u33F2\"] = \"19\\u65E5\";\n t[\"\\u33F3\"] = \"20\\u65E5\";\n t[\"\\u33F4\"] = \"21\\u65E5\";\n t[\"\\u33F5\"] = \"22\\u65E5\";\n t[\"\\u33F6\"] = \"23\\u65E5\";\n t[\"\\u33F7\"] = \"24\\u65E5\";\n t[\"\\u33F8\"] = \"25\\u65E5\";\n t[\"\\u33F9\"] = \"26\\u65E5\";\n t[\"\\u33FA\"] = \"27\\u65E5\";\n t[\"\\u33FB\"] = \"28\\u65E5\";\n t[\"\\u33FC\"] = \"29\\u65E5\";\n t[\"\\u33FD\"] = \"30\\u65E5\";\n t[\"\\u33FE\"] = \"31\\u65E5\";\n t[\"\\uFB00\"] = \"ff\";\n t[\"\\uFB01\"] = \"fi\";\n t[\"\\uFB02\"] = \"fl\";\n t[\"\\uFB03\"] = \"ffi\";\n t[\"\\uFB04\"] = \"ffl\";\n t[\"\\uFB05\"] = \"\\u017Ft\";\n t[\"\\uFB06\"] = \"st\";\n t[\"\\uFB13\"] = \"\\u0574\\u0576\";\n t[\"\\uFB14\"] = \"\\u0574\\u0565\";\n t[\"\\uFB15\"] = \"\\u0574\\u056B\";\n t[\"\\uFB16\"] = \"\\u057E\\u0576\";\n t[\"\\uFB17\"] = \"\\u0574\\u056D\";\n t[\"\\uFB4F\"] = \"\\u05D0\\u05DC\";\n t[\"\\uFB50\"] = \"\\u0671\";\n t[\"\\uFB51\"] = \"\\u0671\";\n t[\"\\uFB52\"] = \"\\u067B\";\n t[\"\\uFB53\"] = \"\\u067B\";\n t[\"\\uFB54\"] = \"\\u067B\";\n t[\"\\uFB55\"] = \"\\u067B\";\n t[\"\\uFB56\"] = \"\\u067E\";\n t[\"\\uFB57\"] = \"\\u067E\";\n t[\"\\uFB58\"] = \"\\u067E\";\n t[\"\\uFB59\"] = \"\\u067E\";\n t[\"\\uFB5A\"] = \"\\u0680\";\n t[\"\\uFB5B\"] = \"\\u0680\";\n t[\"\\uFB5C\"] = \"\\u0680\";\n t[\"\\uFB5D\"] = \"\\u0680\";\n t[\"\\uFB5E\"] = \"\\u067A\";\n t[\"\\uFB5F\"] = \"\\u067A\";\n t[\"\\uFB60\"] = \"\\u067A\";\n t[\"\\uFB61\"] = \"\\u067A\";\n t[\"\\uFB62\"] = \"\\u067F\";\n t[\"\\uFB63\"] = \"\\u067F\";\n t[\"\\uFB64\"] = \"\\u067F\";\n t[\"\\uFB65\"] = \"\\u067F\";\n t[\"\\uFB66\"] = \"\\u0679\";\n t[\"\\uFB67\"] = \"\\u0679\";\n t[\"\\uFB68\"] = \"\\u0679\";\n t[\"\\uFB69\"] = \"\\u0679\";\n t[\"\\uFB6A\"] = \"\\u06A4\";\n t[\"\\uFB6B\"] = \"\\u06A4\";\n t[\"\\uFB6C\"] = \"\\u06A4\";\n t[\"\\uFB6D\"] = \"\\u06A4\";\n t[\"\\uFB6E\"] = \"\\u06A6\";\n t[\"\\uFB6F\"] = \"\\u06A6\";\n t[\"\\uFB70\"] = \"\\u06A6\";\n t[\"\\uFB71\"] = \"\\u06A6\";\n t[\"\\uFB72\"] = \"\\u0684\";\n t[\"\\uFB73\"] = \"\\u0684\";\n t[\"\\uFB74\"] = \"\\u0684\";\n t[\"\\uFB75\"] = \"\\u0684\";\n t[\"\\uFB76\"] = \"\\u0683\";\n t[\"\\uFB77\"] = \"\\u0683\";\n t[\"\\uFB78\"] = \"\\u0683\";\n t[\"\\uFB79\"] = \"\\u0683\";\n t[\"\\uFB7A\"] = \"\\u0686\";\n t[\"\\uFB7B\"] = \"\\u0686\";\n t[\"\\uFB7C\"] = \"\\u0686\";\n t[\"\\uFB7D\"] = \"\\u0686\";\n t[\"\\uFB7E\"] = \"\\u0687\";\n t[\"\\uFB7F\"] = \"\\u0687\";\n t[\"\\uFB80\"] = \"\\u0687\";\n t[\"\\uFB81\"] = \"\\u0687\";\n t[\"\\uFB82\"] = \"\\u068D\";\n t[\"\\uFB83\"] = \"\\u068D\";\n t[\"\\uFB84\"] = \"\\u068C\";\n t[\"\\uFB85\"] = \"\\u068C\";\n t[\"\\uFB86\"] = \"\\u068E\";\n t[\"\\uFB87\"] = \"\\u068E\";\n t[\"\\uFB88\"] = \"\\u0688\";\n t[\"\\uFB89\"] = \"\\u0688\";\n t[\"\\uFB8A\"] = \"\\u0698\";\n t[\"\\uFB8B\"] = \"\\u0698\";\n t[\"\\uFB8C\"] = \"\\u0691\";\n t[\"\\uFB8D\"] = \"\\u0691\";\n t[\"\\uFB8E\"] = \"\\u06A9\";\n t[\"\\uFB8F\"] = \"\\u06A9\";\n t[\"\\uFB90\"] = \"\\u06A9\";\n t[\"\\uFB91\"] = \"\\u06A9\";\n t[\"\\uFB92\"] = \"\\u06AF\";\n t[\"\\uFB93\"] = \"\\u06AF\";\n t[\"\\uFB94\"] = \"\\u06AF\";\n t[\"\\uFB95\"] = \"\\u06AF\";\n t[\"\\uFB96\"] = \"\\u06B3\";\n t[\"\\uFB97\"] = \"\\u06B3\";\n t[\"\\uFB98\"] = \"\\u06B3\";\n t[\"\\uFB99\"] = \"\\u06B3\";\n t[\"\\uFB9A\"] = \"\\u06B1\";\n t[\"\\uFB9B\"] = \"\\u06B1\";\n t[\"\\uFB9C\"] = \"\\u06B1\";\n t[\"\\uFB9D\"] = \"\\u06B1\";\n t[\"\\uFB9E\"] = \"\\u06BA\";\n t[\"\\uFB9F\"] = \"\\u06BA\";\n t[\"\\uFBA0\"] = \"\\u06BB\";\n t[\"\\uFBA1\"] = \"\\u06BB\";\n t[\"\\uFBA2\"] = \"\\u06BB\";\n t[\"\\uFBA3\"] = \"\\u06BB\";\n t[\"\\uFBA4\"] = \"\\u06C0\";\n t[\"\\uFBA5\"] = \"\\u06C0\";\n t[\"\\uFBA6\"] = \"\\u06C1\";\n t[\"\\uFBA7\"] = \"\\u06C1\";\n t[\"\\uFBA8\"] = \"\\u06C1\";\n t[\"\\uFBA9\"] = \"\\u06C1\";\n t[\"\\uFBAA\"] = \"\\u06BE\";\n t[\"\\uFBAB\"] = \"\\u06BE\";\n t[\"\\uFBAC\"] = \"\\u06BE\";\n t[\"\\uFBAD\"] = \"\\u06BE\";\n t[\"\\uFBAE\"] = \"\\u06D2\";\n t[\"\\uFBAF\"] = \"\\u06D2\";\n t[\"\\uFBB0\"] = \"\\u06D3\";\n t[\"\\uFBB1\"] = \"\\u06D3\";\n t[\"\\uFBD3\"] = \"\\u06AD\";\n t[\"\\uFBD4\"] = \"\\u06AD\";\n t[\"\\uFBD5\"] = \"\\u06AD\";\n t[\"\\uFBD6\"] = \"\\u06AD\";\n t[\"\\uFBD7\"] = \"\\u06C7\";\n t[\"\\uFBD8\"] = \"\\u06C7\";\n t[\"\\uFBD9\"] = \"\\u06C6\";\n t[\"\\uFBDA\"] = \"\\u06C6\";\n t[\"\\uFBDB\"] = \"\\u06C8\";\n t[\"\\uFBDC\"] = \"\\u06C8\";\n t[\"\\uFBDD\"] = \"\\u0677\";\n t[\"\\uFBDE\"] = \"\\u06CB\";\n t[\"\\uFBDF\"] = \"\\u06CB\";\n t[\"\\uFBE0\"] = \"\\u06C5\";\n t[\"\\uFBE1\"] = \"\\u06C5\";\n t[\"\\uFBE2\"] = \"\\u06C9\";\n t[\"\\uFBE3\"] = \"\\u06C9\";\n t[\"\\uFBE4\"] = \"\\u06D0\";\n t[\"\\uFBE5\"] = \"\\u06D0\";\n t[\"\\uFBE6\"] = \"\\u06D0\";\n t[\"\\uFBE7\"] = \"\\u06D0\";\n t[\"\\uFBE8\"] = \"\\u0649\";\n t[\"\\uFBE9\"] = \"\\u0649\";\n t[\"\\uFBEA\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEB\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEC\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBED\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBEE\"] = \"\\u0626\\u0648\";\n t[\"\\uFBEF\"] = \"\\u0626\\u0648\";\n t[\"\\uFBF0\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF1\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF2\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF3\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF4\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF5\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF6\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF7\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF8\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF9\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFA\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFB\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFC\"] = \"\\u06CC\";\n t[\"\\uFBFD\"] = \"\\u06CC\";\n t[\"\\uFBFE\"] = \"\\u06CC\";\n t[\"\\uFBFF\"] = \"\\u06CC\";\n t[\"\\uFC00\"] = \"\\u0626\\u062C\";\n t[\"\\uFC01\"] = \"\\u0626\\u062D\";\n t[\"\\uFC02\"] = \"\\u0626\\u0645\";\n t[\"\\uFC03\"] = \"\\u0626\\u0649\";\n t[\"\\uFC04\"] = \"\\u0626\\u064A\";\n t[\"\\uFC05\"] = \"\\u0628\\u062C\";\n t[\"\\uFC06\"] = \"\\u0628\\u062D\";\n t[\"\\uFC07\"] = \"\\u0628\\u062E\";\n t[\"\\uFC08\"] = \"\\u0628\\u0645\";\n t[\"\\uFC09\"] = \"\\u0628\\u0649\";\n t[\"\\uFC0A\"] = \"\\u0628\\u064A\";\n t[\"\\uFC0B\"] = \"\\u062A\\u062C\";\n t[\"\\uFC0C\"] = \"\\u062A\\u062D\";\n t[\"\\uFC0D\"] = \"\\u062A\\u062E\";\n t[\"\\uFC0E\"] = \"\\u062A\\u0645\";\n t[\"\\uFC0F\"] = \"\\u062A\\u0649\";\n t[\"\\uFC10\"] = \"\\u062A\\u064A\";\n t[\"\\uFC11\"] = \"\\u062B\\u062C\";\n t[\"\\uFC12\"] = \"\\u062B\\u0645\";\n t[\"\\uFC13\"] = \"\\u062B\\u0649\";\n t[\"\\uFC14\"] = \"\\u062B\\u064A\";\n t[\"\\uFC15\"] = \"\\u062C\\u062D\";\n t[\"\\uFC16\"] = \"\\u062C\\u0645\";\n t[\"\\uFC17\"] = \"\\u062D\\u062C\";\n t[\"\\uFC18\"] = \"\\u062D\\u0645\";\n t[\"\\uFC19\"] = \"\\u062E\\u062C\";\n t[\"\\uFC1A\"] = \"\\u062E\\u062D\";\n t[\"\\uFC1B\"] = \"\\u062E\\u0645\";\n t[\"\\uFC1C\"] = \"\\u0633\\u062C\";\n t[\"\\uFC1D\"] = \"\\u0633\\u062D\";\n t[\"\\uFC1E\"] = \"\\u0633\\u062E\";\n t[\"\\uFC1F\"] = \"\\u0633\\u0645\";\n t[\"\\uFC20\"] = \"\\u0635\\u062D\";\n t[\"\\uFC21\"] = \"\\u0635\\u0645\";\n t[\"\\uFC22\"] = \"\\u0636\\u062C\";\n t[\"\\uFC23\"] = \"\\u0636\\u062D\";\n t[\"\\uFC24\"] = \"\\u0636\\u062E\";\n t[\"\\uFC25\"] = \"\\u0636\\u0645\";\n t[\"\\uFC26\"] = \"\\u0637\\u062D\";\n t[\"\\uFC27\"] = \"\\u0637\\u0645\";\n t[\"\\uFC28\"] = \"\\u0638\\u0645\";\n t[\"\\uFC29\"] = \"\\u0639\\u062C\";\n t[\"\\uFC2A\"] = \"\\u0639\\u0645\";\n t[\"\\uFC2B\"] = \"\\u063A\\u062C\";\n t[\"\\uFC2C\"] = \"\\u063A\\u0645\";\n t[\"\\uFC2D\"] = \"\\u0641\\u062C\";\n t[\"\\uFC2E\"] = \"\\u0641\\u062D\";\n t[\"\\uFC2F\"] = \"\\u0641\\u062E\";\n t[\"\\uFC30\"] = \"\\u0641\\u0645\";\n t[\"\\uFC31\"] = \"\\u0641\\u0649\";\n t[\"\\uFC32\"] = \"\\u0641\\u064A\";\n t[\"\\uFC33\"] = \"\\u0642\\u062D\";\n t[\"\\uFC34\"] = \"\\u0642\\u0645\";\n t[\"\\uFC35\"] = \"\\u0642\\u0649\";\n t[\"\\uFC36\"] = \"\\u0642\\u064A\";\n t[\"\\uFC37\"] = \"\\u0643\\u0627\";\n t[\"\\uFC38\"] = \"\\u0643\\u062C\";\n t[\"\\uFC39\"] = \"\\u0643\\u062D\";\n t[\"\\uFC3A\"] = \"\\u0643\\u062E\";\n t[\"\\uFC3B\"] = \"\\u0643\\u0644\";\n t[\"\\uFC3C\"] = \"\\u0643\\u0645\";\n t[\"\\uFC3D\"] = \"\\u0643\\u0649\";\n t[\"\\uFC3E\"] = \"\\u0643\\u064A\";\n t[\"\\uFC3F\"] = \"\\u0644\\u062C\";\n t[\"\\uFC40\"] = \"\\u0644\\u062D\";\n t[\"\\uFC41\"] = \"\\u0644\\u062E\";\n t[\"\\uFC42\"] = \"\\u0644\\u0645\";\n t[\"\\uFC43\"] = \"\\u0644\\u0649\";\n t[\"\\uFC44\"] = \"\\u0644\\u064A\";\n t[\"\\uFC45\"] = \"\\u0645\\u062C\";\n t[\"\\uFC46\"] = \"\\u0645\\u062D\";\n t[\"\\uFC47\"] = \"\\u0645\\u062E\";\n t[\"\\uFC48\"] = \"\\u0645\\u0645\";\n t[\"\\uFC49\"] = \"\\u0645\\u0649\";\n t[\"\\uFC4A\"] = \"\\u0645\\u064A\";\n t[\"\\uFC4B\"] = \"\\u0646\\u062C\";\n t[\"\\uFC4C\"] = \"\\u0646\\u062D\";\n t[\"\\uFC4D\"] = \"\\u0646\\u062E\";\n t[\"\\uFC4E\"] = \"\\u0646\\u0645\";\n t[\"\\uFC4F\"] = \"\\u0646\\u0649\";\n t[\"\\uFC50\"] = \"\\u0646\\u064A\";\n t[\"\\uFC51\"] = \"\\u0647\\u062C\";\n t[\"\\uFC52\"] = \"\\u0647\\u0645\";\n t[\"\\uFC53\"] = \"\\u0647\\u0649\";\n t[\"\\uFC54\"] = \"\\u0647\\u064A\";\n t[\"\\uFC55\"] = \"\\u064A\\u062C\";\n t[\"\\uFC56\"] = \"\\u064A\\u062D\";\n t[\"\\uFC57\"] = \"\\u064A\\u062E\";\n t[\"\\uFC58\"] = \"\\u064A\\u0645\";\n t[\"\\uFC59\"] = \"\\u064A\\u0649\";\n t[\"\\uFC5A\"] = \"\\u064A\\u064A\";\n t[\"\\uFC5B\"] = \"\\u0630\\u0670\";\n t[\"\\uFC5C\"] = \"\\u0631\\u0670\";\n t[\"\\uFC5D\"] = \"\\u0649\\u0670\";\n t[\"\\uFC5E\"] = \" \\u064C\\u0651\";\n t[\"\\uFC5F\"] = \" \\u064D\\u0651\";\n t[\"\\uFC60\"] = \" \\u064E\\u0651\";\n t[\"\\uFC61\"] = \" \\u064F\\u0651\";\n t[\"\\uFC62\"] = \" \\u0650\\u0651\";\n t[\"\\uFC63\"] = \" \\u0651\\u0670\";\n t[\"\\uFC64\"] = \"\\u0626\\u0631\";\n t[\"\\uFC65\"] = \"\\u0626\\u0632\";\n t[\"\\uFC66\"] = \"\\u0626\\u0645\";\n t[\"\\uFC67\"] = \"\\u0626\\u0646\";\n t[\"\\uFC68\"] = \"\\u0626\\u0649\";\n t[\"\\uFC69\"] = \"\\u0626\\u064A\";\n t[\"\\uFC6A\"] = \"\\u0628\\u0631\";\n t[\"\\uFC6B\"] = \"\\u0628\\u0632\";\n t[\"\\uFC6C\"] = \"\\u0628\\u0645\";\n t[\"\\uFC6D\"] = \"\\u0628\\u0646\";\n t[\"\\uFC6E\"] = \"\\u0628\\u0649\";\n t[\"\\uFC6F\"] = \"\\u0628\\u064A\";\n t[\"\\uFC70\"] = \"\\u062A\\u0631\";\n t[\"\\uFC71\"] = \"\\u062A\\u0632\";\n t[\"\\uFC72\"] = \"\\u062A\\u0645\";\n t[\"\\uFC73\"] = \"\\u062A\\u0646\";\n t[\"\\uFC74\"] = \"\\u062A\\u0649\";\n t[\"\\uFC75\"] = \"\\u062A\\u064A\";\n t[\"\\uFC76\"] = \"\\u062B\\u0631\";\n t[\"\\uFC77\"] = \"\\u062B\\u0632\";\n t[\"\\uFC78\"] = \"\\u062B\\u0645\";\n t[\"\\uFC79\"] = \"\\u062B\\u0646\";\n t[\"\\uFC7A\"] = \"\\u062B\\u0649\";\n t[\"\\uFC7B\"] = \"\\u062B\\u064A\";\n t[\"\\uFC7C\"] = \"\\u0641\\u0649\";\n t[\"\\uFC7D\"] = \"\\u0641\\u064A\";\n t[\"\\uFC7E\"] = \"\\u0642\\u0649\";\n t[\"\\uFC7F\"] = \"\\u0642\\u064A\";\n t[\"\\uFC80\"] = \"\\u0643\\u0627\";\n t[\"\\uFC81\"] = \"\\u0643\\u0644\";\n t[\"\\uFC82\"] = \"\\u0643\\u0645\";\n t[\"\\uFC83\"] = \"\\u0643\\u0649\";\n t[\"\\uFC84\"] = \"\\u0643\\u064A\";\n t[\"\\uFC85\"] = \"\\u0644\\u0645\";\n t[\"\\uFC86\"] = \"\\u0644\\u0649\";\n t[\"\\uFC87\"] = \"\\u0644\\u064A\";\n t[\"\\uFC88\"] = \"\\u0645\\u0627\";\n t[\"\\uFC89\"] = \"\\u0645\\u0645\";\n t[\"\\uFC8A\"] = \"\\u0646\\u0631\";\n t[\"\\uFC8B\"] = \"\\u0646\\u0632\";\n t[\"\\uFC8C\"] = \"\\u0646\\u0645\";\n t[\"\\uFC8D\"] = \"\\u0646\\u0646\";\n t[\"\\uFC8E\"] = \"\\u0646\\u0649\";\n t[\"\\uFC8F\"] = \"\\u0646\\u064A\";\n t[\"\\uFC90\"] = \"\\u0649\\u0670\";\n t[\"\\uFC91\"] = \"\\u064A\\u0631\";\n t[\"\\uFC92\"] = \"\\u064A\\u0632\";\n t[\"\\uFC93\"] = \"\\u064A\\u0645\";\n t[\"\\uFC94\"] = \"\\u064A\\u0646\";\n t[\"\\uFC95\"] = \"\\u064A\\u0649\";\n t[\"\\uFC96\"] = \"\\u064A\\u064A\";\n t[\"\\uFC97\"] = \"\\u0626\\u062C\";\n t[\"\\uFC98\"] = \"\\u0626\\u062D\";\n t[\"\\uFC99\"] = \"\\u0626\\u062E\";\n t[\"\\uFC9A\"] = \"\\u0626\\u0645\";\n t[\"\\uFC9B\"] = \"\\u0626\\u0647\";\n t[\"\\uFC9C\"] = \"\\u0628\\u062C\";\n t[\"\\uFC9D\"] = \"\\u0628\\u062D\";\n t[\"\\uFC9E\"] = \"\\u0628\\u062E\";\n t[\"\\uFC9F\"] = \"\\u0628\\u0645\";\n t[\"\\uFCA0\"] = \"\\u0628\\u0647\";\n t[\"\\uFCA1\"] = \"\\u062A\\u062C\";\n t[\"\\uFCA2\"] = \"\\u062A\\u062D\";\n t[\"\\uFCA3\"] = \"\\u062A\\u062E\";\n t[\"\\uFCA4\"] = \"\\u062A\\u0645\";\n t[\"\\uFCA5\"] = \"\\u062A\\u0647\";\n t[\"\\uFCA6\"] = \"\\u062B\\u0645\";\n t[\"\\uFCA7\"] = \"\\u062C\\u062D\";\n t[\"\\uFCA8\"] = \"\\u062C\\u0645\";\n t[\"\\uFCA9\"] = \"\\u062D\\u062C\";\n t[\"\\uFCAA\"] = \"\\u062D\\u0645\";\n t[\"\\uFCAB\"] = \"\\u062E\\u062C\";\n t[\"\\uFCAC\"] = \"\\u062E\\u0645\";\n t[\"\\uFCAD\"] = \"\\u0633\\u062C\";\n t[\"\\uFCAE\"] = \"\\u0633\\u062D\";\n t[\"\\uFCAF\"] = \"\\u0633\\u062E\";\n t[\"\\uFCB0\"] = \"\\u0633\\u0645\";\n t[\"\\uFCB1\"] = \"\\u0635\\u062D\";\n t[\"\\uFCB2\"] = \"\\u0635\\u062E\";\n t[\"\\uFCB3\"] = \"\\u0635\\u0645\";\n t[\"\\uFCB4\"] = \"\\u0636\\u062C\";\n t[\"\\uFCB5\"] = \"\\u0636\\u062D\";\n t[\"\\uFCB6\"] = \"\\u0636\\u062E\";\n t[\"\\uFCB7\"] = \"\\u0636\\u0645\";\n t[\"\\uFCB8\"] = \"\\u0637\\u062D\";\n t[\"\\uFCB9\"] = \"\\u0638\\u0645\";\n t[\"\\uFCBA\"] = \"\\u0639\\u062C\";\n t[\"\\uFCBB\"] = \"\\u0639\\u0645\";\n t[\"\\uFCBC\"] = \"\\u063A\\u062C\";\n t[\"\\uFCBD\"] = \"\\u063A\\u0645\";\n t[\"\\uFCBE\"] = \"\\u0641\\u062C\";\n t[\"\\uFCBF\"] = \"\\u0641\\u062D\";\n t[\"\\uFCC0\"] = \"\\u0641\\u062E\";\n t[\"\\uFCC1\"] = \"\\u0641\\u0645\";\n t[\"\\uFCC2\"] = \"\\u0642\\u062D\";\n t[\"\\uFCC3\"] = \"\\u0642\\u0645\";\n t[\"\\uFCC4\"] = \"\\u0643\\u062C\";\n t[\"\\uFCC5\"] = \"\\u0643\\u062D\";\n t[\"\\uFCC6\"] = \"\\u0643\\u062E\";\n t[\"\\uFCC7\"] = \"\\u0643\\u0644\";\n t[\"\\uFCC8\"] = \"\\u0643\\u0645\";\n t[\"\\uFCC9\"] = \"\\u0644\\u062C\";\n t[\"\\uFCCA\"] = \"\\u0644\\u062D\";\n t[\"\\uFCCB\"] = \"\\u0644\\u062E\";\n t[\"\\uFCCC\"] = \"\\u0644\\u0645\";\n t[\"\\uFCCD\"] = \"\\u0644\\u0647\";\n t[\"\\uFCCE\"] = \"\\u0645\\u062C\";\n t[\"\\uFCCF\"] = \"\\u0645\\u062D\";\n t[\"\\uFCD0\"] = \"\\u0645\\u062E\";\n t[\"\\uFCD1\"] = \"\\u0645\\u0645\";\n t[\"\\uFCD2\"] = \"\\u0646\\u062C\";\n t[\"\\uFCD3\"] = \"\\u0646\\u062D\";\n t[\"\\uFCD4\"] = \"\\u0646\\u062E\";\n t[\"\\uFCD5\"] = \"\\u0646\\u0645\";\n t[\"\\uFCD6\"] = \"\\u0646\\u0647\";\n t[\"\\uFCD7\"] = \"\\u0647\\u062C\";\n t[\"\\uFCD8\"] = \"\\u0647\\u0645\";\n t[\"\\uFCD9\"] = \"\\u0647\\u0670\";\n t[\"\\uFCDA\"] = \"\\u064A\\u062C\";\n t[\"\\uFCDB\"] = \"\\u064A\\u062D\";\n t[\"\\uFCDC\"] = \"\\u064A\\u062E\";\n t[\"\\uFCDD\"] = \"\\u064A\\u0645\";\n t[\"\\uFCDE\"] = \"\\u064A\\u0647\";\n t[\"\\uFCDF\"] = \"\\u0626\\u0645\";\n t[\"\\uFCE0\"] = \"\\u0626\\u0647\";\n t[\"\\uFCE1\"] = \"\\u0628\\u0645\";\n t[\"\\uFCE2\"] = \"\\u0628\\u0647\";\n t[\"\\uFCE3\"] = \"\\u062A\\u0645\";\n t[\"\\uFCE4\"] = \"\\u062A\\u0647\";\n t[\"\\uFCE5\"] = \"\\u062B\\u0645\";\n t[\"\\uFCE6\"] = \"\\u062B\\u0647\";\n t[\"\\uFCE7\"] = \"\\u0633\\u0645\";\n t[\"\\uFCE8\"] = \"\\u0633\\u0647\";\n t[\"\\uFCE9\"] = \"\\u0634\\u0645\";\n t[\"\\uFCEA\"] = \"\\u0634\\u0647\";\n t[\"\\uFCEB\"] = \"\\u0643\\u0644\";\n t[\"\\uFCEC\"] = \"\\u0643\\u0645\";\n t[\"\\uFCED\"] = \"\\u0644\\u0645\";\n t[\"\\uFCEE\"] = \"\\u0646\\u0645\";\n t[\"\\uFCEF\"] = \"\\u0646\\u0647\";\n t[\"\\uFCF0\"] = \"\\u064A\\u0645\";\n t[\"\\uFCF1\"] = \"\\u064A\\u0647\";\n t[\"\\uFCF2\"] = \"\\u0640\\u064E\\u0651\";\n t[\"\\uFCF3\"] = \"\\u0640\\u064F\\u0651\";\n t[\"\\uFCF4\"] = \"\\u0640\\u0650\\u0651\";\n t[\"\\uFCF5\"] = \"\\u0637\\u0649\";\n t[\"\\uFCF6\"] = \"\\u0637\\u064A\";\n t[\"\\uFCF7\"] = \"\\u0639\\u0649\";\n t[\"\\uFCF8\"] = \"\\u0639\\u064A\";\n t[\"\\uFCF9\"] = \"\\u063A\\u0649\";\n t[\"\\uFCFA\"] = \"\\u063A\\u064A\";\n t[\"\\uFCFB\"] = \"\\u0633\\u0649\";\n t[\"\\uFCFC\"] = \"\\u0633\\u064A\";\n t[\"\\uFCFD\"] = \"\\u0634\\u0649\";\n t[\"\\uFCFE\"] = \"\\u0634\\u064A\";\n t[\"\\uFCFF\"] = \"\\u062D\\u0649\";\n t[\"\\uFD00\"] = \"\\u062D\\u064A\";\n t[\"\\uFD01\"] = \"\\u062C\\u0649\";\n t[\"\\uFD02\"] = \"\\u062C\\u064A\";\n t[\"\\uFD03\"] = \"\\u062E\\u0649\";\n t[\"\\uFD04\"] = \"\\u062E\\u064A\";\n t[\"\\uFD05\"] = \"\\u0635\\u0649\";\n t[\"\\uFD06\"] = \"\\u0635\\u064A\";\n t[\"\\uFD07\"] = \"\\u0636\\u0649\";\n t[\"\\uFD08\"] = \"\\u0636\\u064A\";\n t[\"\\uFD09\"] = \"\\u0634\\u062C\";\n t[\"\\uFD0A\"] = \"\\u0634\\u062D\";\n t[\"\\uFD0B\"] = \"\\u0634\\u062E\";\n t[\"\\uFD0C\"] = \"\\u0634\\u0645\";\n t[\"\\uFD0D\"] = \"\\u0634\\u0631\";\n t[\"\\uFD0E\"] = \"\\u0633\\u0631\";\n t[\"\\uFD0F\"] = \"\\u0635\\u0631\";\n t[\"\\uFD10\"] = \"\\u0636\\u0631\";\n t[\"\\uFD11\"] = \"\\u0637\\u0649\";\n t[\"\\uFD12\"] = \"\\u0637\\u064A\";\n t[\"\\uFD13\"] = \"\\u0639\\u0649\";\n t[\"\\uFD14\"] = \"\\u0639\\u064A\";\n t[\"\\uFD15\"] = \"\\u063A\\u0649\";\n t[\"\\uFD16\"] = \"\\u063A\\u064A\";\n t[\"\\uFD17\"] = \"\\u0633\\u0649\";\n t[\"\\uFD18\"] = \"\\u0633\\u064A\";\n t[\"\\uFD19\"] = \"\\u0634\\u0649\";\n t[\"\\uFD1A\"] = \"\\u0634\\u064A\";\n t[\"\\uFD1B\"] = \"\\u062D\\u0649\";\n t[\"\\uFD1C\"] = \"\\u062D\\u064A\";\n t[\"\\uFD1D\"] = \"\\u062C\\u0649\";\n t[\"\\uFD1E\"] = \"\\u062C\\u064A\";\n t[\"\\uFD1F\"] = \"\\u062E\\u0649\";\n t[\"\\uFD20\"] = \"\\u062E\\u064A\";\n t[\"\\uFD21\"] = \"\\u0635\\u0649\";\n t[\"\\uFD22\"] = \"\\u0635\\u064A\";\n t[\"\\uFD23\"] = \"\\u0636\\u0649\";\n t[\"\\uFD24\"] = \"\\u0636\\u064A\";\n t[\"\\uFD25\"] = \"\\u0634\\u062C\";\n t[\"\\uFD26\"] = \"\\u0634\\u062D\";\n t[\"\\uFD27\"] = \"\\u0634\\u062E\";\n t[\"\\uFD28\"] = \"\\u0634\\u0645\";\n t[\"\\uFD29\"] = \"\\u0634\\u0631\";\n t[\"\\uFD2A\"] = \"\\u0633\\u0631\";\n t[\"\\uFD2B\"] = \"\\u0635\\u0631\";\n t[\"\\uFD2C\"] = \"\\u0636\\u0631\";\n t[\"\\uFD2D\"] = \"\\u0634\\u062C\";\n t[\"\\uFD2E\"] = \"\\u0634\\u062D\";\n t[\"\\uFD2F\"] = \"\\u0634\\u062E\";\n t[\"\\uFD30\"] = \"\\u0634\\u0645\";\n t[\"\\uFD31\"] = \"\\u0633\\u0647\";\n t[\"\\uFD32\"] = \"\\u0634\\u0647\";\n t[\"\\uFD33\"] = \"\\u0637\\u0645\";\n t[\"\\uFD34\"] = \"\\u0633\\u062C\";\n t[\"\\uFD35\"] = \"\\u0633\\u062D\";\n t[\"\\uFD36\"] = \"\\u0633\\u062E\";\n t[\"\\uFD37\"] = \"\\u0634\\u062C\";\n t[\"\\uFD38\"] = \"\\u0634\\u062D\";\n t[\"\\uFD39\"] = \"\\u0634\\u062E\";\n t[\"\\uFD3A\"] = \"\\u0637\\u0645\";\n t[\"\\uFD3B\"] = \"\\u0638\\u0645\";\n t[\"\\uFD3C\"] = \"\\u0627\\u064B\";\n t[\"\\uFD3D\"] = \"\\u0627\\u064B\";\n t[\"\\uFD50\"] = \"\\u062A\\u062C\\u0645\";\n t[\"\\uFD51\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD52\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD53\"] = \"\\u062A\\u062D\\u0645\";\n t[\"\\uFD54\"] = \"\\u062A\\u062E\\u0645\";\n t[\"\\uFD55\"] = \"\\u062A\\u0645\\u062C\";\n t[\"\\uFD56\"] = \"\\u062A\\u0645\\u062D\";\n t[\"\\uFD57\"] = \"\\u062A\\u0645\\u062E\";\n t[\"\\uFD58\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD59\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD5A\"] = \"\\u062D\\u0645\\u064A\";\n t[\"\\uFD5B\"] = \"\\u062D\\u0645\\u0649\";\n t[\"\\uFD5C\"] = \"\\u0633\\u062D\\u062C\";\n t[\"\\uFD5D\"] = \"\\u0633\\u062C\\u062D\";\n t[\"\\uFD5E\"] = \"\\u0633\\u062C\\u0649\";\n t[\"\\uFD5F\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD60\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD61\"] = \"\\u0633\\u0645\\u062C\";\n t[\"\\uFD62\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD63\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD64\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD65\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD66\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFD67\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD68\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD69\"] = \"\\u0634\\u062C\\u064A\";\n t[\"\\uFD6A\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6B\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6C\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6D\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6E\"] = \"\\u0636\\u062D\\u0649\";\n t[\"\\uFD6F\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD70\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD71\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD72\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD73\"] = \"\\u0637\\u0645\\u0645\";\n t[\"\\uFD74\"] = \"\\u0637\\u0645\\u064A\";\n t[\"\\uFD75\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFD76\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD77\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD78\"] = \"\\u0639\\u0645\\u0649\";\n t[\"\\uFD79\"] = \"\\u063A\\u0645\\u0645\";\n t[\"\\uFD7A\"] = \"\\u063A\\u0645\\u064A\";\n t[\"\\uFD7B\"] = \"\\u063A\\u0645\\u0649\";\n t[\"\\uFD7C\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7D\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7E\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFD7F\"] = \"\\u0642\\u0645\\u0645\";\n t[\"\\uFD80\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFD81\"] = \"\\u0644\\u062D\\u064A\";\n t[\"\\uFD82\"] = \"\\u0644\\u062D\\u0649\";\n t[\"\\uFD83\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD84\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD85\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD86\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD87\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD88\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD89\"] = \"\\u0645\\u062D\\u062C\";\n t[\"\\uFD8A\"] = \"\\u0645\\u062D\\u0645\";\n t[\"\\uFD8B\"] = \"\\u0645\\u062D\\u064A\";\n t[\"\\uFD8C\"] = \"\\u0645\\u062C\\u062D\";\n t[\"\\uFD8D\"] = \"\\u0645\\u062C\\u0645\";\n t[\"\\uFD8E\"] = \"\\u0645\\u062E\\u062C\";\n t[\"\\uFD8F\"] = \"\\u0645\\u062E\\u0645\";\n t[\"\\uFD92\"] = \"\\u0645\\u062C\\u062E\";\n t[\"\\uFD93\"] = \"\\u0647\\u0645\\u062C\";\n t[\"\\uFD94\"] = \"\\u0647\\u0645\\u0645\";\n t[\"\\uFD95\"] = \"\\u0646\\u062D\\u0645\";\n t[\"\\uFD96\"] = \"\\u0646\\u062D\\u0649\";\n t[\"\\uFD97\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD98\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD99\"] = \"\\u0646\\u062C\\u0649\";\n t[\"\\uFD9A\"] = \"\\u0646\\u0645\\u064A\";\n t[\"\\uFD9B\"] = \"\\u0646\\u0645\\u0649\";\n t[\"\\uFD9C\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9D\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9E\"] = \"\\u0628\\u062E\\u064A\";\n t[\"\\uFD9F\"] = \"\\u062A\\u062C\\u064A\";\n t[\"\\uFDA0\"] = \"\\u062A\\u062C\\u0649\";\n t[\"\\uFDA1\"] = \"\\u062A\\u062E\\u064A\";\n t[\"\\uFDA2\"] = \"\\u062A\\u062E\\u0649\";\n t[\"\\uFDA3\"] = \"\\u062A\\u0645\\u064A\";\n t[\"\\uFDA4\"] = \"\\u062A\\u0645\\u0649\";\n t[\"\\uFDA5\"] = \"\\u062C\\u0645\\u064A\";\n t[\"\\uFDA6\"] = \"\\u062C\\u062D\\u0649\";\n t[\"\\uFDA7\"] = \"\\u062C\\u0645\\u0649\";\n t[\"\\uFDA8\"] = \"\\u0633\\u062E\\u0649\";\n t[\"\\uFDA9\"] = \"\\u0635\\u062D\\u064A\";\n t[\"\\uFDAA\"] = \"\\u0634\\u062D\\u064A\";\n t[\"\\uFDAB\"] = \"\\u0636\\u062D\\u064A\";\n t[\"\\uFDAC\"] = \"\\u0644\\u062C\\u064A\";\n t[\"\\uFDAD\"] = \"\\u0644\\u0645\\u064A\";\n t[\"\\uFDAE\"] = \"\\u064A\\u062D\\u064A\";\n t[\"\\uFDAF\"] = \"\\u064A\\u062C\\u064A\";\n t[\"\\uFDB0\"] = \"\\u064A\\u0645\\u064A\";\n t[\"\\uFDB1\"] = \"\\u0645\\u0645\\u064A\";\n t[\"\\uFDB2\"] = \"\\u0642\\u0645\\u064A\";\n t[\"\\uFDB3\"] = \"\\u0646\\u062D\\u064A\";\n t[\"\\uFDB4\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFDB5\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFDB6\"] = \"\\u0639\\u0645\\u064A\";\n t[\"\\uFDB7\"] = \"\\u0643\\u0645\\u064A\";\n t[\"\\uFDB8\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDB9\"] = \"\\u0645\\u062E\\u064A\";\n t[\"\\uFDBA\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBB\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDBC\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBD\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDBE\"] = \"\\u062C\\u062D\\u064A\";\n t[\"\\uFDBF\"] = \"\\u062D\\u062C\\u064A\";\n t[\"\\uFDC0\"] = \"\\u0645\\u062C\\u064A\";\n t[\"\\uFDC1\"] = \"\\u0641\\u0645\\u064A\";\n t[\"\\uFDC2\"] = \"\\u0628\\u062D\\u064A\";\n t[\"\\uFDC3\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDC4\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFDC5\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFDC6\"] = \"\\u0633\\u062E\\u064A\";\n t[\"\\uFDC7\"] = \"\\u0646\\u062C\\u064A\";\n t[\"\\uFE49\"] = \"\\u203E\";\n t[\"\\uFE4A\"] = \"\\u203E\";\n t[\"\\uFE4B\"] = \"\\u203E\";\n t[\"\\uFE4C\"] = \"\\u203E\";\n t[\"\\uFE4D\"] = \"_\";\n t[\"\\uFE4E\"] = \"_\";\n t[\"\\uFE4F\"] = \"_\";\n t[\"\\uFE80\"] = \"\\u0621\";\n t[\"\\uFE81\"] = \"\\u0622\";\n t[\"\\uFE82\"] = \"\\u0622\";\n t[\"\\uFE83\"] = \"\\u0623\";\n t[\"\\uFE84\"] = \"\\u0623\";\n t[\"\\uFE85\"] = \"\\u0624\";\n t[\"\\uFE86\"] = \"\\u0624\";\n t[\"\\uFE87\"] = \"\\u0625\";\n t[\"\\uFE88\"] = \"\\u0625\";\n t[\"\\uFE89\"] = \"\\u0626\";\n t[\"\\uFE8A\"] = \"\\u0626\";\n t[\"\\uFE8B\"] = \"\\u0626\";\n t[\"\\uFE8C\"] = \"\\u0626\";\n t[\"\\uFE8D\"] = \"\\u0627\";\n t[\"\\uFE8E\"] = \"\\u0627\";\n t[\"\\uFE8F\"] = \"\\u0628\";\n t[\"\\uFE90\"] = \"\\u0628\";\n t[\"\\uFE91\"] = \"\\u0628\";\n t[\"\\uFE92\"] = \"\\u0628\";\n t[\"\\uFE93\"] = \"\\u0629\";\n t[\"\\uFE94\"] = \"\\u0629\";\n t[\"\\uFE95\"] = \"\\u062A\";\n t[\"\\uFE96\"] = \"\\u062A\";\n t[\"\\uFE97\"] = \"\\u062A\";\n t[\"\\uFE98\"] = \"\\u062A\";\n t[\"\\uFE99\"] = \"\\u062B\";\n t[\"\\uFE9A\"] = \"\\u062B\";\n t[\"\\uFE9B\"] = \"\\u062B\";\n t[\"\\uFE9C\"] = \"\\u062B\";\n t[\"\\uFE9D\"] = \"\\u062C\";\n t[\"\\uFE9E\"] = \"\\u062C\";\n t[\"\\uFE9F\"] = \"\\u062C\";\n t[\"\\uFEA0\"] = \"\\u062C\";\n t[\"\\uFEA1\"] = \"\\u062D\";\n t[\"\\uFEA2\"] = \"\\u062D\";\n t[\"\\uFEA3\"] = \"\\u062D\";\n t[\"\\uFEA4\"] = \"\\u062D\";\n t[\"\\uFEA5\"] = \"\\u062E\";\n t[\"\\uFEA6\"] = \"\\u062E\";\n t[\"\\uFEA7\"] = \"\\u062E\";\n t[\"\\uFEA8\"] = \"\\u062E\";\n t[\"\\uFEA9\"] = \"\\u062F\";\n t[\"\\uFEAA\"] = \"\\u062F\";\n t[\"\\uFEAB\"] = \"\\u0630\";\n t[\"\\uFEAC\"] = \"\\u0630\";\n t[\"\\uFEAD\"] = \"\\u0631\";\n t[\"\\uFEAE\"] = \"\\u0631\";\n t[\"\\uFEAF\"] = \"\\u0632\";\n t[\"\\uFEB0\"] = \"\\u0632\";\n t[\"\\uFEB1\"] = \"\\u0633\";\n t[\"\\uFEB2\"] = \"\\u0633\";\n t[\"\\uFEB3\"] = \"\\u0633\";\n t[\"\\uFEB4\"] = \"\\u0633\";\n t[\"\\uFEB5\"] = \"\\u0634\";\n t[\"\\uFEB6\"] = \"\\u0634\";\n t[\"\\uFEB7\"] = \"\\u0634\";\n t[\"\\uFEB8\"] = \"\\u0634\";\n t[\"\\uFEB9\"] = \"\\u0635\";\n t[\"\\uFEBA\"] = \"\\u0635\";\n t[\"\\uFEBB\"] = \"\\u0635\";\n t[\"\\uFEBC\"] = \"\\u0635\";\n t[\"\\uFEBD\"] = \"\\u0636\";\n t[\"\\uFEBE\"] = \"\\u0636\";\n t[\"\\uFEBF\"] = \"\\u0636\";\n t[\"\\uFEC0\"] = \"\\u0636\";\n t[\"\\uFEC1\"] = \"\\u0637\";\n t[\"\\uFEC2\"] = \"\\u0637\";\n t[\"\\uFEC3\"] = \"\\u0637\";\n t[\"\\uFEC4\"] = \"\\u0637\";\n t[\"\\uFEC5\"] = \"\\u0638\";\n t[\"\\uFEC6\"] = \"\\u0638\";\n t[\"\\uFEC7\"] = \"\\u0638\";\n t[\"\\uFEC8\"] = \"\\u0638\";\n t[\"\\uFEC9\"] = \"\\u0639\";\n t[\"\\uFECA\"] = \"\\u0639\";\n t[\"\\uFECB\"] = \"\\u0639\";\n t[\"\\uFECC\"] = \"\\u0639\";\n t[\"\\uFECD\"] = \"\\u063A\";\n t[\"\\uFECE\"] = \"\\u063A\";\n t[\"\\uFECF\"] = \"\\u063A\";\n t[\"\\uFED0\"] = \"\\u063A\";\n t[\"\\uFED1\"] = \"\\u0641\";\n t[\"\\uFED2\"] = \"\\u0641\";\n t[\"\\uFED3\"] = \"\\u0641\";\n t[\"\\uFED4\"] = \"\\u0641\";\n t[\"\\uFED5\"] = \"\\u0642\";\n t[\"\\uFED6\"] = \"\\u0642\";\n t[\"\\uFED7\"] = \"\\u0642\";\n t[\"\\uFED8\"] = \"\\u0642\";\n t[\"\\uFED9\"] = \"\\u0643\";\n t[\"\\uFEDA\"] = \"\\u0643\";\n t[\"\\uFEDB\"] = \"\\u0643\";\n t[\"\\uFEDC\"] = \"\\u0643\";\n t[\"\\uFEDD\"] = \"\\u0644\";\n t[\"\\uFEDE\"] = \"\\u0644\";\n t[\"\\uFEDF\"] = \"\\u0644\";\n t[\"\\uFEE0\"] = \"\\u0644\";\n t[\"\\uFEE1\"] = \"\\u0645\";\n t[\"\\uFEE2\"] = \"\\u0645\";\n t[\"\\uFEE3\"] = \"\\u0645\";\n t[\"\\uFEE4\"] = \"\\u0645\";\n t[\"\\uFEE5\"] = \"\\u0646\";\n t[\"\\uFEE6\"] = \"\\u0646\";\n t[\"\\uFEE7\"] = \"\\u0646\";\n t[\"\\uFEE8\"] = \"\\u0646\";\n t[\"\\uFEE9\"] = \"\\u0647\";\n t[\"\\uFEEA\"] = \"\\u0647\";\n t[\"\\uFEEB\"] = \"\\u0647\";\n t[\"\\uFEEC\"] = \"\\u0647\";\n t[\"\\uFEED\"] = \"\\u0648\";\n t[\"\\uFEEE\"] = \"\\u0648\";\n t[\"\\uFEEF\"] = \"\\u0649\";\n t[\"\\uFEF0\"] = \"\\u0649\";\n t[\"\\uFEF1\"] = \"\\u064A\";\n t[\"\\uFEF2\"] = \"\\u064A\";\n t[\"\\uFEF3\"] = \"\\u064A\";\n t[\"\\uFEF4\"] = \"\\u064A\";\n t[\"\\uFEF5\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF6\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF7\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF8\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF9\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFA\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFB\"] = \"\\u0644\\u0627\";\n t[\"\\uFEFC\"] = \"\\u0644\\u0627\";\n });\n\n function reverseIfRtl(chars) {\n var charsLength = chars.length;\n\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n return chars;\n }\n\n var s = \"\";\n\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n s += chars[ii];\n }\n\n return s;\n }\n\n exports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\n exports.reverseIfRtl = reverseIfRtl;\n exports.getUnicodeRangeFor = getUnicodeRangeFor;\n exports.getNormalizedUnicodes = getNormalizedUnicodes;\n exports.getUnicodeForGlyph = getUnicodeForGlyph;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontRendererFactory = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _cff_parser = __w_pdfjs_require__(28);\n\n var _glyphlist = __w_pdfjs_require__(31);\n\n var _encodings = __w_pdfjs_require__(30);\n\n var _stream = __w_pdfjs_require__(11);\n\n var FontRendererFactory = function FontRendererFactoryClosure() {\n function getLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n }\n\n function getUshort(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function getSubroutineBias(subrs) {\n var numSubrs = subrs.length;\n var bias = 32768;\n\n if (numSubrs < 1240) {\n bias = 107;\n } else if (numSubrs < 33900) {\n bias = 1131;\n }\n\n return bias;\n }\n\n function parseCmap(data, start, end) {\n var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n var format = getUshort(data, start + offset);\n var ranges, p, i;\n\n if (format === 4) {\n getUshort(data, start + offset + 2);\n var segCount = getUshort(data, start + offset + 6) >> 1;\n p = start + offset + 14;\n ranges = [];\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i] = {\n end: getUshort(data, p)\n };\n }\n\n p += 2;\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].start = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].idDelta = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n var idOffset = getUshort(data, p);\n\n if (idOffset === 0) {\n continue;\n }\n\n ranges[i].ids = [];\n\n for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n ranges[i].ids[j] = getUshort(data, p + idOffset);\n idOffset += 2;\n }\n }\n\n return ranges;\n } else if (format === 12) {\n getLong(data, start + offset + 4);\n var groups = getLong(data, start + offset + 12);\n p = start + offset + 16;\n ranges = [];\n\n for (i = 0; i < groups; i++) {\n ranges.push({\n start: getLong(data, p),\n end: getLong(data, p + 4),\n idDelta: getLong(data, p + 8) - getLong(data, p)\n });\n p += 12;\n }\n\n return ranges;\n }\n\n throw new _util.FormatError(\"unsupported cmap: \".concat(format));\n }\n\n function parseCff(data, start, end, seacAnalysisEnabled) {\n var properties = {};\n var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n var cff = parser.parse();\n return {\n glyphs: cff.charStrings.objects,\n subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n isCFFCIDFont: cff.isCIDFont,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray\n };\n }\n\n function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n var itemSize, itemDecode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n }\n\n var glyphs = [];\n var startOffset = itemDecode(loca, 0);\n\n for (var j = itemSize; j < loca.length; j += itemSize) {\n var endOffset = itemDecode(loca, j);\n glyphs.push(glyf.subarray(startOffset, endOffset));\n startOffset = endOffset;\n }\n\n return glyphs;\n }\n\n function lookupCmap(ranges, unicode) {\n var code = unicode.codePointAt(0),\n gid = 0;\n var l = 0,\n r = ranges.length - 1;\n\n while (l < r) {\n var c = l + r + 1 >> 1;\n\n if (code < ranges[c].start) {\n r = c - 1;\n } else {\n l = c;\n }\n }\n\n if (ranges[l].start <= code && code <= ranges[l].end) {\n gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xffff;\n }\n\n return {\n charCode: code,\n glyphId: gid\n };\n }\n\n function compileGlyf(code, cmds, font) {\n function moveTo(x, y) {\n cmds.push({\n cmd: \"moveTo\",\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: \"lineTo\",\n args: [x, y]\n });\n }\n\n function quadraticCurveTo(xa, ya, x, y) {\n cmds.push({\n cmd: \"quadraticCurveTo\",\n args: [xa, ya, x, y]\n });\n }\n\n var i = 0;\n var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n var flags;\n var x = 0,\n y = 0;\n i += 10;\n\n if (numberOfContours < 0) {\n do {\n flags = code[i] << 8 | code[i + 1];\n var glyphIndex = code[i + 2] << 8 | code[i + 3];\n i += 4;\n var arg1, arg2;\n\n if (flags & 0x01) {\n arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n i += 4;\n } else {\n arg1 = code[i++];\n arg2 = code[i++];\n }\n\n if (flags & 0x02) {\n x = arg1;\n y = arg2;\n } else {\n x = 0;\n y = 0;\n }\n\n var scaleX = 1,\n scaleY = 1,\n scale01 = 0,\n scale10 = 0;\n\n if (flags & 0x08) {\n scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n i += 2;\n } else if (flags & 0x40) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n i += 4;\n } else if (flags & 0x80) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n i += 8;\n }\n\n var subglyph = font.glyphs[glyphIndex];\n\n if (subglyph) {\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"transform\",\n args: [scaleX, scale01, scale10, scaleY, x, y]\n });\n compileGlyf(subglyph, cmds, font);\n cmds.push({\n cmd: \"restore\"\n });\n }\n } while (flags & 0x20);\n } else {\n var endPtsOfContours = [];\n var j, jj;\n\n for (j = 0; j < numberOfContours; j++) {\n endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n i += 2;\n }\n\n var instructionLength = code[i] << 8 | code[i + 1];\n i += 2 + instructionLength;\n var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n var points = [];\n\n while (points.length < numberOfPoints) {\n flags = code[i++];\n var repeat = 1;\n\n if (flags & 0x08) {\n repeat += code[i++];\n }\n\n while (repeat-- > 0) {\n points.push({\n flags: flags\n });\n }\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x12) {\n case 0x00:\n x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x02:\n x -= code[i++];\n break;\n\n case 0x12:\n x += code[i++];\n break;\n }\n\n points[j].x = x;\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x24) {\n case 0x00:\n y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x04:\n y -= code[i++];\n break;\n\n case 0x24:\n y += code[i++];\n break;\n }\n\n points[j].y = y;\n }\n\n var startPoint = 0;\n\n for (i = 0; i < numberOfContours; i++) {\n var endPoint = endPtsOfContours[i];\n var contour = points.slice(startPoint, endPoint + 1);\n\n if (contour[0].flags & 1) {\n contour.push(contour[0]);\n } else if (contour[contour.length - 1].flags & 1) {\n contour.unshift(contour[contour.length - 1]);\n } else {\n var p = {\n flags: 1,\n x: (contour[0].x + contour[contour.length - 1].x) / 2,\n y: (contour[0].y + contour[contour.length - 1].y) / 2\n };\n contour.unshift(p);\n contour.push(p);\n }\n\n moveTo(contour[0].x, contour[0].y);\n\n for (j = 1, jj = contour.length; j < jj; j++) {\n if (contour[j].flags & 1) {\n lineTo(contour[j].x, contour[j].y);\n } else if (contour[j + 1].flags & 1) {\n quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n j++;\n } else {\n quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n }\n }\n\n startPoint = endPoint + 1;\n }\n }\n }\n\n function compileCharString(code, cmds, font, glyphId) {\n var stack = [];\n var x = 0,\n y = 0;\n var stems = 0;\n\n function moveTo(x, y) {\n cmds.push({\n cmd: \"moveTo\",\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: \"lineTo\",\n args: [x, y]\n });\n }\n\n function bezierCurveTo(x1, y1, x2, y2, x, y) {\n cmds.push({\n cmd: \"bezierCurveTo\",\n args: [x1, y1, x2, y2, x, y]\n });\n }\n\n function parse(code) {\n var i = 0;\n\n while (i < code.length) {\n var stackClean = false;\n var v = code[i++];\n var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n\n switch (v) {\n case 1:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 3:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 4:\n y += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n x += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 8:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 10:\n n = stack.pop();\n subrCode = null;\n\n if (font.isCFFCIDFont) {\n var fdIndex = font.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n var fontDict = font.fdArray[fdIndex];\n var subrs = void 0;\n\n if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n\n if (subrs) {\n n += getSubroutineBias(subrs);\n subrCode = subrs[n];\n }\n } else {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n }\n } else {\n subrCode = font.subrs[n + font.subrsBias];\n }\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 11:\n return;\n\n case 12:\n v = code[i++];\n\n switch (v) {\n case 34:\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y1 = y + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y, xb, y1, x, y1);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y, x, y);\n break;\n\n case 35:\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n stack.pop();\n break;\n\n case 36:\n xa = x + stack.shift();\n y1 = y + stack.shift();\n xb = xa + stack.shift();\n y2 = y1 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y2, x, y2);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y3 = y2 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y2, xb, y3, x, y);\n break;\n\n case 37:\n var x0 = x,\n y0 = y;\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb;\n\n if (Math.abs(x - x0) > Math.abs(y - y0)) {\n x += stack.shift();\n } else {\n y += stack.shift();\n }\n\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n default:\n throw new _util.FormatError(\"unknown operator: 12 \".concat(v));\n }\n\n break;\n\n case 14:\n if (stack.length >= 4) {\n var achar = stack.pop();\n var bchar = stack.pop();\n y = stack.pop();\n x = stack.pop();\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"translate\",\n args: [x, y]\n });\n var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n cmds.push({\n cmd: \"restore\"\n });\n cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n }\n\n return;\n\n case 18:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 19:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 20:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 21:\n y += stack.pop();\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 22:\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 23:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 24:\n while (stack.length > 2) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n break;\n\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n case 26:\n if (stack.length % 2) {\n x += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 27:\n if (stack.length % 2) {\n y += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb;\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 28:\n stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n i += 2;\n break;\n\n case 29:\n n = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[n];\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 30:\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 31:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n default:\n if (v < 32) {\n throw new _util.FormatError(\"unknown operator: \".concat(v));\n }\n\n if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n stack.push((v - 247) * 256 + code[i++] + 108);\n } else if (v < 255) {\n stack.push(-(v - 251) * 256 - code[i++] - 108);\n } else {\n stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n i += 4;\n }\n\n break;\n }\n\n if (stackClean) {\n stack.length = 0;\n }\n }\n }\n\n parse(code);\n }\n\n var NOOP = [];\n\n var CompiledFont = /*#__PURE__*/function () {\n function CompiledFont(fontMatrix) {\n _classCallCheck(this, CompiledFont);\n\n if (this.constructor === CompiledFont) {\n (0, _util.unreachable)(\"Cannot initialize CompiledFont.\");\n }\n\n this.fontMatrix = fontMatrix;\n this.compiledGlyphs = Object.create(null);\n this.compiledCharCodeToGlyphId = Object.create(null);\n }\n\n _createClass(CompiledFont, [{\n key: \"getPathJs\",\n value: function getPathJs(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n var fn = this.compiledGlyphs[cmap.glyphId];\n\n if (!fn) {\n fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n this.compiledGlyphs[cmap.glyphId] = fn;\n }\n\n if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n }\n\n return fn;\n }\n }, {\n key: \"compileGlyph\",\n value: function compileGlyph(code, glyphId) {\n if (!code || code.length === 0 || code[0] === 14) {\n return NOOP;\n }\n\n var fontMatrix = this.fontMatrix;\n\n if (this.isCFFCIDFont) {\n var fdIndex = this.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n var fontDict = this.fdArray[fdIndex];\n fontMatrix = fontDict.getByName(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX;\n } else {\n (0, _util.warn)(\"Invalid fd index for glyph index.\");\n }\n }\n\n var cmds = [];\n cmds.push({\n cmd: \"save\"\n });\n cmds.push({\n cmd: \"transform\",\n args: fontMatrix.slice()\n });\n cmds.push({\n cmd: \"scale\",\n args: [\"size\", \"-size\"]\n });\n this.compileGlyphImpl(code, cmds, glyphId);\n cmds.push({\n cmd: \"restore\"\n });\n return cmds;\n }\n }, {\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl() {\n (0, _util.unreachable)(\"Children classes should implement this.\");\n }\n }, {\n key: \"hasBuiltPath\",\n value: function hasBuiltPath(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n }\n }]);\n\n return CompiledFont;\n }();\n\n var TrueTypeCompiled = /*#__PURE__*/function (_CompiledFont) {\n _inherits(TrueTypeCompiled, _CompiledFont);\n\n var _super54 = _createSuper(TrueTypeCompiled);\n\n function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n var _this69;\n\n _classCallCheck(this, TrueTypeCompiled);\n\n _this69 = _super54.call(this, fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]);\n _this69.glyphs = glyphs;\n _this69.cmap = cmap;\n return _this69;\n }\n\n _createClass(TrueTypeCompiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds) {\n compileGlyf(code, cmds, this);\n }\n }]);\n\n return TrueTypeCompiled;\n }(CompiledFont);\n\n var Type2Compiled = /*#__PURE__*/function (_CompiledFont2) {\n _inherits(Type2Compiled, _CompiledFont2);\n\n var _super55 = _createSuper(Type2Compiled);\n\n function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n var _this70;\n\n _classCallCheck(this, Type2Compiled);\n\n _this70 = _super55.call(this, fontMatrix || [0.001, 0, 0, 0.001, 0, 0]);\n _this70.glyphs = cffInfo.glyphs;\n _this70.gsubrs = cffInfo.gsubrs || [];\n _this70.subrs = cffInfo.subrs || [];\n _this70.cmap = cmap;\n _this70.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n _this70.gsubrsBias = getSubroutineBias(_this70.gsubrs);\n _this70.subrsBias = getSubroutineBias(_this70.subrs);\n _this70.isCFFCIDFont = cffInfo.isCFFCIDFont;\n _this70.fdSelect = cffInfo.fdSelect;\n _this70.fdArray = cffInfo.fdArray;\n return _this70;\n }\n\n _createClass(Type2Compiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds, glyphId) {\n compileCharString(code, cmds, this, glyphId);\n }\n }]);\n\n return Type2Compiled;\n }(CompiledFont);\n\n return {\n create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n var data = new Uint8Array(font.data);\n var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n var numTables = getUshort(data, 4);\n\n for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n var offset = getLong(data, p + 8);\n var length = getLong(data, p + 12);\n\n switch (tag) {\n case \"cmap\":\n cmap = parseCmap(data, offset, offset + length);\n break;\n\n case \"glyf\":\n glyf = data.subarray(offset, offset + length);\n break;\n\n case \"loca\":\n loca = data.subarray(offset, offset + length);\n break;\n\n case \"head\":\n unitsPerEm = getUshort(data, offset + 18);\n indexToLocFormat = getUshort(data, offset + 50);\n break;\n\n case \"CFF \":\n cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n break;\n }\n }\n\n if (glyf) {\n var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n }\n\n return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n }\n };\n }();\n\n exports.FontRendererFactory = FontRendererFactory;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Type1Parser = void 0;\n\n var _encodings = __w_pdfjs_require__(30);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var _stream = __w_pdfjs_require__(11);\n\n var _util = __w_pdfjs_require__(2);\n\n var HINTING_ENABLED = false;\n\n var Type1CharString = function Type1CharStringClosure() {\n var COMMAND_MAP = {\n hstem: [1],\n vstem: [3],\n vmoveto: [4],\n rlineto: [5],\n hlineto: [6],\n vlineto: [7],\n rrcurveto: [8],\n callsubr: [10],\n flex: [12, 35],\n drop: [12, 18],\n endchar: [14],\n rmoveto: [21],\n hmoveto: [22],\n vhcurveto: [30],\n hvcurveto: [31]\n };\n\n function Type1CharString() {\n this.width = 0;\n this.lsb = 0;\n this.flexing = false;\n this.output = [];\n this.stack = [];\n }\n\n Type1CharString.prototype = {\n convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n var count = encoded.length;\n var error = false;\n var wx, sbx, subrNumber;\n\n for (var i = 0; i < count; i++) {\n var value = encoded[i];\n\n if (value < 32) {\n if (value === 12) {\n value = (value << 8) + encoded[++i];\n }\n\n switch (value) {\n case 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case 3:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case 4:\n if (this.flexing) {\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n var dy = this.stack.pop();\n this.stack.push(0, dy);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n break;\n\n case 5:\n error = this.executeCommand(2, COMMAND_MAP.rlineto);\n break;\n\n case 6:\n error = this.executeCommand(1, COMMAND_MAP.hlineto);\n break;\n\n case 7:\n error = this.executeCommand(1, COMMAND_MAP.vlineto);\n break;\n\n case 8:\n error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n break;\n\n case 9:\n this.stack = [];\n break;\n\n case 10:\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n\n if (!subrs[subrNumber]) {\n error = true;\n break;\n }\n\n error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n break;\n\n case 11:\n return error;\n\n case 13:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n wx = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx);\n error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n break;\n\n case 14:\n this.output.push(COMMAND_MAP.endchar[0]);\n break;\n\n case 21:\n if (this.flexing) {\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n break;\n\n case 22:\n if (this.flexing) {\n this.stack.push(0);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n break;\n\n case 30:\n error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n break;\n\n case 31:\n error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n break;\n\n case (12 << 8) + 0:\n this.stack = [];\n break;\n\n case (12 << 8) + 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case (12 << 8) + 2:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case (12 << 8) + 6:\n if (seacAnalysisEnabled) {\n this.seac = this.stack.splice(-4, 4);\n error = this.executeCommand(0, COMMAND_MAP.endchar);\n } else {\n error = this.executeCommand(4, COMMAND_MAP.endchar);\n }\n\n break;\n\n case (12 << 8) + 7:\n if (this.stack.length < 4) {\n error = true;\n break;\n }\n\n this.stack.pop();\n wx = this.stack.pop();\n var sby = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx, sby);\n error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n break;\n\n case (12 << 8) + 12:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n var num2 = this.stack.pop();\n var num1 = this.stack.pop();\n this.stack.push(num1 / num2);\n break;\n\n case (12 << 8) + 16:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n var numArgs = this.stack.pop();\n\n if (subrNumber === 0 && numArgs === 3) {\n var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n error = this.executeCommand(13, COMMAND_MAP.flex, true);\n this.flexing = false;\n this.stack.push(flexArgs[15], flexArgs[16]);\n } else if (subrNumber === 1 && numArgs === 0) {\n this.flexing = true;\n }\n\n break;\n\n case (12 << 8) + 17:\n break;\n\n case (12 << 8) + 33:\n this.stack = [];\n break;\n\n default:\n (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n break;\n }\n\n if (error) {\n break;\n }\n\n continue;\n } else if (value <= 246) {\n value = value - 139;\n } else if (value <= 250) {\n value = (value - 247) * 256 + encoded[++i] + 108;\n } else if (value <= 254) {\n value = -((value - 251) * 256) - encoded[++i] - 108;\n } else {\n value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n }\n\n this.stack.push(value);\n }\n\n return error;\n },\n executeCommand: function executeCommand(howManyArgs, command, keepStack) {\n var stackLength = this.stack.length;\n\n if (howManyArgs > stackLength) {\n return true;\n }\n\n var start = stackLength - howManyArgs;\n\n for (var i = start; i < stackLength; i++) {\n var value = this.stack[i];\n\n if (Number.isInteger(value)) {\n this.output.push(28, value >> 8 & 0xff, value & 0xff);\n } else {\n value = 65536 * value | 0;\n this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n }\n\n this.output.push.apply(this.output, command);\n\n if (keepStack) {\n this.stack.splice(start, howManyArgs);\n } else {\n this.stack.length = 0;\n }\n\n return false;\n }\n };\n return Type1CharString;\n }();\n\n var Type1Parser = function Type1ParserClosure() {\n var EEXEC_ENCRYPT_KEY = 55665;\n var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n function isHexDigit(code) {\n return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n }\n\n function decrypt(data, key, discardNumber) {\n if (discardNumber >= data.length) {\n return new Uint8Array(0);\n }\n\n var r = key | 0,\n c1 = 52845,\n c2 = 22719,\n i,\n j;\n\n for (i = 0; i < discardNumber; i++) {\n r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n var count = data.length - discardNumber;\n var decrypted = new Uint8Array(count);\n\n for (i = discardNumber, j = 0; j < count; i++, j++) {\n var value = data[i];\n decrypted[j] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n return decrypted;\n }\n\n function decryptAscii(data, key, discardNumber) {\n var r = key | 0,\n c1 = 52845,\n c2 = 22719;\n var count = data.length,\n maybeLength = count >>> 1;\n var decrypted = new Uint8Array(maybeLength);\n var i, j;\n\n for (i = 0, j = 0; i < count; i++) {\n var digit1 = data[i];\n\n if (!isHexDigit(digit1)) {\n continue;\n }\n\n i++;\n var digit2;\n\n while (i < count && !isHexDigit(digit2 = data[i])) {\n i++;\n }\n\n if (i < count) {\n var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n decrypted[j++] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n }\n\n return Array.prototype.slice.call(decrypted, discardNumber, j);\n }\n\n function isSpecial(c) {\n return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;\n }\n\n function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n if (encrypted) {\n var data = stream.getBytes();\n var isBinary = !(isHexDigit(data[0]) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]));\n stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n }\n\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n this.stream = stream;\n this.nextChar();\n }\n\n Type1Parser.prototype = {\n readNumberArray: function Type1Parser_readNumberArray() {\n this.getToken();\n var array = [];\n\n while (true) {\n var token = this.getToken();\n\n if (token === null || token === \"]\" || token === \"}\") {\n break;\n }\n\n array.push(parseFloat(token || 0));\n }\n\n return array;\n },\n readNumber: function Type1Parser_readNumber() {\n var token = this.getToken();\n return parseFloat(token || 0);\n },\n readInt: function Type1Parser_readInt() {\n var token = this.getToken();\n return parseInt(token || 0, 10) | 0;\n },\n readBoolean: function Type1Parser_readBoolean() {\n var token = this.getToken();\n return token === \"true\" ? 1 : 0;\n },\n nextChar: function Type1_nextChar() {\n return this.currentChar = this.stream.getByte();\n },\n getToken: function Type1Parser_getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch === -1) {\n return null;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n if (isSpecial(ch)) {\n this.nextChar();\n return String.fromCharCode(ch);\n }\n\n var token = \"\";\n\n do {\n token += String.fromCharCode(ch);\n ch = this.nextChar();\n } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));\n\n return token;\n },\n readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n if (lenIV === -1) {\n return bytes;\n }\n\n return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n },\n extractFontProgram: function Type1Parser_extractFontProgram(properties) {\n var stream = this.stream;\n var subrs = [],\n charstrings = [];\n var privateData = Object.create(null);\n privateData[\"lenIV\"] = 4;\n var program = {\n subrs: [],\n charstrings: [],\n properties: {\n privateData: privateData\n }\n };\n var token, length, data, lenIV, encoded;\n\n while ((token = this.getToken()) !== null) {\n if (token !== \"/\") {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case \"CharStrings\":\n this.getToken();\n this.getToken();\n this.getToken();\n this.getToken();\n\n while (true) {\n token = this.getToken();\n\n if (token === null || token === \"end\") {\n break;\n }\n\n if (token !== \"/\") {\n continue;\n }\n\n var glyph = this.getToken();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData[\"lenIV\"];\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === \"noaccess\") {\n this.getToken();\n }\n\n charstrings.push({\n glyph: glyph,\n encoded: encoded\n });\n }\n\n break;\n\n case \"Subrs\":\n this.readInt();\n this.getToken();\n\n while (this.getToken() === \"dup\") {\n var index = this.readInt();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData[\"lenIV\"];\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === \"noaccess\") {\n this.getToken();\n }\n\n subrs[index] = encoded;\n }\n\n break;\n\n case \"BlueValues\":\n case \"OtherBlues\":\n case \"FamilyBlues\":\n case \"FamilyOtherBlues\":\n var blueArray = this.readNumberArray();\n\n if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n program.properties.privateData[token] = blueArray;\n }\n\n break;\n\n case \"StemSnapH\":\n case \"StemSnapV\":\n program.properties.privateData[token] = this.readNumberArray();\n break;\n\n case \"StdHW\":\n case \"StdVW\":\n program.properties.privateData[token] = this.readNumberArray()[0];\n break;\n\n case \"BlueShift\":\n case \"lenIV\":\n case \"BlueFuzz\":\n case \"BlueScale\":\n case \"LanguageGroup\":\n case \"ExpansionFactor\":\n program.properties.privateData[token] = this.readNumber();\n break;\n\n case \"ForceBold\":\n program.properties.privateData[token] = this.readBoolean();\n break;\n }\n }\n\n for (var i = 0; i < charstrings.length; i++) {\n glyph = charstrings[i].glyph;\n encoded = charstrings[i].encoded;\n var charString = new Type1CharString();\n var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n var output = charString.output;\n\n if (error) {\n output = [14];\n }\n\n var charStringObject = {\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n };\n\n if (glyph === \".notdef\") {\n program.charstrings.unshift(charStringObject);\n } else {\n program.charstrings.push(charStringObject);\n }\n\n if (properties.builtInEncoding) {\n var _index = properties.builtInEncoding.indexOf(glyph);\n\n if (_index > -1 && properties.widths[_index] === undefined && _index >= properties.firstChar && _index <= properties.lastChar) {\n properties.widths[_index] = charString.width;\n }\n }\n }\n\n return program;\n },\n extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n var token;\n\n while ((token = this.getToken()) !== null) {\n if (token !== \"/\") {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case \"FontMatrix\":\n var matrix = this.readNumberArray();\n properties.fontMatrix = matrix;\n break;\n\n case \"Encoding\":\n var encodingArg = this.getToken();\n var encoding;\n\n if (!/^\\d+$/.test(encodingArg)) {\n encoding = (0, _encodings.getEncoding)(encodingArg);\n } else {\n encoding = [];\n var size = parseInt(encodingArg, 10) | 0;\n this.getToken();\n\n for (var j = 0; j < size; j++) {\n token = this.getToken();\n\n while (token !== \"dup\" && token !== \"def\") {\n token = this.getToken();\n\n if (token === null) {\n return;\n }\n }\n\n if (token === \"def\") {\n break;\n }\n\n var index = this.readInt();\n this.getToken();\n var glyph = this.getToken();\n encoding[index] = glyph;\n this.getToken();\n }\n }\n\n properties.builtInEncoding = encoding;\n break;\n\n case \"FontBBox\":\n var fontBBox = this.readNumberArray();\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n break;\n }\n }\n }\n };\n return Type1Parser;\n }();\n\n exports.Type1Parser = Type1Parser;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getTilingPatternIR = getTilingPatternIR;\n exports.Pattern = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _colorspace = __w_pdfjs_require__(22);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var ShadingType = {\n FUNCTION_BASED: 1,\n AXIAL: 2,\n RADIAL: 3,\n FREE_FORM_MESH: 4,\n LATTICE_FORM_MESH: 5,\n COONS_PATCH_MESH: 6,\n TENSOR_PATCH_MESH: 7\n };\n\n var Pattern = function PatternClosure() {\n function Pattern() {\n (0, _util.unreachable)(\"should not call Pattern constructor\");\n }\n\n Pattern.prototype = {\n getPattern: function Pattern_getPattern(ctx) {\n (0, _util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));\n }\n };\n\n Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {\n var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n var type = dict.get(\"ShadingType\");\n\n try {\n switch (type) {\n case ShadingType.AXIAL:\n case ShadingType.RADIAL:\n return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory);\n\n case ShadingType.FREE_FORM_MESH:\n case ShadingType.LATTICE_FORM_MESH:\n case ShadingType.COONS_PATCH_MESH:\n case ShadingType.TENSOR_PATCH_MESH:\n return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);\n\n default:\n throw new _util.FormatError(\"Unsupported ShadingType: \" + type);\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.shadingPattern\n });\n (0, _util.warn)(ex);\n return new Shadings.Dummy();\n }\n };\n\n return Pattern;\n }();\n\n exports.Pattern = Pattern;\n var Shadings = {};\n Shadings.SMALL_NUMBER = 1e-6;\n\n Shadings.RadialAxial = function RadialAxialClosure() {\n function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {\n this.matrix = matrix;\n this.coordsArr = dict.getArray(\"Coords\");\n this.shadingType = dict.get(\"ShadingType\");\n this.type = \"Pattern\";\n var cs = dict.get(\"ColorSpace\", \"CS\");\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n var bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var t0 = 0.0,\n t1 = 1.0;\n\n if (dict.has(\"Domain\")) {\n var domainArr = dict.getArray(\"Domain\");\n t0 = domainArr[0];\n t1 = domainArr[1];\n }\n\n var extendStart = false,\n extendEnd = false;\n\n if (dict.has(\"Extend\")) {\n var extendArr = dict.getArray(\"Extend\");\n extendStart = extendArr[0];\n extendEnd = extendArr[1];\n }\n\n if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n var x1 = this.coordsArr[0];\n var y1 = this.coordsArr[1];\n var r1 = this.coordsArr[2];\n var x2 = this.coordsArr[3];\n var y2 = this.coordsArr[4];\n var r2 = this.coordsArr[5];\n var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n\n if (r1 <= r2 + distance && r2 <= r1 + distance) {\n (0, _util.warn)(\"Unsupported radial gradient.\");\n }\n }\n\n this.extendStart = extendStart;\n this.extendEnd = extendEnd;\n var fnObj = dict.get(\"Function\");\n var fn = pdfFunctionFactory.createFromArray(fnObj);\n var NUMBER_OF_SAMPLES = 10;\n var step = (t1 - t0) / NUMBER_OF_SAMPLES;\n var colorStops = this.colorStops = [];\n\n if (t0 >= t1 || step <= 0) {\n (0, _util.info)(\"Bad shading domain.\");\n return;\n }\n\n var color = new Float32Array(cs.numComps),\n ratio = new Float32Array(1);\n var rgbColor;\n\n for (var i = 0; i <= NUMBER_OF_SAMPLES; i++) {\n ratio[0] = t0 + i * step;\n fn(ratio, 0, color, 0);\n rgbColor = cs.getRgb(color, 0);\n\n var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n\n colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);\n }\n\n var background = \"transparent\";\n\n if (dict.has(\"Background\")) {\n rgbColor = cs.getRgb(dict.get(\"Background\"), 0);\n background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n }\n\n if (!extendStart) {\n colorStops.unshift([0, background]);\n colorStops[1][0] += Shadings.SMALL_NUMBER;\n }\n\n if (!extendEnd) {\n colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n colorStops.push([1, background]);\n }\n\n this.colorStops = colorStops;\n }\n\n RadialAxial.prototype = {\n getIR: function RadialAxial_getIR() {\n var coordsArr = this.coordsArr;\n var shadingType = this.shadingType;\n var type, p0, p1, r0, r1;\n\n if (shadingType === ShadingType.AXIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[2], coordsArr[3]];\n r0 = null;\n r1 = null;\n type = \"axial\";\n } else if (shadingType === ShadingType.RADIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[3], coordsArr[4]];\n r0 = coordsArr[2];\n r1 = coordsArr[5];\n type = \"radial\";\n } else {\n (0, _util.unreachable)(\"getPattern type unknown: \".concat(shadingType));\n }\n\n var matrix = this.matrix;\n\n if (matrix) {\n p0 = _util.Util.applyTransform(p0, matrix);\n p1 = _util.Util.applyTransform(p1, matrix);\n\n if (shadingType === ShadingType.RADIAL) {\n var scale = _util.Util.singularValueDecompose2dScale(matrix);\n\n r0 *= scale[0];\n r1 *= scale[1];\n }\n }\n\n return [\"RadialAxial\", type, this.bbox, this.colorStops, p0, p1, r0, r1];\n }\n };\n return RadialAxial;\n }();\n\n Shadings.Mesh = function MeshClosure() {\n function MeshStreamReader(stream, context) {\n this.stream = stream;\n this.context = context;\n this.buffer = 0;\n this.bufferLength = 0;\n var numComps = context.numComps;\n this.tmpCompsBuf = new Float32Array(numComps);\n var csNumComps = context.colorSpace.numComps;\n this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n }\n\n MeshStreamReader.prototype = {\n get hasData() {\n if (this.stream.end) {\n return this.stream.pos < this.stream.end;\n }\n\n if (this.bufferLength > 0) {\n return true;\n }\n\n var nextByte = this.stream.getByte();\n\n if (nextByte < 0) {\n return false;\n }\n\n this.buffer = nextByte;\n this.bufferLength = 8;\n return true;\n },\n\n readBits: function MeshStreamReader_readBits(n) {\n var buffer = this.buffer;\n var bufferLength = this.bufferLength;\n\n if (n === 32) {\n if (bufferLength === 0) {\n return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n }\n\n buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n var nextByte = this.stream.getByte();\n this.buffer = nextByte & (1 << bufferLength) - 1;\n return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;\n }\n\n if (n === 8 && bufferLength === 0) {\n return this.stream.getByte();\n }\n\n while (bufferLength < n) {\n buffer = buffer << 8 | this.stream.getByte();\n bufferLength += 8;\n }\n\n bufferLength -= n;\n this.bufferLength = bufferLength;\n this.buffer = buffer & (1 << bufferLength) - 1;\n return buffer >> bufferLength;\n },\n align: function MeshStreamReader_align() {\n this.buffer = 0;\n this.bufferLength = 0;\n },\n readFlag: function MeshStreamReader_readFlag() {\n return this.readBits(this.context.bitsPerFlag);\n },\n readCoordinate: function MeshStreamReader_readCoordinate() {\n var bitsPerCoordinate = this.context.bitsPerCoordinate;\n var xi = this.readBits(bitsPerCoordinate);\n var yi = this.readBits(bitsPerCoordinate);\n var decode = this.context.decode;\n var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n },\n readComponents: function MeshStreamReader_readComponents() {\n var numComps = this.context.numComps;\n var bitsPerComponent = this.context.bitsPerComponent;\n var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n var decode = this.context.decode;\n var components = this.tmpCompsBuf;\n\n for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n var ci = this.readBits(bitsPerComponent);\n components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n }\n\n var color = this.tmpCsCompsBuf;\n\n if (this.context.colorFn) {\n this.context.colorFn(components, 0, color, 0);\n }\n\n return this.context.colorSpace.getRgb(color, 0);\n }\n };\n\n function decodeType4Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var operators = [];\n var ps = [];\n var verticesLeft = 0;\n\n while (reader.hasData) {\n var f = reader.readFlag();\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n\n if (verticesLeft === 0) {\n if (!(0 <= f && f <= 2)) {\n throw new _util.FormatError(\"Unknown type4 flag\");\n }\n\n switch (f) {\n case 0:\n verticesLeft = 3;\n break;\n\n case 1:\n ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n\n case 2:\n ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n }\n\n operators.push(f);\n }\n\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n verticesLeft--;\n reader.align();\n }\n\n mesh.figures.push({\n type: \"triangles\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps)\n });\n }\n\n function decodeType5Shading(mesh, reader, verticesPerRow) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = [];\n\n while (reader.hasData) {\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n }\n\n mesh.figures.push({\n type: \"lattice\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps),\n verticesPerRow: verticesPerRow\n });\n }\n\n var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n var TRIANGLE_DENSITY = 20;\n\n var getB = function getBClosure() {\n function buildB(count) {\n var lut = [];\n\n for (var i = 0; i <= count; i++) {\n var t = i / count,\n t_ = 1 - t;\n lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n }\n\n return lut;\n }\n\n var cache = [];\n return function getB(count) {\n if (!cache[count]) {\n cache[count] = buildB(count);\n }\n\n return cache[count];\n };\n }();\n\n function buildFigureFromPatch(mesh, index) {\n var figure = mesh.figures[index];\n (0, _util.assert)(figure.type === \"patch\", \"Unexpected patch mesh figure\");\n var coords = mesh.coords,\n colors = mesh.colors;\n var pi = figure.coords;\n var ci = figure.colors;\n var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n var verticesPerRow = splitXBy + 1;\n var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n var k = 0;\n var cl = new Uint8Array(3),\n cr = new Uint8Array(3);\n var c0 = colors[ci[0]],\n c1 = colors[ci[1]],\n c2 = colors[ci[2]],\n c3 = colors[ci[3]];\n var bRow = getB(splitYBy),\n bCol = getB(splitXBy);\n\n for (var row = 0; row <= splitYBy; row++) {\n cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n for (var col = 0; col <= splitXBy; col++, k++) {\n if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n continue;\n }\n\n var x = 0,\n y = 0;\n var q = 0;\n\n for (var i = 0; i <= 3; i++) {\n for (var j = 0; j <= 3; j++, q++) {\n var m = bRow[row][i] * bCol[col][j];\n x += coords[pi[q]][0] * m;\n y += coords[pi[q]][1] * m;\n }\n }\n\n figureCoords[k] = coords.length;\n coords.push([x, y]);\n figureColors[k] = colors.length;\n var newColor = new Uint8Array(3);\n newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n colors.push(newColor);\n }\n }\n\n figureCoords[0] = pi[0];\n figureColors[0] = ci[0];\n figureCoords[splitXBy] = pi[3];\n figureColors[splitXBy] = ci[1];\n figureCoords[verticesPerRow * splitYBy] = pi[12];\n figureColors[verticesPerRow * splitYBy] = ci[2];\n figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n mesh.figures[index] = {\n type: \"lattice\",\n coords: figureCoords,\n colors: figureColors,\n verticesPerRow: verticesPerRow\n };\n }\n\n function decodeType6Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type6 flag\");\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n ps[5] = coords.length;\n coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n ps[6] = coords.length;\n coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n ps[9] = coords.length;\n coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n ps[10] = coords.length;\n coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n mesh.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function decodeType7Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type7 flag\");\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[9] = pi + 13;\n ps[10] = pi + 14;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[5] = pi + 12;\n ps[6] = pi + 15;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n mesh.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function updateBounds(mesh) {\n var minX = mesh.coords[0][0],\n minY = mesh.coords[0][1],\n maxX = minX,\n maxY = minY;\n\n for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n var x = mesh.coords[i][0],\n y = mesh.coords[i][1];\n minX = minX > x ? x : minX;\n minY = minY > y ? y : minY;\n maxX = maxX < x ? x : maxX;\n maxY = maxY < y ? y : maxY;\n }\n\n mesh.bounds = [minX, minY, maxX, maxY];\n }\n\n function packData(mesh) {\n var i, ii, j, jj;\n var coords = mesh.coords;\n var coordsPacked = new Float32Array(coords.length * 2);\n\n for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n var xy = coords[i];\n coordsPacked[j++] = xy[0];\n coordsPacked[j++] = xy[1];\n }\n\n mesh.coords = coordsPacked;\n var colors = mesh.colors;\n var colorsPacked = new Uint8Array(colors.length * 3);\n\n for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n var c = colors[i];\n colorsPacked[j++] = c[0];\n colorsPacked[j++] = c[1];\n colorsPacked[j++] = c[2];\n }\n\n mesh.colors = colorsPacked;\n var figures = mesh.figures;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n for (j = 0, jj = ps.length; j < jj; j++) {\n ps[j] *= 2;\n cs[j] *= 3;\n }\n }\n }\n\n function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError(\"Mesh data is not a stream\");\n }\n\n var dict = stream.dict;\n this.matrix = matrix;\n this.shadingType = dict.get(\"ShadingType\");\n this.type = \"Pattern\";\n var bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var cs = dict.get(\"ColorSpace\", \"CS\");\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n this.background = dict.has(\"Background\") ? cs.getRgb(dict.get(\"Background\"), 0) : null;\n var fnObj = dict.get(\"Function\");\n var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n this.coords = [];\n this.colors = [];\n this.figures = [];\n var decodeContext = {\n bitsPerCoordinate: dict.get(\"BitsPerCoordinate\"),\n bitsPerComponent: dict.get(\"BitsPerComponent\"),\n bitsPerFlag: dict.get(\"BitsPerFlag\"),\n decode: dict.getArray(\"Decode\"),\n colorFn: fn,\n colorSpace: cs,\n numComps: fn ? 1 : cs.numComps\n };\n var reader = new MeshStreamReader(stream, decodeContext);\n var patchMesh = false;\n\n switch (this.shadingType) {\n case ShadingType.FREE_FORM_MESH:\n decodeType4Shading(this, reader);\n break;\n\n case ShadingType.LATTICE_FORM_MESH:\n var verticesPerRow = dict.get(\"VerticesPerRow\") | 0;\n\n if (verticesPerRow < 2) {\n throw new _util.FormatError(\"Invalid VerticesPerRow\");\n }\n\n decodeType5Shading(this, reader, verticesPerRow);\n break;\n\n case ShadingType.COONS_PATCH_MESH:\n decodeType6Shading(this, reader);\n patchMesh = true;\n break;\n\n case ShadingType.TENSOR_PATCH_MESH:\n decodeType7Shading(this, reader);\n patchMesh = true;\n break;\n\n default:\n (0, _util.unreachable)(\"Unsupported mesh type.\");\n break;\n }\n\n if (patchMesh) {\n updateBounds(this);\n\n for (var i = 0, ii = this.figures.length; i < ii; i++) {\n buildFigureFromPatch(this, i);\n }\n }\n\n updateBounds(this);\n packData(this);\n }\n\n Mesh.prototype = {\n getIR: function Mesh_getIR() {\n return [\"Mesh\", this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n }\n };\n return Mesh;\n }();\n\n Shadings.Dummy = function DummyClosure() {\n function Dummy() {\n this.type = \"Pattern\";\n }\n\n Dummy.prototype = {\n getIR: function Dummy_getIR() {\n return [\"Dummy\"];\n }\n };\n return Dummy;\n }();\n\n function getTilingPatternIR(operatorList, dict, args) {\n var matrix = dict.getArray(\"Matrix\");\n\n var bbox = _util.Util.normalizeRect(dict.getArray(\"BBox\"));\n\n var xstep = dict.get(\"XStep\");\n var ystep = dict.get(\"YStep\");\n var paintType = dict.get(\"PaintType\");\n var tilingType = dict.get(\"TilingType\");\n\n if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox, \"].\"));\n }\n\n return [\"TilingPattern\", args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.bidi = bidi;\n\n var _util = __w_pdfjs_require__(2);\n\n var baseTypes = [\"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"S\", \"B\", \"S\", \"WS\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"B\", \"B\", \"S\", \"WS\", \"ON\", \"ON\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ES\", \"CS\", \"ES\", \"CS\", \"CS\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"CS\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"CS\", \"ON\", \"ET\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"ON\", \"ON\", \"BN\", \"ON\", \"ON\", \"ET\", \"ET\", \"EN\", \"EN\", \"ON\", \"L\", \"ON\", \"ON\", \"ON\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\"];\n var arabicTypes = [\"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ON\", \"ON\", \"AL\", \"ET\", \"ET\", \"AL\", \"CS\", \"AL\", \"ON\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ET\", \"AN\", \"AN\", \"AL\", \"AL\", \"AL\", \"NSM\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\"];\n\n function isOdd(i) {\n return (i & 1) !== 0;\n }\n\n function isEven(i) {\n return (i & 1) === 0;\n }\n\n function findUnequal(arr, start, value) {\n for (var j = start, jj = arr.length; j < jj; ++j) {\n if (arr[j] !== value) {\n return j;\n }\n }\n\n return j;\n }\n\n function setValues(arr, start, end, value) {\n for (var j = start; j < end; ++j) {\n arr[j] = value;\n }\n }\n\n function reverseValues(arr, start, end) {\n for (var i = start, j = end - 1; i < j; ++i, --j) {\n var temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n }\n\n function createBidiText(str, isLTR) {\n var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var dir = \"ltr\";\n\n if (vertical) {\n dir = \"ttb\";\n } else if (!isLTR) {\n dir = \"rtl\";\n }\n\n return {\n str: str,\n dir: dir\n };\n }\n\n var chars = [];\n var types = [];\n\n function bidi(str, startLevel, vertical) {\n var isLTR = true;\n var strLength = str.length;\n\n if (strLength === 0 || vertical) {\n return createBidiText(str, isLTR, vertical);\n }\n\n chars.length = strLength;\n types.length = strLength;\n var numBidi = 0;\n var i, ii;\n\n for (i = 0; i < strLength; ++i) {\n chars[i] = str.charAt(i);\n var charCode = str.charCodeAt(i);\n var charType = \"L\";\n\n if (charCode <= 0x00ff) {\n charType = baseTypes[charCode];\n } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n charType = \"R\";\n } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n charType = arabicTypes[charCode & 0xff];\n\n if (!charType) {\n (0, _util.warn)(\"Bidi: invalid Unicode character \" + charCode.toString(16));\n }\n } else if (0x0700 <= charCode && charCode <= 0x08ac) {\n charType = \"AL\";\n }\n\n if (charType === \"R\" || charType === \"AL\" || charType === \"AN\") {\n numBidi++;\n }\n\n types[i] = charType;\n }\n\n if (numBidi === 0) {\n isLTR = true;\n return createBidiText(str, isLTR);\n }\n\n if (startLevel === -1) {\n if (numBidi / strLength < 0.3) {\n isLTR = true;\n startLevel = 0;\n } else {\n isLTR = false;\n startLevel = 1;\n }\n }\n\n var levels = [];\n\n for (i = 0; i < strLength; ++i) {\n levels[i] = startLevel;\n }\n\n var e = isOdd(startLevel) ? \"R\" : \"L\";\n var sor = e;\n var eor = sor;\n var lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"NSM\") {\n types[i] = lastType;\n } else {\n lastType = types[i];\n }\n }\n\n lastType = sor;\n var t;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"EN\") {\n types[i] = lastType === \"AL\" ? \"AN\" : \"EN\";\n } else if (t === \"R\" || t === \"L\" || t === \"AL\") {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"AL\") {\n types[i] = \"R\";\n }\n }\n\n for (i = 1; i < strLength - 1; ++i) {\n if (types[i] === \"ES\" && types[i - 1] === \"EN\" && types[i + 1] === \"EN\") {\n types[i] = \"EN\";\n }\n\n if (types[i] === \"CS\" && (types[i - 1] === \"EN\" || types[i - 1] === \"AN\") && types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"EN\") {\n var j;\n\n for (j = i - 1; j >= 0; --j) {\n if (types[j] !== \"ET\") {\n break;\n }\n\n types[j] = \"EN\";\n }\n\n for (j = i + 1; j < strLength; ++j) {\n if (types[j] !== \"ET\") {\n break;\n }\n\n types[j] = \"EN\";\n }\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"WS\" || t === \"ES\" || t === \"ET\" || t === \"CS\") {\n types[i] = \"ON\";\n }\n }\n\n lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"EN\") {\n types[i] = lastType === \"L\" ? \"L\" : \"EN\";\n } else if (t === \"R\" || t === \"L\") {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n var end = findUnequal(types, i + 1, \"ON\");\n var before = sor;\n\n if (i > 0) {\n before = types[i - 1];\n }\n\n var after = eor;\n\n if (end + 1 < strLength) {\n after = types[end + 1];\n }\n\n if (before !== \"L\") {\n before = \"R\";\n }\n\n if (after !== \"L\") {\n after = \"R\";\n }\n\n if (before === after) {\n setValues(types, i, end, before);\n }\n\n i = end - 1;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n types[i] = e;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (isEven(levels[i])) {\n if (t === \"R\") {\n levels[i] += 1;\n } else if (t === \"AN\" || t === \"EN\") {\n levels[i] += 2;\n }\n } else {\n if (t === \"L\" || t === \"AN\" || t === \"EN\") {\n levels[i] += 1;\n }\n }\n }\n\n var highestLevel = -1;\n var lowestOddLevel = 99;\n var level;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n level = levels[i];\n\n if (highestLevel < level) {\n highestLevel = level;\n }\n\n if (lowestOddLevel > level && isOdd(level)) {\n lowestOddLevel = level;\n }\n }\n\n for (level = highestLevel; level >= lowestOddLevel; --level) {\n var start = -1;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n if (levels[i] < level) {\n if (start >= 0) {\n reverseValues(chars, start, i);\n start = -1;\n }\n } else if (start < 0) {\n start = i;\n }\n }\n\n if (start >= 0) {\n reverseValues(chars, start, levels.length);\n }\n }\n\n for (i = 0, ii = chars.length; i < ii; ++i) {\n var ch = chars[i];\n\n if (ch === \"<\" || ch === \">\") {\n chars[i] = \"\";\n }\n }\n\n return createBidiText(chars.join(\"\"), isLTR);\n }\n /***/\n\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getMetrics = void 0;\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Courier\"] = 600;\n t[\"Courier-Bold\"] = 600;\n t[\"Courier-BoldOblique\"] = 600;\n t[\"Courier-Oblique\"] = 600;\n t[\"Helvetica\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 278;\n t[\"exclam\"] = 278;\n t[\"quotedbl\"] = 355;\n t[\"numbersign\"] = 556;\n t[\"dollar\"] = 556;\n t[\"percent\"] = 889;\n t[\"ampersand\"] = 667;\n t[\"quoteright\"] = 222;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asterisk\"] = 389;\n t[\"plus\"] = 584;\n t[\"comma\"] = 278;\n t[\"hyphen\"] = 333;\n t[\"period\"] = 278;\n t[\"slash\"] = 278;\n t[\"zero\"] = 556;\n t[\"one\"] = 556;\n t[\"two\"] = 556;\n t[\"three\"] = 556;\n t[\"four\"] = 556;\n t[\"five\"] = 556;\n t[\"six\"] = 556;\n t[\"seven\"] = 556;\n t[\"eight\"] = 556;\n t[\"nine\"] = 556;\n t[\"colon\"] = 278;\n t[\"semicolon\"] = 278;\n t[\"less\"] = 584;\n t[\"equal\"] = 584;\n t[\"greater\"] = 584;\n t[\"question\"] = 556;\n t[\"at\"] = 1015;\n t[\"A\"] = 667;\n t[\"B\"] = 667;\n t[\"C\"] = 722;\n t[\"D\"] = 722;\n t[\"E\"] = 667;\n t[\"F\"] = 611;\n t[\"G\"] = 778;\n t[\"H\"] = 722;\n t[\"I\"] = 278;\n t[\"J\"] = 500;\n t[\"K\"] = 667;\n t[\"L\"] = 556;\n t[\"M\"] = 833;\n t[\"N\"] = 722;\n t[\"O\"] = 778;\n t[\"P\"] = 667;\n t[\"Q\"] = 778;\n t[\"R\"] = 722;\n t[\"S\"] = 667;\n t[\"T\"] = 611;\n t[\"U\"] = 722;\n t[\"V\"] = 667;\n t[\"W\"] = 944;\n t[\"X\"] = 667;\n t[\"Y\"] = 667;\n t[\"Z\"] = 611;\n t[\"bracketleft\"] = 278;\n t[\"backslash\"] = 278;\n t[\"bracketright\"] = 278;\n t[\"asciicircum\"] = 469;\n t[\"underscore\"] = 556;\n t[\"quoteleft\"] = 222;\n t[\"a\"] = 556;\n t[\"b\"] = 556;\n t[\"c\"] = 500;\n t[\"d\"] = 556;\n t[\"e\"] = 556;\n t[\"f\"] = 278;\n t[\"g\"] = 556;\n t[\"h\"] = 556;\n t[\"i\"] = 222;\n t[\"j\"] = 222;\n t[\"k\"] = 500;\n t[\"l\"] = 222;\n t[\"m\"] = 833;\n t[\"n\"] = 556;\n t[\"o\"] = 556;\n t[\"p\"] = 556;\n t[\"q\"] = 556;\n t[\"r\"] = 333;\n t[\"s\"] = 500;\n t[\"t\"] = 278;\n t[\"u\"] = 556;\n t[\"v\"] = 500;\n t[\"w\"] = 722;\n t[\"x\"] = 500;\n t[\"y\"] = 500;\n t[\"z\"] = 500;\n t[\"braceleft\"] = 334;\n t[\"bar\"] = 260;\n t[\"braceright\"] = 334;\n t[\"asciitilde\"] = 584;\n t[\"exclamdown\"] = 333;\n t[\"cent\"] = 556;\n t[\"sterling\"] = 556;\n t[\"fraction\"] = 167;\n t[\"yen\"] = 556;\n t[\"florin\"] = 556;\n t[\"section\"] = 556;\n t[\"currency\"] = 556;\n t[\"quotesingle\"] = 191;\n t[\"quotedblleft\"] = 333;\n t[\"guillemotleft\"] = 556;\n t[\"guilsinglleft\"] = 333;\n t[\"guilsinglright\"] = 333;\n t[\"fi\"] = 500;\n t[\"fl\"] = 500;\n t[\"endash\"] = 556;\n t[\"dagger\"] = 556;\n t[\"daggerdbl\"] = 556;\n t[\"periodcentered\"] = 278;\n t[\"paragraph\"] = 537;\n t[\"bullet\"] = 350;\n t[\"quotesinglbase\"] = 222;\n t[\"quotedblbase\"] = 333;\n t[\"quotedblright\"] = 333;\n t[\"guillemotright\"] = 556;\n t[\"ellipsis\"] = 1000;\n t[\"perthousand\"] = 1000;\n t[\"questiondown\"] = 611;\n t[\"grave\"] = 333;\n t[\"acute\"] = 333;\n t[\"circumflex\"] = 333;\n t[\"tilde\"] = 333;\n t[\"macron\"] = 333;\n t[\"breve\"] = 333;\n t[\"dotaccent\"] = 333;\n t[\"dieresis\"] = 333;\n t[\"ring\"] = 333;\n t[\"cedilla\"] = 333;\n t[\"hungarumlaut\"] = 333;\n t[\"ogonek\"] = 333;\n t[\"caron\"] = 333;\n t[\"emdash\"] = 1000;\n t[\"AE\"] = 1000;\n t[\"ordfeminine\"] = 370;\n t[\"Lslash\"] = 556;\n t[\"Oslash\"] = 778;\n t[\"OE\"] = 1000;\n t[\"ordmasculine\"] = 365;\n t[\"ae\"] = 889;\n t[\"dotlessi\"] = 278;\n t[\"lslash\"] = 222;\n t[\"oslash\"] = 611;\n t[\"oe\"] = 944;\n t[\"germandbls\"] = 611;\n t[\"Idieresis\"] = 278;\n t[\"eacute\"] = 556;\n t[\"abreve\"] = 556;\n t[\"uhungarumlaut\"] = 556;\n t[\"ecaron\"] = 556;\n t[\"Ydieresis\"] = 667;\n t[\"divide\"] = 584;\n t[\"Yacute\"] = 667;\n t[\"Acircumflex\"] = 667;\n t[\"aacute\"] = 556;\n t[\"Ucircumflex\"] = 722;\n t[\"yacute\"] = 500;\n t[\"scommaaccent\"] = 500;\n t[\"ecircumflex\"] = 556;\n t[\"Uring\"] = 722;\n t[\"Udieresis\"] = 722;\n t[\"aogonek\"] = 556;\n t[\"Uacute\"] = 722;\n t[\"uogonek\"] = 556;\n t[\"Edieresis\"] = 667;\n t[\"Dcroat\"] = 722;\n t[\"commaaccent\"] = 250;\n t[\"copyright\"] = 737;\n t[\"Emacron\"] = 667;\n t[\"ccaron\"] = 500;\n t[\"aring\"] = 556;\n t[\"Ncommaaccent\"] = 722;\n t[\"lacute\"] = 222;\n t[\"agrave\"] = 556;\n t[\"Tcommaaccent\"] = 611;\n t[\"Cacute\"] = 722;\n t[\"atilde\"] = 556;\n t[\"Edotaccent\"] = 667;\n t[\"scaron\"] = 500;\n t[\"scedilla\"] = 500;\n t[\"iacute\"] = 278;\n t[\"lozenge\"] = 471;\n t[\"Rcaron\"] = 722;\n t[\"Gcommaaccent\"] = 778;\n t[\"ucircumflex\"] = 556;\n t[\"acircumflex\"] = 556;\n t[\"Amacron\"] = 667;\n t[\"rcaron\"] = 333;\n t[\"ccedilla\"] = 500;\n t[\"Zdotaccent\"] = 611;\n t[\"Thorn\"] = 667;\n t[\"Omacron\"] = 778;\n t[\"Racute\"] = 722;\n t[\"Sacute\"] = 667;\n t[\"dcaron\"] = 643;\n t[\"Umacron\"] = 722;\n t[\"uring\"] = 556;\n t[\"threesuperior\"] = 333;\n t[\"Ograve\"] = 778;\n t[\"Agrave\"] = 667;\n t[\"Abreve\"] = 667;\n t[\"multiply\"] = 584;\n t[\"uacute\"] = 556;\n t[\"Tcaron\"] = 611;\n t[\"partialdiff\"] = 476;\n t[\"ydieresis\"] = 500;\n t[\"Nacute\"] = 722;\n t[\"icircumflex\"] = 278;\n t[\"Ecircumflex\"] = 667;\n t[\"adieresis\"] = 556;\n t[\"edieresis\"] = 556;\n t[\"cacute\"] = 500;\n t[\"nacute\"] = 556;\n t[\"umacron\"] = 556;\n t[\"Ncaron\"] = 722;\n t[\"Iacute\"] = 278;\n t[\"plusminus\"] = 584;\n t[\"brokenbar\"] = 260;\n t[\"registered\"] = 737;\n t[\"Gbreve\"] = 778;\n t[\"Idotaccent\"] = 278;\n t[\"summation\"] = 600;\n t[\"Egrave\"] = 667;\n t[\"racute\"] = 333;\n t[\"omacron\"] = 556;\n t[\"Zacute\"] = 611;\n t[\"Zcaron\"] = 611;\n t[\"greaterequal\"] = 549;\n t[\"Eth\"] = 722;\n t[\"Ccedilla\"] = 722;\n t[\"lcommaaccent\"] = 222;\n t[\"tcaron\"] = 317;\n t[\"eogonek\"] = 556;\n t[\"Uogonek\"] = 722;\n t[\"Aacute\"] = 667;\n t[\"Adieresis\"] = 667;\n t[\"egrave\"] = 556;\n t[\"zacute\"] = 500;\n t[\"iogonek\"] = 222;\n t[\"Oacute\"] = 778;\n t[\"oacute\"] = 556;\n t[\"amacron\"] = 556;\n t[\"sacute\"] = 500;\n t[\"idieresis\"] = 278;\n t[\"Ocircumflex\"] = 778;\n t[\"Ugrave\"] = 722;\n t[\"Delta\"] = 612;\n t[\"thorn\"] = 556;\n t[\"twosuperior\"] = 333;\n t[\"Odieresis\"] = 778;\n t[\"mu\"] = 556;\n t[\"igrave\"] = 278;\n t[\"ohungarumlaut\"] = 556;\n t[\"Eogonek\"] = 667;\n t[\"dcroat\"] = 556;\n t[\"threequarters\"] = 834;\n t[\"Scedilla\"] = 667;\n t[\"lcaron\"] = 299;\n t[\"Kcommaaccent\"] = 667;\n t[\"Lacute\"] = 556;\n t[\"trademark\"] = 1000;\n t[\"edotaccent\"] = 556;\n t[\"Igrave\"] = 278;\n t[\"Imacron\"] = 278;\n t[\"Lcaron\"] = 556;\n t[\"onehalf\"] = 834;\n t[\"lessequal\"] = 549;\n t[\"ocircumflex\"] = 556;\n t[\"ntilde\"] = 556;\n t[\"Uhungarumlaut\"] = 722;\n t[\"Eacute\"] = 667;\n t[\"emacron\"] = 556;\n t[\"gbreve\"] = 556;\n t[\"onequarter\"] = 834;\n t[\"Scaron\"] = 667;\n t[\"Scommaaccent\"] = 667;\n t[\"Ohungarumlaut\"] = 778;\n t[\"degree\"] = 400;\n t[\"ograve\"] = 556;\n t[\"Ccaron\"] = 722;\n t[\"ugrave\"] = 556;\n t[\"radical\"] = 453;\n t[\"Dcaron\"] = 722;\n t[\"rcommaaccent\"] = 333;\n t[\"Ntilde\"] = 722;\n t[\"otilde\"] = 556;\n t[\"Rcommaaccent\"] = 722;\n t[\"Lcommaaccent\"] = 556;\n t[\"Atilde\"] = 667;\n t[\"Aogonek\"] = 667;\n t[\"Aring\"] = 667;\n t[\"Otilde\"] = 778;\n t[\"zdotaccent\"] = 500;\n t[\"Ecaron\"] = 667;\n t[\"Iogonek\"] = 278;\n t[\"kcommaaccent\"] = 500;\n t[\"minus\"] = 584;\n t[\"Icircumflex\"] = 278;\n t[\"ncaron\"] = 556;\n t[\"tcommaaccent\"] = 278;\n t[\"logicalnot\"] = 584;\n t[\"odieresis\"] = 556;\n t[\"udieresis\"] = 556;\n t[\"notequal\"] = 549;\n t[\"gcommaaccent\"] = 556;\n t[\"eth\"] = 556;\n t[\"zcaron\"] = 500;\n t[\"ncommaaccent\"] = 556;\n t[\"onesuperior\"] = 333;\n t[\"imacron\"] = 278;\n t[\"Euro\"] = 556;\n });\n t[\"Helvetica-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 278;\n t[\"exclam\"] = 333;\n t[\"quotedbl\"] = 474;\n t[\"numbersign\"] = 556;\n t[\"dollar\"] = 556;\n t[\"percent\"] = 889;\n t[\"ampersand\"] = 722;\n t[\"quoteright\"] = 278;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asterisk\"] = 389;\n t[\"plus\"] = 584;\n t[\"comma\"] = 278;\n t[\"hyphen\"] = 333;\n t[\"period\"] = 278;\n t[\"slash\"] = 278;\n t[\"zero\"] = 556;\n t[\"one\"] = 556;\n t[\"two\"] = 556;\n t[\"three\"] = 556;\n t[\"four\"] = 556;\n t[\"five\"] = 556;\n t[\"six\"] = 556;\n t[\"seven\"] = 556;\n t[\"eight\"] = 556;\n t[\"nine\"] = 556;\n t[\"colon\"] = 333;\n t[\"semicolon\"] = 333;\n t[\"less\"] = 584;\n t[\"equal\"] = 584;\n t[\"greater\"] = 584;\n t[\"question\"] = 611;\n t[\"at\"] = 975;\n t[\"A\"] = 722;\n t[\"B\"] = 722;\n t[\"C\"] = 722;\n t[\"D\"] = 722;\n t[\"E\"] = 667;\n t[\"F\"] = 611;\n t[\"G\"] = 778;\n t[\"H\"] = 722;\n t[\"I\"] = 278;\n t[\"J\"] = 556;\n t[\"K\"] = 722;\n t[\"L\"] = 611;\n t[\"M\"] = 833;\n t[\"N\"] = 722;\n t[\"O\"] = 778;\n t[\"P\"] = 667;\n t[\"Q\"] = 778;\n t[\"R\"] = 722;\n t[\"S\"] = 667;\n t[\"T\"] = 611;\n t[\"U\"] = 722;\n t[\"V\"] = 667;\n t[\"W\"] = 944;\n t[\"X\"] = 667;\n t[\"Y\"] = 667;\n t[\"Z\"] = 611;\n t[\"bracketleft\"] = 333;\n t[\"backslash\"] = 278;\n t[\"bracketright\"] = 333;\n t[\"asciicircum\"] = 584;\n t[\"underscore\"] = 556;\n t[\"quoteleft\"] = 278;\n t[\"a\"] = 556;\n t[\"b\"] = 611;\n t[\"c\"] = 556;\n t[\"d\"] = 611;\n t[\"e\"] = 556;\n t[\"f\"] = 333;\n t[\"g\"] = 611;\n t[\"h\"] = 611;\n t[\"i\"] = 278;\n t[\"j\"] = 278;\n t[\"k\"] = 556;\n t[\"l\"] = 278;\n t[\"m\"] = 889;\n t[\"n\"] = 611;\n t[\"o\"] = 611;\n t[\"p\"] = 611;\n t[\"q\"] = 611;\n t[\"r\"] = 389;\n t[\"s\"] = 556;\n t[\"t\"] = 333;\n t[\"u\"] = 611;\n t[\"v\"] = 556;\n t[\"w\"] = 778;\n t[\"x\"] = 556;\n t[\"y\"] = 556;\n t[\"z\"] = 500;\n t[\"braceleft\"] = 389;\n t[\"bar\"] = 280;\n t[\"braceright\"] = 389;\n t[\"asciitilde\"] = 584;\n t[\"exclamdown\"] = 333;\n t[\"cent\"] = 556;\n t[\"sterling\"] = 556;\n t[\"fraction\"] = 167;\n t[\"yen\"] = 556;\n t[\"florin\"] = 556;\n t[\"section\"] = 556;\n t[\"currency\"] = 556;\n t[\"quotesingle\"] = 238;\n t[\"quotedblleft\"] = 500;\n t[\"guillemotleft\"] = 556;\n t[\"guilsinglleft\"] = 333;\n t[\"guilsinglright\"] = 333;\n t[\"fi\"] = 611;\n t[\"fl\"] = 611;\n t[\"endash\"] = 556;\n t[\"dagger\"] = 556;\n t[\"daggerdbl\"] = 556;\n t[\"periodcentered\"] = 278;\n t[\"paragraph\"] = 556;\n t[\"bullet\"] = 350;\n t[\"quotesinglbase\"] = 278;\n t[\"quotedblbase\"] = 500;\n t[\"quotedblright\"] = 500;\n t[\"guillemotright\"] = 556;\n t[\"ellipsis\"] = 1000;\n t[\"perthousand\"] = 1000;\n t[\"questiondown\"] = 611;\n t[\"grave\"] = 333;\n t[\"acute\"] = 333;\n t[\"circumflex\"] = 333;\n t[\"tilde\"] = 333;\n t[\"macron\"] = 333;\n t[\"breve\"] = 333;\n t[\"dotaccent\"] = 333;\n t[\"dieresis\"] = 333;\n t[\"ring\"] = 333;\n t[\"cedilla\"] = 333;\n t[\"hungarumlaut\"] = 333;\n t[\"ogonek\"] = 333;\n t[\"caron\"] = 333;\n t[\"emdash\"] = 1000;\n t[\"AE\"] = 1000;\n t[\"ordfeminine\"] = 370;\n t[\"Lslash\"] = 611;\n t[\"Oslash\"] = 778;\n t[\"OE\"] = 1000;\n t[\"ordmasculine\"] = 365;\n t[\"ae\"] = 889;\n t[\"dotlessi\"] = 278;\n t[\"lslash\"] = 278;\n t[\"oslash\"] = 611;\n t[\"oe\"] = 944;\n t[\"germandbls\"] = 611;\n t[\"Idieresis\"] = 278;\n t[\"eacute\"] = 556;\n t[\"abreve\"] = 556;\n t[\"uhungarumlaut\"] = 611;\n t[\"ecaron\"] = 556;\n t[\"Ydieresis\"] = 667;\n t[\"divide\"] = 584;\n t[\"Yacute\"] = 667;\n t[\"Acircumflex\"] = 722;\n t[\"aacute\"] = 556;\n t[\"Ucircumflex\"] = 722;\n t[\"yacute\"] = 556;\n t[\"scommaaccent\"] = 556;\n t[\"ecircumflex\"] = 556;\n t[\"Uring\"] = 722;\n t[\"Udieresis\"] = 722;\n t[\"aogonek\"] = 556;\n t[\"Uacute\"] = 722;\n t[\"uogonek\"] = 611;\n t[\"Edieresis\"] = 667;\n t[\"Dcroat\"] = 722;\n t[\"commaaccent\"] = 250;\n t[\"copyright\"] = 737;\n t[\"Emacron\"] = 667;\n t[\"ccaron\"] = 556;\n t[\"aring\"] = 556;\n t[\"Ncommaaccent\"] = 722;\n t[\"lacute\"] = 278;\n t[\"agrave\"] = 556;\n t[\"Tcommaaccent\"] = 611;\n t[\"Cacute\"] = 722;\n t[\"atilde\"] = 556;\n t[\"Edotaccent\"] = 667;\n t[\"scaron\"] = 556;\n t[\"scedilla\"] = 556;\n t[\"iacute\"] = 278;\n t[\"lozenge\"] = 494;\n t[\"Rcaron\"] = 722;\n t[\"Gcommaaccent\"] = 778;\n t[\"ucircumflex\"] = 611;\n t[\"acircumflex\"] = 556;\n t[\"Amacron\"] = 722;\n t[\"rcaron\"] = 389;\n t[\"ccedilla\"] = 556;\n t[\"Zdotaccent\"] = 611;\n t[\"Thorn\"] = 667;\n t[\"Omacron\"] = 778;\n t[\"Racute\"] = 722;\n t[\"Sacute\"] = 667;\n t[\"dcaron\"] = 743;\n t[\"Umacron\"] = 722;\n t[\"uring\"] = 611;\n t[\"threesuperior\"] = 333;\n t[\"Ograve\"] = 778;\n t[\"Agrave\"] = 722;\n t[\"Abreve\"] = 722;\n t[\"multiply\"] = 584;\n t[\"uacute\"] = 611;\n t[\"Tcaron\"] = 611;\n t[\"partialdiff\"] = 494;\n t[\"ydieresis\"] = 556;\n t[\"Nacute\"] = 722;\n t[\"icircumflex\"] = 278;\n t[\"Ecircumflex\"] = 667;\n t[\"adieresis\"] = 556;\n t[\"edieresis\"] = 556;\n t[\"cacute\"] = 556;\n t[\"nacute\"] = 611;\n t[\"umacron\"] = 611;\n t[\"Ncaron\"] = 722;\n t[\"Iacute\"] = 278;\n t[\"plusminus\"] = 584;\n t[\"brokenbar\"] = 280;\n t[\"registered\"] = 737;\n t[\"Gbreve\"] = 778;\n t[\"Idotaccent\"] = 278;\n t[\"summation\"] = 600;\n t[\"Egrave\"] = 667;\n t[\"racute\"] = 389;\n t[\"omacron\"] = 611;\n t[\"Zacute\"] = 611;\n t[\"Zcaron\"] = 611;\n t[\"greaterequal\"] = 549;\n t[\"Eth\"] = 722;\n t[\"Ccedilla\"] = 722;\n t[\"lcommaaccent\"] = 278;\n t[\"tcaron\"] = 389;\n t[\"eogonek\"] = 556;\n t[\"Uogonek\"] = 722;\n t[\"Aacute\"] = 722;\n t[\"Adieresis\"] = 722;\n t[\"egrave\"] = 556;\n t[\"zacute\"] = 500;\n t[\"iogonek\"] = 278;\n t[\"Oacute\"] = 778;\n t[\"oacute\"] = 611;\n t[\"amacron\"] = 556;\n t[\"sacute\"] = 556;\n t[\"idieresis\"] = 278;\n t[\"Ocircumflex\"] = 778;\n t[\"Ugrave\"] = 722;\n t[\"Delta\"] = 612;\n t[\"thorn\"] = 611;\n t[\"twosuperior\"] = 333;\n t[\"Odieresis\"] = 778;\n t[\"mu\"] = 611;\n t[\"igrave\"] = 278;\n t[\"ohungarumlaut\"] = 611;\n t[\"Eogonek\"] = 667;\n t[\"dcroat\"] = 611;\n t[\"threequarters\"] = 834;\n t[\"Scedilla\"] = 667;\n t[\"lcaron\"] = 400;\n t[\"Kcommaaccent\"] = 722;\n t[\"Lacute\"] = 611;\n t[\"trademark\"] = 1000;\n t[\"edotaccent\"] = 556;\n t[\"Igrave\"] = 278;\n t[\"Imacron\"] = 278;\n t[\"Lcaron\"] = 611;\n t[\"onehalf\"] = 834;\n t[\"lessequal\"] = 549;\n t[\"ocircumflex\"] = 611;\n t[\"ntilde\"] = 611;\n t[\"Uhungarumlaut\"] = 722;\n t[\"Eacute\"] = 667;\n t[\"emacron\"] = 556;\n t[\"gbreve\"] = 611;\n t[\"onequarter\"] = 834;\n t[\"Scaron\"] = 667;\n t[\"Scommaaccent\"] = 667;\n t[\"Ohungarumlaut\"] = 778;\n t[\"degree\"] = 400;\n t[\"ograve\"] = 611;\n t[\"Ccaron\"] = 722;\n t[\"ugrave\"] = 611;\n t[\"radical\"] = 549;\n t[\"Dcaron\"] = 722;\n t[\"rcommaaccent\"] = 389;\n t[\"Ntilde\"] = 722;\n t[\"otilde\"] = 611;\n t[\"Rcommaaccent\"] = 722;\n t[\"Lcommaaccent\"] = 611;\n t[\"Atilde\"] = 722;\n t[\"Aogonek\"] = 722;\n t[\"Aring\"] = 722;\n t[\"Otilde\"] = 778;\n t[\"zdotaccent\"] = 500;\n t[\"Ecaron\"] = 667;\n t[\"Iogonek\"] = 278;\n t[\"kcommaaccent\"] = 556;\n t[\"minus\"] = 584;\n t[\"Icircumflex\"] = 278;\n t[\"ncaron\"] = 611;\n t[\"tcommaaccent\"] = 333;\n t[\"logicalnot\"] = 584;\n t[\"odieresis\"] = 611;\n t[\"udieresis\"] = 611;\n t[\"notequal\"] = 549;\n t[\"gcommaaccent\"] = 611;\n t[\"eth\"] = 611;\n t[\"zcaron\"] = 500;\n t[\"ncommaaccent\"] = 611;\n t[\"onesuperior\"] = 333;\n t[\"imacron\"] = 278;\n t[\"Euro\"] = 556;\n });\n t[\"Helvetica-BoldOblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 278;\n t[\"exclam\"] = 333;\n t[\"quotedbl\"] = 474;\n t[\"numbersign\"] = 556;\n t[\"dollar\"] = 556;\n t[\"percent\"] = 889;\n t[\"ampersand\"] = 722;\n t[\"quoteright\"] = 278;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asterisk\"] = 389;\n t[\"plus\"] = 584;\n t[\"comma\"] = 278;\n t[\"hyphen\"] = 333;\n t[\"period\"] = 278;\n t[\"slash\"] = 278;\n t[\"zero\"] = 556;\n t[\"one\"] = 556;\n t[\"two\"] = 556;\n t[\"three\"] = 556;\n t[\"four\"] = 556;\n t[\"five\"] = 556;\n t[\"six\"] = 556;\n t[\"seven\"] = 556;\n t[\"eight\"] = 556;\n t[\"nine\"] = 556;\n t[\"colon\"] = 333;\n t[\"semicolon\"] = 333;\n t[\"less\"] = 584;\n t[\"equal\"] = 584;\n t[\"greater\"] = 584;\n t[\"question\"] = 611;\n t[\"at\"] = 975;\n t[\"A\"] = 722;\n t[\"B\"] = 722;\n t[\"C\"] = 722;\n t[\"D\"] = 722;\n t[\"E\"] = 667;\n t[\"F\"] = 611;\n t[\"G\"] = 778;\n t[\"H\"] = 722;\n t[\"I\"] = 278;\n t[\"J\"] = 556;\n t[\"K\"] = 722;\n t[\"L\"] = 611;\n t[\"M\"] = 833;\n t[\"N\"] = 722;\n t[\"O\"] = 778;\n t[\"P\"] = 667;\n t[\"Q\"] = 778;\n t[\"R\"] = 722;\n t[\"S\"] = 667;\n t[\"T\"] = 611;\n t[\"U\"] = 722;\n t[\"V\"] = 667;\n t[\"W\"] = 944;\n t[\"X\"] = 667;\n t[\"Y\"] = 667;\n t[\"Z\"] = 611;\n t[\"bracketleft\"] = 333;\n t[\"backslash\"] = 278;\n t[\"bracketright\"] = 333;\n t[\"asciicircum\"] = 584;\n t[\"underscore\"] = 556;\n t[\"quoteleft\"] = 278;\n t[\"a\"] = 556;\n t[\"b\"] = 611;\n t[\"c\"] = 556;\n t[\"d\"] = 611;\n t[\"e\"] = 556;\n t[\"f\"] = 333;\n t[\"g\"] = 611;\n t[\"h\"] = 611;\n t[\"i\"] = 278;\n t[\"j\"] = 278;\n t[\"k\"] = 556;\n t[\"l\"] = 278;\n t[\"m\"] = 889;\n t[\"n\"] = 611;\n t[\"o\"] = 611;\n t[\"p\"] = 611;\n t[\"q\"] = 611;\n t[\"r\"] = 389;\n t[\"s\"] = 556;\n t[\"t\"] = 333;\n t[\"u\"] = 611;\n t[\"v\"] = 556;\n t[\"w\"] = 778;\n t[\"x\"] = 556;\n t[\"y\"] = 556;\n t[\"z\"] = 500;\n t[\"braceleft\"] = 389;\n t[\"bar\"] = 280;\n t[\"braceright\"] = 389;\n t[\"asciitilde\"] = 584;\n t[\"exclamdown\"] = 333;\n t[\"cent\"] = 556;\n t[\"sterling\"] = 556;\n t[\"fraction\"] = 167;\n t[\"yen\"] = 556;\n t[\"florin\"] = 556;\n t[\"section\"] = 556;\n t[\"currency\"] = 556;\n t[\"quotesingle\"] = 238;\n t[\"quotedblleft\"] = 500;\n t[\"guillemotleft\"] = 556;\n t[\"guilsinglleft\"] = 333;\n t[\"guilsinglright\"] = 333;\n t[\"fi\"] = 611;\n t[\"fl\"] = 611;\n t[\"endash\"] = 556;\n t[\"dagger\"] = 556;\n t[\"daggerdbl\"] = 556;\n t[\"periodcentered\"] = 278;\n t[\"paragraph\"] = 556;\n t[\"bullet\"] = 350;\n t[\"quotesinglbase\"] = 278;\n t[\"quotedblbase\"] = 500;\n t[\"quotedblright\"] = 500;\n t[\"guillemotright\"] = 556;\n t[\"ellipsis\"] = 1000;\n t[\"perthousand\"] = 1000;\n t[\"questiondown\"] = 611;\n t[\"grave\"] = 333;\n t[\"acute\"] = 333;\n t[\"circumflex\"] = 333;\n t[\"tilde\"] = 333;\n t[\"macron\"] = 333;\n t[\"breve\"] = 333;\n t[\"dotaccent\"] = 333;\n t[\"dieresis\"] = 333;\n t[\"ring\"] = 333;\n t[\"cedilla\"] = 333;\n t[\"hungarumlaut\"] = 333;\n t[\"ogonek\"] = 333;\n t[\"caron\"] = 333;\n t[\"emdash\"] = 1000;\n t[\"AE\"] = 1000;\n t[\"ordfeminine\"] = 370;\n t[\"Lslash\"] = 611;\n t[\"Oslash\"] = 778;\n t[\"OE\"] = 1000;\n t[\"ordmasculine\"] = 365;\n t[\"ae\"] = 889;\n t[\"dotlessi\"] = 278;\n t[\"lslash\"] = 278;\n t[\"oslash\"] = 611;\n t[\"oe\"] = 944;\n t[\"germandbls\"] = 611;\n t[\"Idieresis\"] = 278;\n t[\"eacute\"] = 556;\n t[\"abreve\"] = 556;\n t[\"uhungarumlaut\"] = 611;\n t[\"ecaron\"] = 556;\n t[\"Ydieresis\"] = 667;\n t[\"divide\"] = 584;\n t[\"Yacute\"] = 667;\n t[\"Acircumflex\"] = 722;\n t[\"aacute\"] = 556;\n t[\"Ucircumflex\"] = 722;\n t[\"yacute\"] = 556;\n t[\"scommaaccent\"] = 556;\n t[\"ecircumflex\"] = 556;\n t[\"Uring\"] = 722;\n t[\"Udieresis\"] = 722;\n t[\"aogonek\"] = 556;\n t[\"Uacute\"] = 722;\n t[\"uogonek\"] = 611;\n t[\"Edieresis\"] = 667;\n t[\"Dcroat\"] = 722;\n t[\"commaaccent\"] = 250;\n t[\"copyright\"] = 737;\n t[\"Emacron\"] = 667;\n t[\"ccaron\"] = 556;\n t[\"aring\"] = 556;\n t[\"Ncommaaccent\"] = 722;\n t[\"lacute\"] = 278;\n t[\"agrave\"] = 556;\n t[\"Tcommaaccent\"] = 611;\n t[\"Cacute\"] = 722;\n t[\"atilde\"] = 556;\n t[\"Edotaccent\"] = 667;\n t[\"scaron\"] = 556;\n t[\"scedilla\"] = 556;\n t[\"iacute\"] = 278;\n t[\"lozenge\"] = 494;\n t[\"Rcaron\"] = 722;\n t[\"Gcommaaccent\"] = 778;\n t[\"ucircumflex\"] = 611;\n t[\"acircumflex\"] = 556;\n t[\"Amacron\"] = 722;\n t[\"rcaron\"] = 389;\n t[\"ccedilla\"] = 556;\n t[\"Zdotaccent\"] = 611;\n t[\"Thorn\"] = 667;\n t[\"Omacron\"] = 778;\n t[\"Racute\"] = 722;\n t[\"Sacute\"] = 667;\n t[\"dcaron\"] = 743;\n t[\"Umacron\"] = 722;\n t[\"uring\"] = 611;\n t[\"threesuperior\"] = 333;\n t[\"Ograve\"] = 778;\n t[\"Agrave\"] = 722;\n t[\"Abreve\"] = 722;\n t[\"multiply\"] = 584;\n t[\"uacute\"] = 611;\n t[\"Tcaron\"] = 611;\n t[\"partialdiff\"] = 494;\n t[\"ydieresis\"] = 556;\n t[\"Nacute\"] = 722;\n t[\"icircumflex\"] = 278;\n t[\"Ecircumflex\"] = 667;\n t[\"adieresis\"] = 556;\n t[\"edieresis\"] = 556;\n t[\"cacute\"] = 556;\n t[\"nacute\"] = 611;\n t[\"umacron\"] = 611;\n t[\"Ncaron\"] = 722;\n t[\"Iacute\"] = 278;\n t[\"plusminus\"] = 584;\n t[\"brokenbar\"] = 280;\n t[\"registered\"] = 737;\n t[\"Gbreve\"] = 778;\n t[\"Idotaccent\"] = 278;\n t[\"summation\"] = 600;\n t[\"Egrave\"] = 667;\n t[\"racute\"] = 389;\n t[\"omacron\"] = 611;\n t[\"Zacute\"] = 611;\n t[\"Zcaron\"] = 611;\n t[\"greaterequal\"] = 549;\n t[\"Eth\"] = 722;\n t[\"Ccedilla\"] = 722;\n t[\"lcommaaccent\"] = 278;\n t[\"tcaron\"] = 389;\n t[\"eogonek\"] = 556;\n t[\"Uogonek\"] = 722;\n t[\"Aacute\"] = 722;\n t[\"Adieresis\"] = 722;\n t[\"egrave\"] = 556;\n t[\"zacute\"] = 500;\n t[\"iogonek\"] = 278;\n t[\"Oacute\"] = 778;\n t[\"oacute\"] = 611;\n t[\"amacron\"] = 556;\n t[\"sacute\"] = 556;\n t[\"idieresis\"] = 278;\n t[\"Ocircumflex\"] = 778;\n t[\"Ugrave\"] = 722;\n t[\"Delta\"] = 612;\n t[\"thorn\"] = 611;\n t[\"twosuperior\"] = 333;\n t[\"Odieresis\"] = 778;\n t[\"mu\"] = 611;\n t[\"igrave\"] = 278;\n t[\"ohungarumlaut\"] = 611;\n t[\"Eogonek\"] = 667;\n t[\"dcroat\"] = 611;\n t[\"threequarters\"] = 834;\n t[\"Scedilla\"] = 667;\n t[\"lcaron\"] = 400;\n t[\"Kcommaaccent\"] = 722;\n t[\"Lacute\"] = 611;\n t[\"trademark\"] = 1000;\n t[\"edotaccent\"] = 556;\n t[\"Igrave\"] = 278;\n t[\"Imacron\"] = 278;\n t[\"Lcaron\"] = 611;\n t[\"onehalf\"] = 834;\n t[\"lessequal\"] = 549;\n t[\"ocircumflex\"] = 611;\n t[\"ntilde\"] = 611;\n t[\"Uhungarumlaut\"] = 722;\n t[\"Eacute\"] = 667;\n t[\"emacron\"] = 556;\n t[\"gbreve\"] = 611;\n t[\"onequarter\"] = 834;\n t[\"Scaron\"] = 667;\n t[\"Scommaaccent\"] = 667;\n t[\"Ohungarumlaut\"] = 778;\n t[\"degree\"] = 400;\n t[\"ograve\"] = 611;\n t[\"Ccaron\"] = 722;\n t[\"ugrave\"] = 611;\n t[\"radical\"] = 549;\n t[\"Dcaron\"] = 722;\n t[\"rcommaaccent\"] = 389;\n t[\"Ntilde\"] = 722;\n t[\"otilde\"] = 611;\n t[\"Rcommaaccent\"] = 722;\n t[\"Lcommaaccent\"] = 611;\n t[\"Atilde\"] = 722;\n t[\"Aogonek\"] = 722;\n t[\"Aring\"] = 722;\n t[\"Otilde\"] = 778;\n t[\"zdotaccent\"] = 500;\n t[\"Ecaron\"] = 667;\n t[\"Iogonek\"] = 278;\n t[\"kcommaaccent\"] = 556;\n t[\"minus\"] = 584;\n t[\"Icircumflex\"] = 278;\n t[\"ncaron\"] = 611;\n t[\"tcommaaccent\"] = 333;\n t[\"logicalnot\"] = 584;\n t[\"odieresis\"] = 611;\n t[\"udieresis\"] = 611;\n t[\"notequal\"] = 549;\n t[\"gcommaaccent\"] = 611;\n t[\"eth\"] = 611;\n t[\"zcaron\"] = 500;\n t[\"ncommaaccent\"] = 611;\n t[\"onesuperior\"] = 333;\n t[\"imacron\"] = 278;\n t[\"Euro\"] = 556;\n });\n t[\"Helvetica-Oblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 278;\n t[\"exclam\"] = 278;\n t[\"quotedbl\"] = 355;\n t[\"numbersign\"] = 556;\n t[\"dollar\"] = 556;\n t[\"percent\"] = 889;\n t[\"ampersand\"] = 667;\n t[\"quoteright\"] = 222;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asterisk\"] = 389;\n t[\"plus\"] = 584;\n t[\"comma\"] = 278;\n t[\"hyphen\"] = 333;\n t[\"period\"] = 278;\n t[\"slash\"] = 278;\n t[\"zero\"] = 556;\n t[\"one\"] = 556;\n t[\"two\"] = 556;\n t[\"three\"] = 556;\n t[\"four\"] = 556;\n t[\"five\"] = 556;\n t[\"six\"] = 556;\n t[\"seven\"] = 556;\n t[\"eight\"] = 556;\n t[\"nine\"] = 556;\n t[\"colon\"] = 278;\n t[\"semicolon\"] = 278;\n t[\"less\"] = 584;\n t[\"equal\"] = 584;\n t[\"greater\"] = 584;\n t[\"question\"] = 556;\n t[\"at\"] = 1015;\n t[\"A\"] = 667;\n t[\"B\"] = 667;\n t[\"C\"] = 722;\n t[\"D\"] = 722;\n t[\"E\"] = 667;\n t[\"F\"] = 611;\n t[\"G\"] = 778;\n t[\"H\"] = 722;\n t[\"I\"] = 278;\n t[\"J\"] = 500;\n t[\"K\"] = 667;\n t[\"L\"] = 556;\n t[\"M\"] = 833;\n t[\"N\"] = 722;\n t[\"O\"] = 778;\n t[\"P\"] = 667;\n t[\"Q\"] = 778;\n t[\"R\"] = 722;\n t[\"S\"] = 667;\n t[\"T\"] = 611;\n t[\"U\"] = 722;\n t[\"V\"] = 667;\n t[\"W\"] = 944;\n t[\"X\"] = 667;\n t[\"Y\"] = 667;\n t[\"Z\"] = 611;\n t[\"bracketleft\"] = 278;\n t[\"backslash\"] = 278;\n t[\"bracketright\"] = 278;\n t[\"asciicircum\"] = 469;\n t[\"underscore\"] = 556;\n t[\"quoteleft\"] = 222;\n t[\"a\"] = 556;\n t[\"b\"] = 556;\n t[\"c\"] = 500;\n t[\"d\"] = 556;\n t[\"e\"] = 556;\n t[\"f\"] = 278;\n t[\"g\"] = 556;\n t[\"h\"] = 556;\n t[\"i\"] = 222;\n t[\"j\"] = 222;\n t[\"k\"] = 500;\n t[\"l\"] = 222;\n t[\"m\"] = 833;\n t[\"n\"] = 556;\n t[\"o\"] = 556;\n t[\"p\"] = 556;\n t[\"q\"] = 556;\n t[\"r\"] = 333;\n t[\"s\"] = 500;\n t[\"t\"] = 278;\n t[\"u\"] = 556;\n t[\"v\"] = 500;\n t[\"w\"] = 722;\n t[\"x\"] = 500;\n t[\"y\"] = 500;\n t[\"z\"] = 500;\n t[\"braceleft\"] = 334;\n t[\"bar\"] = 260;\n t[\"braceright\"] = 334;\n t[\"asciitilde\"] = 584;\n t[\"exclamdown\"] = 333;\n t[\"cent\"] = 556;\n t[\"sterling\"] = 556;\n t[\"fraction\"] = 167;\n t[\"yen\"] = 556;\n t[\"florin\"] = 556;\n t[\"section\"] = 556;\n t[\"currency\"] = 556;\n t[\"quotesingle\"] = 191;\n t[\"quotedblleft\"] = 333;\n t[\"guillemotleft\"] = 556;\n t[\"guilsinglleft\"] = 333;\n t[\"guilsinglright\"] = 333;\n t[\"fi\"] = 500;\n t[\"fl\"] = 500;\n t[\"endash\"] = 556;\n t[\"dagger\"] = 556;\n t[\"daggerdbl\"] = 556;\n t[\"periodcentered\"] = 278;\n t[\"paragraph\"] = 537;\n t[\"bullet\"] = 350;\n t[\"quotesinglbase\"] = 222;\n t[\"quotedblbase\"] = 333;\n t[\"quotedblright\"] = 333;\n t[\"guillemotright\"] = 556;\n t[\"ellipsis\"] = 1000;\n t[\"perthousand\"] = 1000;\n t[\"questiondown\"] = 611;\n t[\"grave\"] = 333;\n t[\"acute\"] = 333;\n t[\"circumflex\"] = 333;\n t[\"tilde\"] = 333;\n t[\"macron\"] = 333;\n t[\"breve\"] = 333;\n t[\"dotaccent\"] = 333;\n t[\"dieresis\"] = 333;\n t[\"ring\"] = 333;\n t[\"cedilla\"] = 333;\n t[\"hungarumlaut\"] = 333;\n t[\"ogonek\"] = 333;\n t[\"caron\"] = 333;\n t[\"emdash\"] = 1000;\n t[\"AE\"] = 1000;\n t[\"ordfeminine\"] = 370;\n t[\"Lslash\"] = 556;\n t[\"Oslash\"] = 778;\n t[\"OE\"] = 1000;\n t[\"ordmasculine\"] = 365;\n t[\"ae\"] = 889;\n t[\"dotlessi\"] = 278;\n t[\"lslash\"] = 222;\n t[\"oslash\"] = 611;\n t[\"oe\"] = 944;\n t[\"germandbls\"] = 611;\n t[\"Idieresis\"] = 278;\n t[\"eacute\"] = 556;\n t[\"abreve\"] = 556;\n t[\"uhungarumlaut\"] = 556;\n t[\"ecaron\"] = 556;\n t[\"Ydieresis\"] = 667;\n t[\"divide\"] = 584;\n t[\"Yacute\"] = 667;\n t[\"Acircumflex\"] = 667;\n t[\"aacute\"] = 556;\n t[\"Ucircumflex\"] = 722;\n t[\"yacute\"] = 500;\n t[\"scommaaccent\"] = 500;\n t[\"ecircumflex\"] = 556;\n t[\"Uring\"] = 722;\n t[\"Udieresis\"] = 722;\n t[\"aogonek\"] = 556;\n t[\"Uacute\"] = 722;\n t[\"uogonek\"] = 556;\n t[\"Edieresis\"] = 667;\n t[\"Dcroat\"] = 722;\n t[\"commaaccent\"] = 250;\n t[\"copyright\"] = 737;\n t[\"Emacron\"] = 667;\n t[\"ccaron\"] = 500;\n t[\"aring\"] = 556;\n t[\"Ncommaaccent\"] = 722;\n t[\"lacute\"] = 222;\n t[\"agrave\"] = 556;\n t[\"Tcommaaccent\"] = 611;\n t[\"Cacute\"] = 722;\n t[\"atilde\"] = 556;\n t[\"Edotaccent\"] = 667;\n t[\"scaron\"] = 500;\n t[\"scedilla\"] = 500;\n t[\"iacute\"] = 278;\n t[\"lozenge\"] = 471;\n t[\"Rcaron\"] = 722;\n t[\"Gcommaaccent\"] = 778;\n t[\"ucircumflex\"] = 556;\n t[\"acircumflex\"] = 556;\n t[\"Amacron\"] = 667;\n t[\"rcaron\"] = 333;\n t[\"ccedilla\"] = 500;\n t[\"Zdotaccent\"] = 611;\n t[\"Thorn\"] = 667;\n t[\"Omacron\"] = 778;\n t[\"Racute\"] = 722;\n t[\"Sacute\"] = 667;\n t[\"dcaron\"] = 643;\n t[\"Umacron\"] = 722;\n t[\"uring\"] = 556;\n t[\"threesuperior\"] = 333;\n t[\"Ograve\"] = 778;\n t[\"Agrave\"] = 667;\n t[\"Abreve\"] = 667;\n t[\"multiply\"] = 584;\n t[\"uacute\"] = 556;\n t[\"Tcaron\"] = 611;\n t[\"partialdiff\"] = 476;\n t[\"ydieresis\"] = 500;\n t[\"Nacute\"] = 722;\n t[\"icircumflex\"] = 278;\n t[\"Ecircumflex\"] = 667;\n t[\"adieresis\"] = 556;\n t[\"edieresis\"] = 556;\n t[\"cacute\"] = 500;\n t[\"nacute\"] = 556;\n t[\"umacron\"] = 556;\n t[\"Ncaron\"] = 722;\n t[\"Iacute\"] = 278;\n t[\"plusminus\"] = 584;\n t[\"brokenbar\"] = 260;\n t[\"registered\"] = 737;\n t[\"Gbreve\"] = 778;\n t[\"Idotaccent\"] = 278;\n t[\"summation\"] = 600;\n t[\"Egrave\"] = 667;\n t[\"racute\"] = 333;\n t[\"omacron\"] = 556;\n t[\"Zacute\"] = 611;\n t[\"Zcaron\"] = 611;\n t[\"greaterequal\"] = 549;\n t[\"Eth\"] = 722;\n t[\"Ccedilla\"] = 722;\n t[\"lcommaaccent\"] = 222;\n t[\"tcaron\"] = 317;\n t[\"eogonek\"] = 556;\n t[\"Uogonek\"] = 722;\n t[\"Aacute\"] = 667;\n t[\"Adieresis\"] = 667;\n t[\"egrave\"] = 556;\n t[\"zacute\"] = 500;\n t[\"iogonek\"] = 222;\n t[\"Oacute\"] = 778;\n t[\"oacute\"] = 556;\n t[\"amacron\"] = 556;\n t[\"sacute\"] = 500;\n t[\"idieresis\"] = 278;\n t[\"Ocircumflex\"] = 778;\n t[\"Ugrave\"] = 722;\n t[\"Delta\"] = 612;\n t[\"thorn\"] = 556;\n t[\"twosuperior\"] = 333;\n t[\"Odieresis\"] = 778;\n t[\"mu\"] = 556;\n t[\"igrave\"] = 278;\n t[\"ohungarumlaut\"] = 556;\n t[\"Eogonek\"] = 667;\n t[\"dcroat\"] = 556;\n t[\"threequarters\"] = 834;\n t[\"Scedilla\"] = 667;\n t[\"lcaron\"] = 299;\n t[\"Kcommaaccent\"] = 667;\n t[\"Lacute\"] = 556;\n t[\"trademark\"] = 1000;\n t[\"edotaccent\"] = 556;\n t[\"Igrave\"] = 278;\n t[\"Imacron\"] = 278;\n t[\"Lcaron\"] = 556;\n t[\"onehalf\"] = 834;\n t[\"lessequal\"] = 549;\n t[\"ocircumflex\"] = 556;\n t[\"ntilde\"] = 556;\n t[\"Uhungarumlaut\"] = 722;\n t[\"Eacute\"] = 667;\n t[\"emacron\"] = 556;\n t[\"gbreve\"] = 556;\n t[\"onequarter\"] = 834;\n t[\"Scaron\"] = 667;\n t[\"Scommaaccent\"] = 667;\n t[\"Ohungarumlaut\"] = 778;\n t[\"degree\"] = 400;\n t[\"ograve\"] = 556;\n t[\"Ccaron\"] = 722;\n t[\"ugrave\"] = 556;\n t[\"radical\"] = 453;\n t[\"Dcaron\"] = 722;\n t[\"rcommaaccent\"] = 333;\n t[\"Ntilde\"] = 722;\n t[\"otilde\"] = 556;\n t[\"Rcommaaccent\"] = 722;\n t[\"Lcommaaccent\"] = 556;\n t[\"Atilde\"] = 667;\n t[\"Aogonek\"] = 667;\n t[\"Aring\"] = 667;\n t[\"Otilde\"] = 778;\n t[\"zdotaccent\"] = 500;\n t[\"Ecaron\"] = 667;\n t[\"Iogonek\"] = 278;\n t[\"kcommaaccent\"] = 500;\n t[\"minus\"] = 584;\n t[\"Icircumflex\"] = 278;\n t[\"ncaron\"] = 556;\n t[\"tcommaaccent\"] = 278;\n t[\"logicalnot\"] = 584;\n t[\"odieresis\"] = 556;\n t[\"udieresis\"] = 556;\n t[\"notequal\"] = 549;\n t[\"gcommaaccent\"] = 556;\n t[\"eth\"] = 556;\n t[\"zcaron\"] = 500;\n t[\"ncommaaccent\"] = 556;\n t[\"onesuperior\"] = 333;\n t[\"imacron\"] = 278;\n t[\"Euro\"] = 556;\n });\n t[\"Symbol\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 250;\n t[\"exclam\"] = 333;\n t[\"universal\"] = 713;\n t[\"numbersign\"] = 500;\n t[\"existential\"] = 549;\n t[\"percent\"] = 833;\n t[\"ampersand\"] = 778;\n t[\"suchthat\"] = 439;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asteriskmath\"] = 500;\n t[\"plus\"] = 549;\n t[\"comma\"] = 250;\n t[\"minus\"] = 549;\n t[\"period\"] = 250;\n t[\"slash\"] = 278;\n t[\"zero\"] = 500;\n t[\"one\"] = 500;\n t[\"two\"] = 500;\n t[\"three\"] = 500;\n t[\"four\"] = 500;\n t[\"five\"] = 500;\n t[\"six\"] = 500;\n t[\"seven\"] = 500;\n t[\"eight\"] = 500;\n t[\"nine\"] = 500;\n t[\"colon\"] = 278;\n t[\"semicolon\"] = 278;\n t[\"less\"] = 549;\n t[\"equal\"] = 549;\n t[\"greater\"] = 549;\n t[\"question\"] = 444;\n t[\"congruent\"] = 549;\n t[\"Alpha\"] = 722;\n t[\"Beta\"] = 667;\n t[\"Chi\"] = 722;\n t[\"Delta\"] = 612;\n t[\"Epsilon\"] = 611;\n t[\"Phi\"] = 763;\n t[\"Gamma\"] = 603;\n t[\"Eta\"] = 722;\n t[\"Iota\"] = 333;\n t[\"theta1\"] = 631;\n t[\"Kappa\"] = 722;\n t[\"Lambda\"] = 686;\n t[\"Mu\"] = 889;\n t[\"Nu\"] = 722;\n t[\"Omicron\"] = 722;\n t[\"Pi\"] = 768;\n t[\"Theta\"] = 741;\n t[\"Rho\"] = 556;\n t[\"Sigma\"] = 592;\n t[\"Tau\"] = 611;\n t[\"Upsilon\"] = 690;\n t[\"sigma1\"] = 439;\n t[\"Omega\"] = 768;\n t[\"Xi\"] = 645;\n t[\"Psi\"] = 795;\n t[\"Zeta\"] = 611;\n t[\"bracketleft\"] = 333;\n t[\"therefore\"] = 863;\n t[\"bracketright\"] = 333;\n t[\"perpendicular\"] = 658;\n t[\"underscore\"] = 500;\n t[\"radicalex\"] = 500;\n t[\"alpha\"] = 631;\n t[\"beta\"] = 549;\n t[\"chi\"] = 549;\n t[\"delta\"] = 494;\n t[\"epsilon\"] = 439;\n t[\"phi\"] = 521;\n t[\"gamma\"] = 411;\n t[\"eta\"] = 603;\n t[\"iota\"] = 329;\n t[\"phi1\"] = 603;\n t[\"kappa\"] = 549;\n t[\"lambda\"] = 549;\n t[\"mu\"] = 576;\n t[\"nu\"] = 521;\n t[\"omicron\"] = 549;\n t[\"pi\"] = 549;\n t[\"theta\"] = 521;\n t[\"rho\"] = 549;\n t[\"sigma\"] = 603;\n t[\"tau\"] = 439;\n t[\"upsilon\"] = 576;\n t[\"omega1\"] = 713;\n t[\"omega\"] = 686;\n t[\"xi\"] = 493;\n t[\"psi\"] = 686;\n t[\"zeta\"] = 494;\n t[\"braceleft\"] = 480;\n t[\"bar\"] = 200;\n t[\"braceright\"] = 480;\n t[\"similar\"] = 549;\n t[\"Euro\"] = 750;\n t[\"Upsilon1\"] = 620;\n t[\"minute\"] = 247;\n t[\"lessequal\"] = 549;\n t[\"fraction\"] = 167;\n t[\"infinity\"] = 713;\n t[\"florin\"] = 500;\n t[\"club\"] = 753;\n t[\"diamond\"] = 753;\n t[\"heart\"] = 753;\n t[\"spade\"] = 753;\n t[\"arrowboth\"] = 1042;\n t[\"arrowleft\"] = 987;\n t[\"arrowup\"] = 603;\n t[\"arrowright\"] = 987;\n t[\"arrowdown\"] = 603;\n t[\"degree\"] = 400;\n t[\"plusminus\"] = 549;\n t[\"second\"] = 411;\n t[\"greaterequal\"] = 549;\n t[\"multiply\"] = 549;\n t[\"proportional\"] = 713;\n t[\"partialdiff\"] = 494;\n t[\"bullet\"] = 460;\n t[\"divide\"] = 549;\n t[\"notequal\"] = 549;\n t[\"equivalence\"] = 549;\n t[\"approxequal\"] = 549;\n t[\"ellipsis\"] = 1000;\n t[\"arrowvertex\"] = 603;\n t[\"arrowhorizex\"] = 1000;\n t[\"carriagereturn\"] = 658;\n t[\"aleph\"] = 823;\n t[\"Ifraktur\"] = 686;\n t[\"Rfraktur\"] = 795;\n t[\"weierstrass\"] = 987;\n t[\"circlemultiply\"] = 768;\n t[\"circleplus\"] = 768;\n t[\"emptyset\"] = 823;\n t[\"intersection\"] = 768;\n t[\"union\"] = 768;\n t[\"propersuperset\"] = 713;\n t[\"reflexsuperset\"] = 713;\n t[\"notsubset\"] = 713;\n t[\"propersubset\"] = 713;\n t[\"reflexsubset\"] = 713;\n t[\"element\"] = 713;\n t[\"notelement\"] = 713;\n t[\"angle\"] = 768;\n t[\"gradient\"] = 713;\n t[\"registerserif\"] = 790;\n t[\"copyrightserif\"] = 790;\n t[\"trademarkserif\"] = 890;\n t[\"product\"] = 823;\n t[\"radical\"] = 549;\n t[\"dotmath\"] = 250;\n t[\"logicalnot\"] = 713;\n t[\"logicaland\"] = 603;\n t[\"logicalor\"] = 603;\n t[\"arrowdblboth\"] = 1042;\n t[\"arrowdblleft\"] = 987;\n t[\"arrowdblup\"] = 603;\n t[\"arrowdblright\"] = 987;\n t[\"arrowdbldown\"] = 603;\n t[\"lozenge\"] = 494;\n t[\"angleleft\"] = 329;\n t[\"registersans\"] = 790;\n t[\"copyrightsans\"] = 790;\n t[\"trademarksans\"] = 786;\n t[\"summation\"] = 713;\n t[\"parenlefttp\"] = 384;\n t[\"parenleftex\"] = 384;\n t[\"parenleftbt\"] = 384;\n t[\"bracketlefttp\"] = 384;\n t[\"bracketleftex\"] = 384;\n t[\"bracketleftbt\"] = 384;\n t[\"bracelefttp\"] = 494;\n t[\"braceleftmid\"] = 494;\n t[\"braceleftbt\"] = 494;\n t[\"braceex\"] = 494;\n t[\"angleright\"] = 329;\n t[\"integral\"] = 274;\n t[\"integraltp\"] = 686;\n t[\"integralex\"] = 686;\n t[\"integralbt\"] = 686;\n t[\"parenrighttp\"] = 384;\n t[\"parenrightex\"] = 384;\n t[\"parenrightbt\"] = 384;\n t[\"bracketrighttp\"] = 384;\n t[\"bracketrightex\"] = 384;\n t[\"bracketrightbt\"] = 384;\n t[\"bracerighttp\"] = 494;\n t[\"bracerightmid\"] = 494;\n t[\"bracerightbt\"] = 494;\n t[\"apple\"] = 790;\n });\n t[\"Times-Roman\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 250;\n t[\"exclam\"] = 333;\n t[\"quotedbl\"] = 408;\n t[\"numbersign\"] = 500;\n t[\"dollar\"] = 500;\n t[\"percent\"] = 833;\n t[\"ampersand\"] = 778;\n t[\"quoteright\"] = 333;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asterisk\"] = 500;\n t[\"plus\"] = 564;\n t[\"comma\"] = 250;\n t[\"hyphen\"] = 333;\n t[\"period\"] = 250;\n t[\"slash\"] = 278;\n t[\"zero\"] = 500;\n t[\"one\"] = 500;\n t[\"two\"] = 500;\n t[\"three\"] = 500;\n t[\"four\"] = 500;\n t[\"five\"] = 500;\n t[\"six\"] = 500;\n t[\"seven\"] = 500;\n t[\"eight\"] = 500;\n t[\"nine\"] = 500;\n t[\"colon\"] = 278;\n t[\"semicolon\"] = 278;\n t[\"less\"] = 564;\n t[\"equal\"] = 564;\n t[\"greater\"] = 564;\n t[\"question\"] = 444;\n t[\"at\"] = 921;\n t[\"A\"] = 722;\n t[\"B\"] = 667;\n t[\"C\"] = 667;\n t[\"D\"] = 722;\n t[\"E\"] = 611;\n t[\"F\"] = 556;\n t[\"G\"] = 722;\n t[\"H\"] = 722;\n t[\"I\"] = 333;\n t[\"J\"] = 389;\n t[\"K\"] = 722;\n t[\"L\"] = 611;\n t[\"M\"] = 889;\n t[\"N\"] = 722;\n t[\"O\"] = 722;\n t[\"P\"] = 556;\n t[\"Q\"] = 722;\n t[\"R\"] = 667;\n t[\"S\"] = 556;\n t[\"T\"] = 611;\n t[\"U\"] = 722;\n t[\"V\"] = 722;\n t[\"W\"] = 944;\n t[\"X\"] = 722;\n t[\"Y\"] = 722;\n t[\"Z\"] = 611;\n t[\"bracketleft\"] = 333;\n t[\"backslash\"] = 278;\n t[\"bracketright\"] = 333;\n t[\"asciicircum\"] = 469;\n t[\"underscore\"] = 500;\n t[\"quoteleft\"] = 333;\n t[\"a\"] = 444;\n t[\"b\"] = 500;\n t[\"c\"] = 444;\n t[\"d\"] = 500;\n t[\"e\"] = 444;\n t[\"f\"] = 333;\n t[\"g\"] = 500;\n t[\"h\"] = 500;\n t[\"i\"] = 278;\n t[\"j\"] = 278;\n t[\"k\"] = 500;\n t[\"l\"] = 278;\n t[\"m\"] = 778;\n t[\"n\"] = 500;\n t[\"o\"] = 500;\n t[\"p\"] = 500;\n t[\"q\"] = 500;\n t[\"r\"] = 333;\n t[\"s\"] = 389;\n t[\"t\"] = 278;\n t[\"u\"] = 500;\n t[\"v\"] = 500;\n t[\"w\"] = 722;\n t[\"x\"] = 500;\n t[\"y\"] = 500;\n t[\"z\"] = 444;\n t[\"braceleft\"] = 480;\n t[\"bar\"] = 200;\n t[\"braceright\"] = 480;\n t[\"asciitilde\"] = 541;\n t[\"exclamdown\"] = 333;\n t[\"cent\"] = 500;\n t[\"sterling\"] = 500;\n t[\"fraction\"] = 167;\n t[\"yen\"] = 500;\n t[\"florin\"] = 500;\n t[\"section\"] = 500;\n t[\"currency\"] = 500;\n t[\"quotesingle\"] = 180;\n t[\"quotedblleft\"] = 444;\n t[\"guillemotleft\"] = 500;\n t[\"guilsinglleft\"] = 333;\n t[\"guilsinglright\"] = 333;\n t[\"fi\"] = 556;\n t[\"fl\"] = 556;\n t[\"endash\"] = 500;\n t[\"dagger\"] = 500;\n t[\"daggerdbl\"] = 500;\n t[\"periodcentered\"] = 250;\n t[\"paragraph\"] = 453;\n t[\"bullet\"] = 350;\n t[\"quotesinglbase\"] = 333;\n t[\"quotedblbase\"] = 444;\n t[\"quotedblright\"] = 444;\n t[\"guillemotright\"] = 500;\n t[\"ellipsis\"] = 1000;\n t[\"perthousand\"] = 1000;\n t[\"questiondown\"] = 444;\n t[\"grave\"] = 333;\n t[\"acute\"] = 333;\n t[\"circumflex\"] = 333;\n t[\"tilde\"] = 333;\n t[\"macron\"] = 333;\n t[\"breve\"] = 333;\n t[\"dotaccent\"] = 333;\n t[\"dieresis\"] = 333;\n t[\"ring\"] = 333;\n t[\"cedilla\"] = 333;\n t[\"hungarumlaut\"] = 333;\n t[\"ogonek\"] = 333;\n t[\"caron\"] = 333;\n t[\"emdash\"] = 1000;\n t[\"AE\"] = 889;\n t[\"ordfeminine\"] = 276;\n t[\"Lslash\"] = 611;\n t[\"Oslash\"] = 722;\n t[\"OE\"] = 889;\n t[\"ordmasculine\"] = 310;\n t[\"ae\"] = 667;\n t[\"dotlessi\"] = 278;\n t[\"lslash\"] = 278;\n t[\"oslash\"] = 500;\n t[\"oe\"] = 722;\n t[\"germandbls\"] = 500;\n t[\"Idieresis\"] = 333;\n t[\"eacute\"] = 444;\n t[\"abreve\"] = 444;\n t[\"uhungarumlaut\"] = 500;\n t[\"ecaron\"] = 444;\n t[\"Ydieresis\"] = 722;\n t[\"divide\"] = 564;\n t[\"Yacute\"] = 722;\n t[\"Acircumflex\"] = 722;\n t[\"aacute\"] = 444;\n t[\"Ucircumflex\"] = 722;\n t[\"yacute\"] = 500;\n t[\"scommaaccent\"] = 389;\n t[\"ecircumflex\"] = 444;\n t[\"Uring\"] = 722;\n t[\"Udieresis\"] = 722;\n t[\"aogonek\"] = 444;\n t[\"Uacute\"] = 722;\n t[\"uogonek\"] = 500;\n t[\"Edieresis\"] = 611;\n t[\"Dcroat\"] = 722;\n t[\"commaaccent\"] = 250;\n t[\"copyright\"] = 760;\n t[\"Emacron\"] = 611;\n t[\"ccaron\"] = 444;\n t[\"aring\"] = 444;\n t[\"Ncommaaccent\"] = 722;\n t[\"lacute\"] = 278;\n t[\"agrave\"] = 444;\n t[\"Tcommaaccent\"] = 611;\n t[\"Cacute\"] = 667;\n t[\"atilde\"] = 444;\n t[\"Edotaccent\"] = 611;\n t[\"scaron\"] = 389;\n t[\"scedilla\"] = 389;\n t[\"iacute\"] = 278;\n t[\"lozenge\"] = 471;\n t[\"Rcaron\"] = 667;\n t[\"Gcommaaccent\"] = 722;\n t[\"ucircumflex\"] = 500;\n t[\"acircumflex\"] = 444;\n t[\"Amacron\"] = 722;\n t[\"rcaron\"] = 333;\n t[\"ccedilla\"] = 444;\n t[\"Zdotaccent\"] = 611;\n t[\"Thorn\"] = 556;\n t[\"Omacron\"] = 722;\n t[\"Racute\"] = 667;\n t[\"Sacute\"] = 556;\n t[\"dcaron\"] = 588;\n t[\"Umacron\"] = 722;\n t[\"uring\"] = 500;\n t[\"threesuperior\"] = 300;\n t[\"Ograve\"] = 722;\n t[\"Agrave\"] = 722;\n t[\"Abreve\"] = 722;\n t[\"multiply\"] = 564;\n t[\"uacute\"] = 500;\n t[\"Tcaron\"] = 611;\n t[\"partialdiff\"] = 476;\n t[\"ydieresis\"] = 500;\n t[\"Nacute\"] = 722;\n t[\"icircumflex\"] = 278;\n t[\"Ecircumflex\"] = 611;\n t[\"adieresis\"] = 444;\n t[\"edieresis\"] = 444;\n t[\"cacute\"] = 444;\n t[\"nacute\"] = 500;\n t[\"umacron\"] = 500;\n t[\"Ncaron\"] = 722;\n t[\"Iacute\"] = 333;\n t[\"plusminus\"] = 564;\n t[\"brokenbar\"] = 200;\n t[\"registered\"] = 760;\n t[\"Gbreve\"] = 722;\n t[\"Idotaccent\"] = 333;\n t[\"summation\"] = 600;\n t[\"Egrave\"] = 611;\n t[\"racute\"] = 333;\n t[\"omacron\"] = 500;\n t[\"Zacute\"] = 611;\n t[\"Zcaron\"] = 611;\n t[\"greaterequal\"] = 549;\n t[\"Eth\"] = 722;\n t[\"Ccedilla\"] = 667;\n t[\"lcommaaccent\"] = 278;\n t[\"tcaron\"] = 326;\n t[\"eogonek\"] = 444;\n t[\"Uogonek\"] = 722;\n t[\"Aacute\"] = 722;\n t[\"Adieresis\"] = 722;\n t[\"egrave\"] = 444;\n t[\"zacute\"] = 444;\n t[\"iogonek\"] = 278;\n t[\"Oacute\"] = 722;\n t[\"oacute\"] = 500;\n t[\"amacron\"] = 444;\n t[\"sacute\"] = 389;\n t[\"idieresis\"] = 278;\n t[\"Ocircumflex\"] = 722;\n t[\"Ugrave\"] = 722;\n t[\"Delta\"] = 612;\n t[\"thorn\"] = 500;\n t[\"twosuperior\"] = 300;\n t[\"Odieresis\"] = 722;\n t[\"mu\"] = 500;\n t[\"igrave\"] = 278;\n t[\"ohungarumlaut\"] = 500;\n t[\"Eogonek\"] = 611;\n t[\"dcroat\"] = 500;\n t[\"threequarters\"] = 750;\n t[\"Scedilla\"] = 556;\n t[\"lcaron\"] = 344;\n t[\"Kcommaaccent\"] = 722;\n t[\"Lacute\"] = 611;\n t[\"trademark\"] = 980;\n t[\"edotaccent\"] = 444;\n t[\"Igrave\"] = 333;\n t[\"Imacron\"] = 333;\n t[\"Lcaron\"] = 611;\n t[\"onehalf\"] = 750;\n t[\"lessequal\"] = 549;\n t[\"ocircumflex\"] = 500;\n t[\"ntilde\"] = 500;\n t[\"Uhungarumlaut\"] = 722;\n t[\"Eacute\"] = 611;\n t[\"emacron\"] = 444;\n t[\"gbreve\"] = 500;\n t[\"onequarter\"] = 750;\n t[\"Scaron\"] = 556;\n t[\"Scommaaccent\"] = 556;\n t[\"Ohungarumlaut\"] = 722;\n t[\"degree\"] = 400;\n t[\"ograve\"] = 500;\n t[\"Ccaron\"] = 667;\n t[\"ugrave\"] = 500;\n t[\"radical\"] = 453;\n t[\"Dcaron\"] = 722;\n t[\"rcommaaccent\"] = 333;\n t[\"Ntilde\"] = 722;\n t[\"otilde\"] = 500;\n t[\"Rcommaaccent\"] = 667;\n t[\"Lcommaaccent\"] = 611;\n t[\"Atilde\"] = 722;\n t[\"Aogonek\"] = 722;\n t[\"Aring\"] = 722;\n t[\"Otilde\"] = 722;\n t[\"zdotaccent\"] = 444;\n t[\"Ecaron\"] = 611;\n t[\"Iogonek\"] = 333;\n t[\"kcommaaccent\"] = 500;\n t[\"minus\"] = 564;\n t[\"Icircumflex\"] = 333;\n t[\"ncaron\"] = 500;\n t[\"tcommaaccent\"] = 278;\n t[\"logicalnot\"] = 564;\n t[\"odieresis\"] = 500;\n t[\"udieresis\"] = 500;\n t[\"notequal\"] = 549;\n t[\"gcommaaccent\"] = 500;\n t[\"eth\"] = 500;\n t[\"zcaron\"] = 444;\n t[\"ncommaaccent\"] = 500;\n t[\"onesuperior\"] = 300;\n t[\"imacron\"] = 278;\n t[\"Euro\"] = 500;\n });\n t[\"Times-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 250;\n t[\"exclam\"] = 333;\n t[\"quotedbl\"] = 555;\n t[\"numbersign\"] = 500;\n t[\"dollar\"] = 500;\n t[\"percent\"] = 1000;\n t[\"ampersand\"] = 833;\n t[\"quoteright\"] = 333;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asterisk\"] = 500;\n t[\"plus\"] = 570;\n t[\"comma\"] = 250;\n t[\"hyphen\"] = 333;\n t[\"period\"] = 250;\n t[\"slash\"] = 278;\n t[\"zero\"] = 500;\n t[\"one\"] = 500;\n t[\"two\"] = 500;\n t[\"three\"] = 500;\n t[\"four\"] = 500;\n t[\"five\"] = 500;\n t[\"six\"] = 500;\n t[\"seven\"] = 500;\n t[\"eight\"] = 500;\n t[\"nine\"] = 500;\n t[\"colon\"] = 333;\n t[\"semicolon\"] = 333;\n t[\"less\"] = 570;\n t[\"equal\"] = 570;\n t[\"greater\"] = 570;\n t[\"question\"] = 500;\n t[\"at\"] = 930;\n t[\"A\"] = 722;\n t[\"B\"] = 667;\n t[\"C\"] = 722;\n t[\"D\"] = 722;\n t[\"E\"] = 667;\n t[\"F\"] = 611;\n t[\"G\"] = 778;\n t[\"H\"] = 778;\n t[\"I\"] = 389;\n t[\"J\"] = 500;\n t[\"K\"] = 778;\n t[\"L\"] = 667;\n t[\"M\"] = 944;\n t[\"N\"] = 722;\n t[\"O\"] = 778;\n t[\"P\"] = 611;\n t[\"Q\"] = 778;\n t[\"R\"] = 722;\n t[\"S\"] = 556;\n t[\"T\"] = 667;\n t[\"U\"] = 722;\n t[\"V\"] = 722;\n t[\"W\"] = 1000;\n t[\"X\"] = 722;\n t[\"Y\"] = 722;\n t[\"Z\"] = 667;\n t[\"bracketleft\"] = 333;\n t[\"backslash\"] = 278;\n t[\"bracketright\"] = 333;\n t[\"asciicircum\"] = 581;\n t[\"underscore\"] = 500;\n t[\"quoteleft\"] = 333;\n t[\"a\"] = 500;\n t[\"b\"] = 556;\n t[\"c\"] = 444;\n t[\"d\"] = 556;\n t[\"e\"] = 444;\n t[\"f\"] = 333;\n t[\"g\"] = 500;\n t[\"h\"] = 556;\n t[\"i\"] = 278;\n t[\"j\"] = 333;\n t[\"k\"] = 556;\n t[\"l\"] = 278;\n t[\"m\"] = 833;\n t[\"n\"] = 556;\n t[\"o\"] = 500;\n t[\"p\"] = 556;\n t[\"q\"] = 556;\n t[\"r\"] = 444;\n t[\"s\"] = 389;\n t[\"t\"] = 333;\n t[\"u\"] = 556;\n t[\"v\"] = 500;\n t[\"w\"] = 722;\n t[\"x\"] = 500;\n t[\"y\"] = 500;\n t[\"z\"] = 444;\n t[\"braceleft\"] = 394;\n t[\"bar\"] = 220;\n t[\"braceright\"] = 394;\n t[\"asciitilde\"] = 520;\n t[\"exclamdown\"] = 333;\n t[\"cent\"] = 500;\n t[\"sterling\"] = 500;\n t[\"fraction\"] = 167;\n t[\"yen\"] = 500;\n t[\"florin\"] = 500;\n t[\"section\"] = 500;\n t[\"currency\"] = 500;\n t[\"quotesingle\"] = 278;\n t[\"quotedblleft\"] = 500;\n t[\"guillemotleft\"] = 500;\n t[\"guilsinglleft\"] = 333;\n t[\"guilsinglright\"] = 333;\n t[\"fi\"] = 556;\n t[\"fl\"] = 556;\n t[\"endash\"] = 500;\n t[\"dagger\"] = 500;\n t[\"daggerdbl\"] = 500;\n t[\"periodcentered\"] = 250;\n t[\"paragraph\"] = 540;\n t[\"bullet\"] = 350;\n t[\"quotesinglbase\"] = 333;\n t[\"quotedblbase\"] = 500;\n t[\"quotedblright\"] = 500;\n t[\"guillemotright\"] = 500;\n t[\"ellipsis\"] = 1000;\n t[\"perthousand\"] = 1000;\n t[\"questiondown\"] = 500;\n t[\"grave\"] = 333;\n t[\"acute\"] = 333;\n t[\"circumflex\"] = 333;\n t[\"tilde\"] = 333;\n t[\"macron\"] = 333;\n t[\"breve\"] = 333;\n t[\"dotaccent\"] = 333;\n t[\"dieresis\"] = 333;\n t[\"ring\"] = 333;\n t[\"cedilla\"] = 333;\n t[\"hungarumlaut\"] = 333;\n t[\"ogonek\"] = 333;\n t[\"caron\"] = 333;\n t[\"emdash\"] = 1000;\n t[\"AE\"] = 1000;\n t[\"ordfeminine\"] = 300;\n t[\"Lslash\"] = 667;\n t[\"Oslash\"] = 778;\n t[\"OE\"] = 1000;\n t[\"ordmasculine\"] = 330;\n t[\"ae\"] = 722;\n t[\"dotlessi\"] = 278;\n t[\"lslash\"] = 278;\n t[\"oslash\"] = 500;\n t[\"oe\"] = 722;\n t[\"germandbls\"] = 556;\n t[\"Idieresis\"] = 389;\n t[\"eacute\"] = 444;\n t[\"abreve\"] = 500;\n t[\"uhungarumlaut\"] = 556;\n t[\"ecaron\"] = 444;\n t[\"Ydieresis\"] = 722;\n t[\"divide\"] = 570;\n t[\"Yacute\"] = 722;\n t[\"Acircumflex\"] = 722;\n t[\"aacute\"] = 500;\n t[\"Ucircumflex\"] = 722;\n t[\"yacute\"] = 500;\n t[\"scommaaccent\"] = 389;\n t[\"ecircumflex\"] = 444;\n t[\"Uring\"] = 722;\n t[\"Udieresis\"] = 722;\n t[\"aogonek\"] = 500;\n t[\"Uacute\"] = 722;\n t[\"uogonek\"] = 556;\n t[\"Edieresis\"] = 667;\n t[\"Dcroat\"] = 722;\n t[\"commaaccent\"] = 250;\n t[\"copyright\"] = 747;\n t[\"Emacron\"] = 667;\n t[\"ccaron\"] = 444;\n t[\"aring\"] = 500;\n t[\"Ncommaaccent\"] = 722;\n t[\"lacute\"] = 278;\n t[\"agrave\"] = 500;\n t[\"Tcommaaccent\"] = 667;\n t[\"Cacute\"] = 722;\n t[\"atilde\"] = 500;\n t[\"Edotaccent\"] = 667;\n t[\"scaron\"] = 389;\n t[\"scedilla\"] = 389;\n t[\"iacute\"] = 278;\n t[\"lozenge\"] = 494;\n t[\"Rcaron\"] = 722;\n t[\"Gcommaaccent\"] = 778;\n t[\"ucircumflex\"] = 556;\n t[\"acircumflex\"] = 500;\n t[\"Amacron\"] = 722;\n t[\"rcaron\"] = 444;\n t[\"ccedilla\"] = 444;\n t[\"Zdotaccent\"] = 667;\n t[\"Thorn\"] = 611;\n t[\"Omacron\"] = 778;\n t[\"Racute\"] = 722;\n t[\"Sacute\"] = 556;\n t[\"dcaron\"] = 672;\n t[\"Umacron\"] = 722;\n t[\"uring\"] = 556;\n t[\"threesuperior\"] = 300;\n t[\"Ograve\"] = 778;\n t[\"Agrave\"] = 722;\n t[\"Abreve\"] = 722;\n t[\"multiply\"] = 570;\n t[\"uacute\"] = 556;\n t[\"Tcaron\"] = 667;\n t[\"partialdiff\"] = 494;\n t[\"ydieresis\"] = 500;\n t[\"Nacute\"] = 722;\n t[\"icircumflex\"] = 278;\n t[\"Ecircumflex\"] = 667;\n t[\"adieresis\"] = 500;\n t[\"edieresis\"] = 444;\n t[\"cacute\"] = 444;\n t[\"nacute\"] = 556;\n t[\"umacron\"] = 556;\n t[\"Ncaron\"] = 722;\n t[\"Iacute\"] = 389;\n t[\"plusminus\"] = 570;\n t[\"brokenbar\"] = 220;\n t[\"registered\"] = 747;\n t[\"Gbreve\"] = 778;\n t[\"Idotaccent\"] = 389;\n t[\"summation\"] = 600;\n t[\"Egrave\"] = 667;\n t[\"racute\"] = 444;\n t[\"omacron\"] = 500;\n t[\"Zacute\"] = 667;\n t[\"Zcaron\"] = 667;\n t[\"greaterequal\"] = 549;\n t[\"Eth\"] = 722;\n t[\"Ccedilla\"] = 722;\n t[\"lcommaaccent\"] = 278;\n t[\"tcaron\"] = 416;\n t[\"eogonek\"] = 444;\n t[\"Uogonek\"] = 722;\n t[\"Aacute\"] = 722;\n t[\"Adieresis\"] = 722;\n t[\"egrave\"] = 444;\n t[\"zacute\"] = 444;\n t[\"iogonek\"] = 278;\n t[\"Oacute\"] = 778;\n t[\"oacute\"] = 500;\n t[\"amacron\"] = 500;\n t[\"sacute\"] = 389;\n t[\"idieresis\"] = 278;\n t[\"Ocircumflex\"] = 778;\n t[\"Ugrave\"] = 722;\n t[\"Delta\"] = 612;\n t[\"thorn\"] = 556;\n t[\"twosuperior\"] = 300;\n t[\"Odieresis\"] = 778;\n t[\"mu\"] = 556;\n t[\"igrave\"] = 278;\n t[\"ohungarumlaut\"] = 500;\n t[\"Eogonek\"] = 667;\n t[\"dcroat\"] = 556;\n t[\"threequarters\"] = 750;\n t[\"Scedilla\"] = 556;\n t[\"lcaron\"] = 394;\n t[\"Kcommaaccent\"] = 778;\n t[\"Lacute\"] = 667;\n t[\"trademark\"] = 1000;\n t[\"edotaccent\"] = 444;\n t[\"Igrave\"] = 389;\n t[\"Imacron\"] = 389;\n t[\"Lcaron\"] = 667;\n t[\"onehalf\"] = 750;\n t[\"lessequal\"] = 549;\n t[\"ocircumflex\"] = 500;\n t[\"ntilde\"] = 556;\n t[\"Uhungarumlaut\"] = 722;\n t[\"Eacute\"] = 667;\n t[\"emacron\"] = 444;\n t[\"gbreve\"] = 500;\n t[\"onequarter\"] = 750;\n t[\"Scaron\"] = 556;\n t[\"Scommaaccent\"] = 556;\n t[\"Ohungarumlaut\"] = 778;\n t[\"degree\"] = 400;\n t[\"ograve\"] = 500;\n t[\"Ccaron\"] = 722;\n t[\"ugrave\"] = 556;\n t[\"radical\"] = 549;\n t[\"Dcaron\"] = 722;\n t[\"rcommaaccent\"] = 444;\n t[\"Ntilde\"] = 722;\n t[\"otilde\"] = 500;\n t[\"Rcommaaccent\"] = 722;\n t[\"Lcommaaccent\"] = 667;\n t[\"Atilde\"] = 722;\n t[\"Aogonek\"] = 722;\n t[\"Aring\"] = 722;\n t[\"Otilde\"] = 778;\n t[\"zdotaccent\"] = 444;\n t[\"Ecaron\"] = 667;\n t[\"Iogonek\"] = 389;\n t[\"kcommaaccent\"] = 556;\n t[\"minus\"] = 570;\n t[\"Icircumflex\"] = 389;\n t[\"ncaron\"] = 556;\n t[\"tcommaaccent\"] = 333;\n t[\"logicalnot\"] = 570;\n t[\"odieresis\"] = 500;\n t[\"udieresis\"] = 556;\n t[\"notequal\"] = 549;\n t[\"gcommaaccent\"] = 500;\n t[\"eth\"] = 500;\n t[\"zcaron\"] = 444;\n t[\"ncommaaccent\"] = 556;\n t[\"onesuperior\"] = 300;\n t[\"imacron\"] = 278;\n t[\"Euro\"] = 500;\n });\n t[\"Times-BoldItalic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 250;\n t[\"exclam\"] = 389;\n t[\"quotedbl\"] = 555;\n t[\"numbersign\"] = 500;\n t[\"dollar\"] = 500;\n t[\"percent\"] = 833;\n t[\"ampersand\"] = 778;\n t[\"quoteright\"] = 333;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asterisk\"] = 500;\n t[\"plus\"] = 570;\n t[\"comma\"] = 250;\n t[\"hyphen\"] = 333;\n t[\"period\"] = 250;\n t[\"slash\"] = 278;\n t[\"zero\"] = 500;\n t[\"one\"] = 500;\n t[\"two\"] = 500;\n t[\"three\"] = 500;\n t[\"four\"] = 500;\n t[\"five\"] = 500;\n t[\"six\"] = 500;\n t[\"seven\"] = 500;\n t[\"eight\"] = 500;\n t[\"nine\"] = 500;\n t[\"colon\"] = 333;\n t[\"semicolon\"] = 333;\n t[\"less\"] = 570;\n t[\"equal\"] = 570;\n t[\"greater\"] = 570;\n t[\"question\"] = 500;\n t[\"at\"] = 832;\n t[\"A\"] = 667;\n t[\"B\"] = 667;\n t[\"C\"] = 667;\n t[\"D\"] = 722;\n t[\"E\"] = 667;\n t[\"F\"] = 667;\n t[\"G\"] = 722;\n t[\"H\"] = 778;\n t[\"I\"] = 389;\n t[\"J\"] = 500;\n t[\"K\"] = 667;\n t[\"L\"] = 611;\n t[\"M\"] = 889;\n t[\"N\"] = 722;\n t[\"O\"] = 722;\n t[\"P\"] = 611;\n t[\"Q\"] = 722;\n t[\"R\"] = 667;\n t[\"S\"] = 556;\n t[\"T\"] = 611;\n t[\"U\"] = 722;\n t[\"V\"] = 667;\n t[\"W\"] = 889;\n t[\"X\"] = 667;\n t[\"Y\"] = 611;\n t[\"Z\"] = 611;\n t[\"bracketleft\"] = 333;\n t[\"backslash\"] = 278;\n t[\"bracketright\"] = 333;\n t[\"asciicircum\"] = 570;\n t[\"underscore\"] = 500;\n t[\"quoteleft\"] = 333;\n t[\"a\"] = 500;\n t[\"b\"] = 500;\n t[\"c\"] = 444;\n t[\"d\"] = 500;\n t[\"e\"] = 444;\n t[\"f\"] = 333;\n t[\"g\"] = 500;\n t[\"h\"] = 556;\n t[\"i\"] = 278;\n t[\"j\"] = 278;\n t[\"k\"] = 500;\n t[\"l\"] = 278;\n t[\"m\"] = 778;\n t[\"n\"] = 556;\n t[\"o\"] = 500;\n t[\"p\"] = 500;\n t[\"q\"] = 500;\n t[\"r\"] = 389;\n t[\"s\"] = 389;\n t[\"t\"] = 278;\n t[\"u\"] = 556;\n t[\"v\"] = 444;\n t[\"w\"] = 667;\n t[\"x\"] = 500;\n t[\"y\"] = 444;\n t[\"z\"] = 389;\n t[\"braceleft\"] = 348;\n t[\"bar\"] = 220;\n t[\"braceright\"] = 348;\n t[\"asciitilde\"] = 570;\n t[\"exclamdown\"] = 389;\n t[\"cent\"] = 500;\n t[\"sterling\"] = 500;\n t[\"fraction\"] = 167;\n t[\"yen\"] = 500;\n t[\"florin\"] = 500;\n t[\"section\"] = 500;\n t[\"currency\"] = 500;\n t[\"quotesingle\"] = 278;\n t[\"quotedblleft\"] = 500;\n t[\"guillemotleft\"] = 500;\n t[\"guilsinglleft\"] = 333;\n t[\"guilsinglright\"] = 333;\n t[\"fi\"] = 556;\n t[\"fl\"] = 556;\n t[\"endash\"] = 500;\n t[\"dagger\"] = 500;\n t[\"daggerdbl\"] = 500;\n t[\"periodcentered\"] = 250;\n t[\"paragraph\"] = 500;\n t[\"bullet\"] = 350;\n t[\"quotesinglbase\"] = 333;\n t[\"quotedblbase\"] = 500;\n t[\"quotedblright\"] = 500;\n t[\"guillemotright\"] = 500;\n t[\"ellipsis\"] = 1000;\n t[\"perthousand\"] = 1000;\n t[\"questiondown\"] = 500;\n t[\"grave\"] = 333;\n t[\"acute\"] = 333;\n t[\"circumflex\"] = 333;\n t[\"tilde\"] = 333;\n t[\"macron\"] = 333;\n t[\"breve\"] = 333;\n t[\"dotaccent\"] = 333;\n t[\"dieresis\"] = 333;\n t[\"ring\"] = 333;\n t[\"cedilla\"] = 333;\n t[\"hungarumlaut\"] = 333;\n t[\"ogonek\"] = 333;\n t[\"caron\"] = 333;\n t[\"emdash\"] = 1000;\n t[\"AE\"] = 944;\n t[\"ordfeminine\"] = 266;\n t[\"Lslash\"] = 611;\n t[\"Oslash\"] = 722;\n t[\"OE\"] = 944;\n t[\"ordmasculine\"] = 300;\n t[\"ae\"] = 722;\n t[\"dotlessi\"] = 278;\n t[\"lslash\"] = 278;\n t[\"oslash\"] = 500;\n t[\"oe\"] = 722;\n t[\"germandbls\"] = 500;\n t[\"Idieresis\"] = 389;\n t[\"eacute\"] = 444;\n t[\"abreve\"] = 500;\n t[\"uhungarumlaut\"] = 556;\n t[\"ecaron\"] = 444;\n t[\"Ydieresis\"] = 611;\n t[\"divide\"] = 570;\n t[\"Yacute\"] = 611;\n t[\"Acircumflex\"] = 667;\n t[\"aacute\"] = 500;\n t[\"Ucircumflex\"] = 722;\n t[\"yacute\"] = 444;\n t[\"scommaaccent\"] = 389;\n t[\"ecircumflex\"] = 444;\n t[\"Uring\"] = 722;\n t[\"Udieresis\"] = 722;\n t[\"aogonek\"] = 500;\n t[\"Uacute\"] = 722;\n t[\"uogonek\"] = 556;\n t[\"Edieresis\"] = 667;\n t[\"Dcroat\"] = 722;\n t[\"commaaccent\"] = 250;\n t[\"copyright\"] = 747;\n t[\"Emacron\"] = 667;\n t[\"ccaron\"] = 444;\n t[\"aring\"] = 500;\n t[\"Ncommaaccent\"] = 722;\n t[\"lacute\"] = 278;\n t[\"agrave\"] = 500;\n t[\"Tcommaaccent\"] = 611;\n t[\"Cacute\"] = 667;\n t[\"atilde\"] = 500;\n t[\"Edotaccent\"] = 667;\n t[\"scaron\"] = 389;\n t[\"scedilla\"] = 389;\n t[\"iacute\"] = 278;\n t[\"lozenge\"] = 494;\n t[\"Rcaron\"] = 667;\n t[\"Gcommaaccent\"] = 722;\n t[\"ucircumflex\"] = 556;\n t[\"acircumflex\"] = 500;\n t[\"Amacron\"] = 667;\n t[\"rcaron\"] = 389;\n t[\"ccedilla\"] = 444;\n t[\"Zdotaccent\"] = 611;\n t[\"Thorn\"] = 611;\n t[\"Omacron\"] = 722;\n t[\"Racute\"] = 667;\n t[\"Sacute\"] = 556;\n t[\"dcaron\"] = 608;\n t[\"Umacron\"] = 722;\n t[\"uring\"] = 556;\n t[\"threesuperior\"] = 300;\n t[\"Ograve\"] = 722;\n t[\"Agrave\"] = 667;\n t[\"Abreve\"] = 667;\n t[\"multiply\"] = 570;\n t[\"uacute\"] = 556;\n t[\"Tcaron\"] = 611;\n t[\"partialdiff\"] = 494;\n t[\"ydieresis\"] = 444;\n t[\"Nacute\"] = 722;\n t[\"icircumflex\"] = 278;\n t[\"Ecircumflex\"] = 667;\n t[\"adieresis\"] = 500;\n t[\"edieresis\"] = 444;\n t[\"cacute\"] = 444;\n t[\"nacute\"] = 556;\n t[\"umacron\"] = 556;\n t[\"Ncaron\"] = 722;\n t[\"Iacute\"] = 389;\n t[\"plusminus\"] = 570;\n t[\"brokenbar\"] = 220;\n t[\"registered\"] = 747;\n t[\"Gbreve\"] = 722;\n t[\"Idotaccent\"] = 389;\n t[\"summation\"] = 600;\n t[\"Egrave\"] = 667;\n t[\"racute\"] = 389;\n t[\"omacron\"] = 500;\n t[\"Zacute\"] = 611;\n t[\"Zcaron\"] = 611;\n t[\"greaterequal\"] = 549;\n t[\"Eth\"] = 722;\n t[\"Ccedilla\"] = 667;\n t[\"lcommaaccent\"] = 278;\n t[\"tcaron\"] = 366;\n t[\"eogonek\"] = 444;\n t[\"Uogonek\"] = 722;\n t[\"Aacute\"] = 667;\n t[\"Adieresis\"] = 667;\n t[\"egrave\"] = 444;\n t[\"zacute\"] = 389;\n t[\"iogonek\"] = 278;\n t[\"Oacute\"] = 722;\n t[\"oacute\"] = 500;\n t[\"amacron\"] = 500;\n t[\"sacute\"] = 389;\n t[\"idieresis\"] = 278;\n t[\"Ocircumflex\"] = 722;\n t[\"Ugrave\"] = 722;\n t[\"Delta\"] = 612;\n t[\"thorn\"] = 500;\n t[\"twosuperior\"] = 300;\n t[\"Odieresis\"] = 722;\n t[\"mu\"] = 576;\n t[\"igrave\"] = 278;\n t[\"ohungarumlaut\"] = 500;\n t[\"Eogonek\"] = 667;\n t[\"dcroat\"] = 500;\n t[\"threequarters\"] = 750;\n t[\"Scedilla\"] = 556;\n t[\"lcaron\"] = 382;\n t[\"Kcommaaccent\"] = 667;\n t[\"Lacute\"] = 611;\n t[\"trademark\"] = 1000;\n t[\"edotaccent\"] = 444;\n t[\"Igrave\"] = 389;\n t[\"Imacron\"] = 389;\n t[\"Lcaron\"] = 611;\n t[\"onehalf\"] = 750;\n t[\"lessequal\"] = 549;\n t[\"ocircumflex\"] = 500;\n t[\"ntilde\"] = 556;\n t[\"Uhungarumlaut\"] = 722;\n t[\"Eacute\"] = 667;\n t[\"emacron\"] = 444;\n t[\"gbreve\"] = 500;\n t[\"onequarter\"] = 750;\n t[\"Scaron\"] = 556;\n t[\"Scommaaccent\"] = 556;\n t[\"Ohungarumlaut\"] = 722;\n t[\"degree\"] = 400;\n t[\"ograve\"] = 500;\n t[\"Ccaron\"] = 667;\n t[\"ugrave\"] = 556;\n t[\"radical\"] = 549;\n t[\"Dcaron\"] = 722;\n t[\"rcommaaccent\"] = 389;\n t[\"Ntilde\"] = 722;\n t[\"otilde\"] = 500;\n t[\"Rcommaaccent\"] = 667;\n t[\"Lcommaaccent\"] = 611;\n t[\"Atilde\"] = 667;\n t[\"Aogonek\"] = 667;\n t[\"Aring\"] = 667;\n t[\"Otilde\"] = 722;\n t[\"zdotaccent\"] = 389;\n t[\"Ecaron\"] = 667;\n t[\"Iogonek\"] = 389;\n t[\"kcommaaccent\"] = 500;\n t[\"minus\"] = 606;\n t[\"Icircumflex\"] = 389;\n t[\"ncaron\"] = 556;\n t[\"tcommaaccent\"] = 278;\n t[\"logicalnot\"] = 606;\n t[\"odieresis\"] = 500;\n t[\"udieresis\"] = 556;\n t[\"notequal\"] = 549;\n t[\"gcommaaccent\"] = 500;\n t[\"eth\"] = 500;\n t[\"zcaron\"] = 389;\n t[\"ncommaaccent\"] = 556;\n t[\"onesuperior\"] = 300;\n t[\"imacron\"] = 278;\n t[\"Euro\"] = 500;\n });\n t[\"Times-Italic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 250;\n t[\"exclam\"] = 333;\n t[\"quotedbl\"] = 420;\n t[\"numbersign\"] = 500;\n t[\"dollar\"] = 500;\n t[\"percent\"] = 833;\n t[\"ampersand\"] = 778;\n t[\"quoteright\"] = 333;\n t[\"parenleft\"] = 333;\n t[\"parenright\"] = 333;\n t[\"asterisk\"] = 500;\n t[\"plus\"] = 675;\n t[\"comma\"] = 250;\n t[\"hyphen\"] = 333;\n t[\"period\"] = 250;\n t[\"slash\"] = 278;\n t[\"zero\"] = 500;\n t[\"one\"] = 500;\n t[\"two\"] = 500;\n t[\"three\"] = 500;\n t[\"four\"] = 500;\n t[\"five\"] = 500;\n t[\"six\"] = 500;\n t[\"seven\"] = 500;\n t[\"eight\"] = 500;\n t[\"nine\"] = 500;\n t[\"colon\"] = 333;\n t[\"semicolon\"] = 333;\n t[\"less\"] = 675;\n t[\"equal\"] = 675;\n t[\"greater\"] = 675;\n t[\"question\"] = 500;\n t[\"at\"] = 920;\n t[\"A\"] = 611;\n t[\"B\"] = 611;\n t[\"C\"] = 667;\n t[\"D\"] = 722;\n t[\"E\"] = 611;\n t[\"F\"] = 611;\n t[\"G\"] = 722;\n t[\"H\"] = 722;\n t[\"I\"] = 333;\n t[\"J\"] = 444;\n t[\"K\"] = 667;\n t[\"L\"] = 556;\n t[\"M\"] = 833;\n t[\"N\"] = 667;\n t[\"O\"] = 722;\n t[\"P\"] = 611;\n t[\"Q\"] = 722;\n t[\"R\"] = 611;\n t[\"S\"] = 500;\n t[\"T\"] = 556;\n t[\"U\"] = 722;\n t[\"V\"] = 611;\n t[\"W\"] = 833;\n t[\"X\"] = 611;\n t[\"Y\"] = 556;\n t[\"Z\"] = 556;\n t[\"bracketleft\"] = 389;\n t[\"backslash\"] = 278;\n t[\"bracketright\"] = 389;\n t[\"asciicircum\"] = 422;\n t[\"underscore\"] = 500;\n t[\"quoteleft\"] = 333;\n t[\"a\"] = 500;\n t[\"b\"] = 500;\n t[\"c\"] = 444;\n t[\"d\"] = 500;\n t[\"e\"] = 444;\n t[\"f\"] = 278;\n t[\"g\"] = 500;\n t[\"h\"] = 500;\n t[\"i\"] = 278;\n t[\"j\"] = 278;\n t[\"k\"] = 444;\n t[\"l\"] = 278;\n t[\"m\"] = 722;\n t[\"n\"] = 500;\n t[\"o\"] = 500;\n t[\"p\"] = 500;\n t[\"q\"] = 500;\n t[\"r\"] = 389;\n t[\"s\"] = 389;\n t[\"t\"] = 278;\n t[\"u\"] = 500;\n t[\"v\"] = 444;\n t[\"w\"] = 667;\n t[\"x\"] = 444;\n t[\"y\"] = 444;\n t[\"z\"] = 389;\n t[\"braceleft\"] = 400;\n t[\"bar\"] = 275;\n t[\"braceright\"] = 400;\n t[\"asciitilde\"] = 541;\n t[\"exclamdown\"] = 389;\n t[\"cent\"] = 500;\n t[\"sterling\"] = 500;\n t[\"fraction\"] = 167;\n t[\"yen\"] = 500;\n t[\"florin\"] = 500;\n t[\"section\"] = 500;\n t[\"currency\"] = 500;\n t[\"quotesingle\"] = 214;\n t[\"quotedblleft\"] = 556;\n t[\"guillemotleft\"] = 500;\n t[\"guilsinglleft\"] = 333;\n t[\"guilsinglright\"] = 333;\n t[\"fi\"] = 500;\n t[\"fl\"] = 500;\n t[\"endash\"] = 500;\n t[\"dagger\"] = 500;\n t[\"daggerdbl\"] = 500;\n t[\"periodcentered\"] = 250;\n t[\"paragraph\"] = 523;\n t[\"bullet\"] = 350;\n t[\"quotesinglbase\"] = 333;\n t[\"quotedblbase\"] = 556;\n t[\"quotedblright\"] = 556;\n t[\"guillemotright\"] = 500;\n t[\"ellipsis\"] = 889;\n t[\"perthousand\"] = 1000;\n t[\"questiondown\"] = 500;\n t[\"grave\"] = 333;\n t[\"acute\"] = 333;\n t[\"circumflex\"] = 333;\n t[\"tilde\"] = 333;\n t[\"macron\"] = 333;\n t[\"breve\"] = 333;\n t[\"dotaccent\"] = 333;\n t[\"dieresis\"] = 333;\n t[\"ring\"] = 333;\n t[\"cedilla\"] = 333;\n t[\"hungarumlaut\"] = 333;\n t[\"ogonek\"] = 333;\n t[\"caron\"] = 333;\n t[\"emdash\"] = 889;\n t[\"AE\"] = 889;\n t[\"ordfeminine\"] = 276;\n t[\"Lslash\"] = 556;\n t[\"Oslash\"] = 722;\n t[\"OE\"] = 944;\n t[\"ordmasculine\"] = 310;\n t[\"ae\"] = 667;\n t[\"dotlessi\"] = 278;\n t[\"lslash\"] = 278;\n t[\"oslash\"] = 500;\n t[\"oe\"] = 667;\n t[\"germandbls\"] = 500;\n t[\"Idieresis\"] = 333;\n t[\"eacute\"] = 444;\n t[\"abreve\"] = 500;\n t[\"uhungarumlaut\"] = 500;\n t[\"ecaron\"] = 444;\n t[\"Ydieresis\"] = 556;\n t[\"divide\"] = 675;\n t[\"Yacute\"] = 556;\n t[\"Acircumflex\"] = 611;\n t[\"aacute\"] = 500;\n t[\"Ucircumflex\"] = 722;\n t[\"yacute\"] = 444;\n t[\"scommaaccent\"] = 389;\n t[\"ecircumflex\"] = 444;\n t[\"Uring\"] = 722;\n t[\"Udieresis\"] = 722;\n t[\"aogonek\"] = 500;\n t[\"Uacute\"] = 722;\n t[\"uogonek\"] = 500;\n t[\"Edieresis\"] = 611;\n t[\"Dcroat\"] = 722;\n t[\"commaaccent\"] = 250;\n t[\"copyright\"] = 760;\n t[\"Emacron\"] = 611;\n t[\"ccaron\"] = 444;\n t[\"aring\"] = 500;\n t[\"Ncommaaccent\"] = 667;\n t[\"lacute\"] = 278;\n t[\"agrave\"] = 500;\n t[\"Tcommaaccent\"] = 556;\n t[\"Cacute\"] = 667;\n t[\"atilde\"] = 500;\n t[\"Edotaccent\"] = 611;\n t[\"scaron\"] = 389;\n t[\"scedilla\"] = 389;\n t[\"iacute\"] = 278;\n t[\"lozenge\"] = 471;\n t[\"Rcaron\"] = 611;\n t[\"Gcommaaccent\"] = 722;\n t[\"ucircumflex\"] = 500;\n t[\"acircumflex\"] = 500;\n t[\"Amacron\"] = 611;\n t[\"rcaron\"] = 389;\n t[\"ccedilla\"] = 444;\n t[\"Zdotaccent\"] = 556;\n t[\"Thorn\"] = 611;\n t[\"Omacron\"] = 722;\n t[\"Racute\"] = 611;\n t[\"Sacute\"] = 500;\n t[\"dcaron\"] = 544;\n t[\"Umacron\"] = 722;\n t[\"uring\"] = 500;\n t[\"threesuperior\"] = 300;\n t[\"Ograve\"] = 722;\n t[\"Agrave\"] = 611;\n t[\"Abreve\"] = 611;\n t[\"multiply\"] = 675;\n t[\"uacute\"] = 500;\n t[\"Tcaron\"] = 556;\n t[\"partialdiff\"] = 476;\n t[\"ydieresis\"] = 444;\n t[\"Nacute\"] = 667;\n t[\"icircumflex\"] = 278;\n t[\"Ecircumflex\"] = 611;\n t[\"adieresis\"] = 500;\n t[\"edieresis\"] = 444;\n t[\"cacute\"] = 444;\n t[\"nacute\"] = 500;\n t[\"umacron\"] = 500;\n t[\"Ncaron\"] = 667;\n t[\"Iacute\"] = 333;\n t[\"plusminus\"] = 675;\n t[\"brokenbar\"] = 275;\n t[\"registered\"] = 760;\n t[\"Gbreve\"] = 722;\n t[\"Idotaccent\"] = 333;\n t[\"summation\"] = 600;\n t[\"Egrave\"] = 611;\n t[\"racute\"] = 389;\n t[\"omacron\"] = 500;\n t[\"Zacute\"] = 556;\n t[\"Zcaron\"] = 556;\n t[\"greaterequal\"] = 549;\n t[\"Eth\"] = 722;\n t[\"Ccedilla\"] = 667;\n t[\"lcommaaccent\"] = 278;\n t[\"tcaron\"] = 300;\n t[\"eogonek\"] = 444;\n t[\"Uogonek\"] = 722;\n t[\"Aacute\"] = 611;\n t[\"Adieresis\"] = 611;\n t[\"egrave\"] = 444;\n t[\"zacute\"] = 389;\n t[\"iogonek\"] = 278;\n t[\"Oacute\"] = 722;\n t[\"oacute\"] = 500;\n t[\"amacron\"] = 500;\n t[\"sacute\"] = 389;\n t[\"idieresis\"] = 278;\n t[\"Ocircumflex\"] = 722;\n t[\"Ugrave\"] = 722;\n t[\"Delta\"] = 612;\n t[\"thorn\"] = 500;\n t[\"twosuperior\"] = 300;\n t[\"Odieresis\"] = 722;\n t[\"mu\"] = 500;\n t[\"igrave\"] = 278;\n t[\"ohungarumlaut\"] = 500;\n t[\"Eogonek\"] = 611;\n t[\"dcroat\"] = 500;\n t[\"threequarters\"] = 750;\n t[\"Scedilla\"] = 500;\n t[\"lcaron\"] = 300;\n t[\"Kcommaaccent\"] = 667;\n t[\"Lacute\"] = 556;\n t[\"trademark\"] = 980;\n t[\"edotaccent\"] = 444;\n t[\"Igrave\"] = 333;\n t[\"Imacron\"] = 333;\n t[\"Lcaron\"] = 611;\n t[\"onehalf\"] = 750;\n t[\"lessequal\"] = 549;\n t[\"ocircumflex\"] = 500;\n t[\"ntilde\"] = 500;\n t[\"Uhungarumlaut\"] = 722;\n t[\"Eacute\"] = 611;\n t[\"emacron\"] = 444;\n t[\"gbreve\"] = 500;\n t[\"onequarter\"] = 750;\n t[\"Scaron\"] = 500;\n t[\"Scommaaccent\"] = 500;\n t[\"Ohungarumlaut\"] = 722;\n t[\"degree\"] = 400;\n t[\"ograve\"] = 500;\n t[\"Ccaron\"] = 667;\n t[\"ugrave\"] = 500;\n t[\"radical\"] = 453;\n t[\"Dcaron\"] = 722;\n t[\"rcommaaccent\"] = 389;\n t[\"Ntilde\"] = 667;\n t[\"otilde\"] = 500;\n t[\"Rcommaaccent\"] = 611;\n t[\"Lcommaaccent\"] = 556;\n t[\"Atilde\"] = 611;\n t[\"Aogonek\"] = 611;\n t[\"Aring\"] = 611;\n t[\"Otilde\"] = 722;\n t[\"zdotaccent\"] = 389;\n t[\"Ecaron\"] = 611;\n t[\"Iogonek\"] = 333;\n t[\"kcommaaccent\"] = 444;\n t[\"minus\"] = 675;\n t[\"Icircumflex\"] = 333;\n t[\"ncaron\"] = 500;\n t[\"tcommaaccent\"] = 278;\n t[\"logicalnot\"] = 675;\n t[\"odieresis\"] = 500;\n t[\"udieresis\"] = 500;\n t[\"notequal\"] = 549;\n t[\"gcommaaccent\"] = 500;\n t[\"eth\"] = 500;\n t[\"zcaron\"] = 389;\n t[\"ncommaaccent\"] = 500;\n t[\"onesuperior\"] = 300;\n t[\"imacron\"] = 278;\n t[\"Euro\"] = 500;\n });\n t[\"ZapfDingbats\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"space\"] = 278;\n t[\"a1\"] = 974;\n t[\"a2\"] = 961;\n t[\"a202\"] = 974;\n t[\"a3\"] = 980;\n t[\"a4\"] = 719;\n t[\"a5\"] = 789;\n t[\"a119\"] = 790;\n t[\"a118\"] = 791;\n t[\"a117\"] = 690;\n t[\"a11\"] = 960;\n t[\"a12\"] = 939;\n t[\"a13\"] = 549;\n t[\"a14\"] = 855;\n t[\"a15\"] = 911;\n t[\"a16\"] = 933;\n t[\"a105\"] = 911;\n t[\"a17\"] = 945;\n t[\"a18\"] = 974;\n t[\"a19\"] = 755;\n t[\"a20\"] = 846;\n t[\"a21\"] = 762;\n t[\"a22\"] = 761;\n t[\"a23\"] = 571;\n t[\"a24\"] = 677;\n t[\"a25\"] = 763;\n t[\"a26\"] = 760;\n t[\"a27\"] = 759;\n t[\"a28\"] = 754;\n t[\"a6\"] = 494;\n t[\"a7\"] = 552;\n t[\"a8\"] = 537;\n t[\"a9\"] = 577;\n t[\"a10\"] = 692;\n t[\"a29\"] = 786;\n t[\"a30\"] = 788;\n t[\"a31\"] = 788;\n t[\"a32\"] = 790;\n t[\"a33\"] = 793;\n t[\"a34\"] = 794;\n t[\"a35\"] = 816;\n t[\"a36\"] = 823;\n t[\"a37\"] = 789;\n t[\"a38\"] = 841;\n t[\"a39\"] = 823;\n t[\"a40\"] = 833;\n t[\"a41\"] = 816;\n t[\"a42\"] = 831;\n t[\"a43\"] = 923;\n t[\"a44\"] = 744;\n t[\"a45\"] = 723;\n t[\"a46\"] = 749;\n t[\"a47\"] = 790;\n t[\"a48\"] = 792;\n t[\"a49\"] = 695;\n t[\"a50\"] = 776;\n t[\"a51\"] = 768;\n t[\"a52\"] = 792;\n t[\"a53\"] = 759;\n t[\"a54\"] = 707;\n t[\"a55\"] = 708;\n t[\"a56\"] = 682;\n t[\"a57\"] = 701;\n t[\"a58\"] = 826;\n t[\"a59\"] = 815;\n t[\"a60\"] = 789;\n t[\"a61\"] = 789;\n t[\"a62\"] = 707;\n t[\"a63\"] = 687;\n t[\"a64\"] = 696;\n t[\"a65\"] = 689;\n t[\"a66\"] = 786;\n t[\"a67\"] = 787;\n t[\"a68\"] = 713;\n t[\"a69\"] = 791;\n t[\"a70\"] = 785;\n t[\"a71\"] = 791;\n t[\"a72\"] = 873;\n t[\"a73\"] = 761;\n t[\"a74\"] = 762;\n t[\"a203\"] = 762;\n t[\"a75\"] = 759;\n t[\"a204\"] = 759;\n t[\"a76\"] = 892;\n t[\"a77\"] = 892;\n t[\"a78\"] = 788;\n t[\"a79\"] = 784;\n t[\"a81\"] = 438;\n t[\"a82\"] = 138;\n t[\"a83\"] = 277;\n t[\"a84\"] = 415;\n t[\"a97\"] = 392;\n t[\"a98\"] = 392;\n t[\"a99\"] = 668;\n t[\"a100\"] = 668;\n t[\"a89\"] = 390;\n t[\"a90\"] = 390;\n t[\"a93\"] = 317;\n t[\"a94\"] = 317;\n t[\"a91\"] = 276;\n t[\"a92\"] = 276;\n t[\"a205\"] = 509;\n t[\"a85\"] = 509;\n t[\"a206\"] = 410;\n t[\"a86\"] = 410;\n t[\"a87\"] = 234;\n t[\"a88\"] = 234;\n t[\"a95\"] = 334;\n t[\"a96\"] = 334;\n t[\"a101\"] = 732;\n t[\"a102\"] = 544;\n t[\"a103\"] = 544;\n t[\"a104\"] = 910;\n t[\"a106\"] = 667;\n t[\"a107\"] = 760;\n t[\"a108\"] = 760;\n t[\"a112\"] = 776;\n t[\"a111\"] = 595;\n t[\"a110\"] = 694;\n t[\"a109\"] = 626;\n t[\"a120\"] = 788;\n t[\"a121\"] = 788;\n t[\"a122\"] = 788;\n t[\"a123\"] = 788;\n t[\"a124\"] = 788;\n t[\"a125\"] = 788;\n t[\"a126\"] = 788;\n t[\"a127\"] = 788;\n t[\"a128\"] = 788;\n t[\"a129\"] = 788;\n t[\"a130\"] = 788;\n t[\"a131\"] = 788;\n t[\"a132\"] = 788;\n t[\"a133\"] = 788;\n t[\"a134\"] = 788;\n t[\"a135\"] = 788;\n t[\"a136\"] = 788;\n t[\"a137\"] = 788;\n t[\"a138\"] = 788;\n t[\"a139\"] = 788;\n t[\"a140\"] = 788;\n t[\"a141\"] = 788;\n t[\"a142\"] = 788;\n t[\"a143\"] = 788;\n t[\"a144\"] = 788;\n t[\"a145\"] = 788;\n t[\"a146\"] = 788;\n t[\"a147\"] = 788;\n t[\"a148\"] = 788;\n t[\"a149\"] = 788;\n t[\"a150\"] = 788;\n t[\"a151\"] = 788;\n t[\"a152\"] = 788;\n t[\"a153\"] = 788;\n t[\"a154\"] = 788;\n t[\"a155\"] = 788;\n t[\"a156\"] = 788;\n t[\"a157\"] = 788;\n t[\"a158\"] = 788;\n t[\"a159\"] = 788;\n t[\"a160\"] = 894;\n t[\"a161\"] = 838;\n t[\"a163\"] = 1016;\n t[\"a164\"] = 458;\n t[\"a196\"] = 748;\n t[\"a165\"] = 924;\n t[\"a192\"] = 748;\n t[\"a166\"] = 918;\n t[\"a167\"] = 927;\n t[\"a168\"] = 928;\n t[\"a169\"] = 928;\n t[\"a170\"] = 834;\n t[\"a171\"] = 873;\n t[\"a172\"] = 828;\n t[\"a173\"] = 924;\n t[\"a162\"] = 924;\n t[\"a174\"] = 917;\n t[\"a175\"] = 930;\n t[\"a176\"] = 931;\n t[\"a177\"] = 463;\n t[\"a178\"] = 883;\n t[\"a179\"] = 836;\n t[\"a193\"] = 836;\n t[\"a180\"] = 867;\n t[\"a199\"] = 867;\n t[\"a181\"] = 696;\n t[\"a200\"] = 696;\n t[\"a182\"] = 874;\n t[\"a201\"] = 874;\n t[\"a183\"] = 760;\n t[\"a184\"] = 946;\n t[\"a197\"] = 771;\n t[\"a185\"] = 865;\n t[\"a194\"] = 771;\n t[\"a198\"] = 888;\n t[\"a186\"] = 967;\n t[\"a195\"] = 888;\n t[\"a187\"] = 831;\n t[\"a188\"] = 873;\n t[\"a189\"] = 927;\n t[\"a190\"] = 970;\n t[\"a191\"] = 918;\n });\n });\n exports.getMetrics = getMetrics;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isPDFFunction = isPDFFunction;\n exports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _ps_parser = __w_pdfjs_require__(40);\n\n var PDFFunctionFactory = /*#__PURE__*/function () {\n function PDFFunctionFactory(_ref30) {\n var xref = _ref30.xref,\n _ref30$isEvalSupporte = _ref30.isEvalSupported,\n isEvalSupported = _ref30$isEvalSupporte === void 0 ? true : _ref30$isEvalSupporte;\n\n _classCallCheck(this, PDFFunctionFactory);\n\n this.xref = xref;\n this.isEvalSupported = isEvalSupported !== false;\n }\n\n _createClass(PDFFunctionFactory, [{\n key: \"create\",\n value: function create(fn) {\n return PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn: fn\n });\n }\n }, {\n key: \"createFromArray\",\n value: function createFromArray(fnObj) {\n return PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj: fnObj\n });\n }\n }]);\n\n return PDFFunctionFactory;\n }();\n\n exports.PDFFunctionFactory = PDFFunctionFactory;\n\n function toNumberArray(arr) {\n if (!Array.isArray(arr)) {\n return null;\n }\n\n var length = arr.length;\n\n for (var i = 0; i < length; i++) {\n if (typeof arr[i] !== \"number\") {\n var result = new Array(length);\n\n for (var _i23 = 0; _i23 < length; _i23++) {\n result[_i23] = +arr[_i23];\n }\n\n return result;\n }\n }\n\n return arr;\n }\n\n var PDFFunction = function PDFFunctionClosure() {\n var CONSTRUCT_SAMPLED = 0;\n var CONSTRUCT_INTERPOLATED = 2;\n var CONSTRUCT_STICHED = 3;\n var CONSTRUCT_POSTSCRIPT = 4;\n return {\n getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n var i, ii;\n var length = 1;\n\n for (i = 0, ii = size.length; i < ii; i++) {\n length *= size[i];\n }\n\n length *= outputSize;\n var array = new Array(length);\n var codeSize = 0;\n var codeBuf = 0;\n var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n var strBytes = stream.getBytes((length * bps + 7) / 8);\n var strIdx = 0;\n\n for (i = 0; i < length; i++) {\n while (codeSize < bps) {\n codeBuf <<= 8;\n codeBuf |= strBytes[strIdx++];\n codeSize += 8;\n }\n\n codeSize -= bps;\n array[i] = (codeBuf >> codeSize) * sampleMul;\n codeBuf &= (1 << codeSize) - 1;\n }\n\n return array;\n },\n getIR: function getIR(_ref31) {\n var xref = _ref31.xref,\n isEvalSupported = _ref31.isEvalSupported,\n fn = _ref31.fn;\n var dict = fn.dict;\n\n if (!dict) {\n dict = fn;\n }\n\n var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n var typeNum = dict.get(\"FunctionType\");\n var typeFn = types[typeNum];\n\n if (!typeFn) {\n throw new _util.FormatError(\"Unknown type of function\");\n }\n\n return typeFn.call(this, {\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn,\n dict: dict\n });\n },\n fromIR: function fromIR(_ref32) {\n var xref = _ref32.xref,\n isEvalSupported = _ref32.isEvalSupported,\n IR = _ref32.IR;\n var type = IR[0];\n\n switch (type) {\n case CONSTRUCT_SAMPLED:\n return this.constructSampledFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_INTERPOLATED:\n return this.constructInterpolatedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_STICHED:\n return this.constructStichedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n default:\n return this.constructPostScriptFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n }\n },\n parse: function parse(_ref33) {\n var xref = _ref33.xref,\n isEvalSupported = _ref33.isEvalSupported,\n fn = _ref33.fn;\n var IR = this.getIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn\n });\n return this.fromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n },\n parseArray: function parseArray(_ref34) {\n var xref = _ref34.xref,\n isEvalSupported = _ref34.isEvalSupported,\n fnObj = _ref34.fnObj;\n\n if (!Array.isArray(fnObj)) {\n return this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fnObj\n });\n }\n\n var fnArray = [];\n\n for (var j = 0, jj = fnObj.length; j < jj; j++) {\n fnArray.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnObj[j])\n }));\n }\n\n return function (src, srcOffset, dest, destOffset) {\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n fnArray[i](src, srcOffset, dest, destOffset + i);\n }\n };\n },\n constructSampled: function constructSampled(_ref35) {\n var xref = _ref35.xref,\n isEvalSupported = _ref35.isEvalSupported,\n fn = _ref35.fn,\n dict = _ref35.dict;\n\n function toMultiArray(arr) {\n var inputLength = arr.length;\n var out = [];\n var index = 0;\n\n for (var i = 0; i < inputLength; i += 2) {\n out[index] = [arr[i], arr[i + 1]];\n ++index;\n }\n\n return out;\n }\n\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n var range = toNumberArray(dict.getArray(\"Range\"));\n\n if (!domain || !range) {\n throw new _util.FormatError(\"No domain or range\");\n }\n\n var inputSize = domain.length / 2;\n var outputSize = range.length / 2;\n domain = toMultiArray(domain);\n range = toMultiArray(range);\n var size = toNumberArray(dict.getArray(\"Size\"));\n var bps = dict.get(\"BitsPerSample\");\n var order = dict.get(\"Order\") || 1;\n\n if (order !== 1) {\n (0, _util.info)(\"No support for cubic spline interpolation: \" + order);\n }\n\n var encode = toNumberArray(dict.getArray(\"Encode\"));\n\n if (!encode) {\n encode = [];\n\n for (var i = 0; i < inputSize; ++i) {\n encode.push([0, size[i] - 1]);\n }\n } else {\n encode = toMultiArray(encode);\n }\n\n var decode = toNumberArray(dict.getArray(\"Decode\"));\n\n if (!decode) {\n decode = range;\n } else {\n decode = toMultiArray(decode);\n }\n\n var samples = this.getSampleArray(size, outputSize, bps, fn);\n return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n },\n constructSampledFromIR: function constructSampledFromIR(_ref36) {\n var xref = _ref36.xref,\n isEvalSupported = _ref36.isEvalSupported,\n IR = _ref36.IR;\n\n function interpolate(x, xmin, xmax, ymin, ymax) {\n return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n }\n\n return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n var m = IR[1];\n var domain = IR[2];\n var encode = IR[3];\n var decode = IR[4];\n var samples = IR[5];\n var size = IR[6];\n var n = IR[7];\n var range = IR[9];\n var cubeVertices = 1 << m;\n var cubeN = new Float64Array(cubeVertices);\n var cubeVertex = new Uint32Array(cubeVertices);\n var i, j;\n\n for (j = 0; j < cubeVertices; j++) {\n cubeN[j] = 1;\n }\n\n var k = n,\n pos = 1;\n\n for (i = 0; i < m; ++i) {\n var domain_2i = domain[i][0];\n var domain_2i_1 = domain[i][1];\n var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n var size_i = size[i];\n e = Math.min(Math.max(e, 0), size_i - 1);\n var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n var n0 = e0 + 1 - e;\n var n1 = e - e0;\n var offset0 = e0 * k;\n var offset1 = offset0 + k;\n\n for (j = 0; j < cubeVertices; j++) {\n if (j & pos) {\n cubeN[j] *= n1;\n cubeVertex[j] += offset1;\n } else {\n cubeN[j] *= n0;\n cubeVertex[j] += offset0;\n }\n }\n\n k *= size_i;\n pos <<= 1;\n }\n\n for (j = 0; j < n; ++j) {\n var rj = 0;\n\n for (i = 0; i < cubeVertices; i++) {\n rj += samples[cubeVertex[i] + j] * cubeN[i];\n }\n\n rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n }\n };\n },\n constructInterpolated: function constructInterpolated(_ref37) {\n var xref = _ref37.xref,\n isEvalSupported = _ref37.isEvalSupported,\n fn = _ref37.fn,\n dict = _ref37.dict;\n var c0 = toNumberArray(dict.getArray(\"C0\")) || [0];\n var c1 = toNumberArray(dict.getArray(\"C1\")) || [1];\n var n = dict.get(\"N\");\n var length = c0.length;\n var diff = [];\n\n for (var i = 0; i < length; ++i) {\n diff.push(c1[i] - c0[i]);\n }\n\n return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n },\n constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref38) {\n var xref = _ref38.xref,\n isEvalSupported = _ref38.isEvalSupported,\n IR = _ref38.IR;\n var c0 = IR[1];\n var diff = IR[2];\n var n = IR[3];\n var length = diff.length;\n return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n\n for (var j = 0; j < length; ++j) {\n dest[destOffset + j] = c0[j] + x * diff[j];\n }\n };\n },\n constructStiched: function constructStiched(_ref39) {\n var xref = _ref39.xref,\n isEvalSupported = _ref39.isEvalSupported,\n fn = _ref39.fn,\n dict = _ref39.dict;\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n\n if (!domain) {\n throw new _util.FormatError(\"No domain\");\n }\n\n var inputSize = domain.length / 2;\n\n if (inputSize !== 1) {\n throw new _util.FormatError(\"Bad domain for stiched function\");\n }\n\n var fnRefs = dict.get(\"Functions\");\n var fns = [];\n\n for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n fns.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnRefs[i])\n }));\n }\n\n var bounds = toNumberArray(dict.getArray(\"Bounds\"));\n var encode = toNumberArray(dict.getArray(\"Encode\"));\n return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n },\n constructStichedFromIR: function constructStichedFromIR(_ref40) {\n var xref = _ref40.xref,\n isEvalSupported = _ref40.isEvalSupported,\n IR = _ref40.IR;\n var domain = IR[1];\n var bounds = IR[2];\n var encode = IR[3];\n var fns = IR[4];\n var tmpBuf = new Float32Array(1);\n return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n var clip = function constructStichedFromIRClip(v, min, max) {\n if (v > max) {\n v = max;\n } else if (v < min) {\n v = min;\n }\n\n return v;\n };\n\n var v = clip(src[srcOffset], domain[0], domain[1]);\n\n for (var i = 0, ii = bounds.length; i < ii; ++i) {\n if (v < bounds[i]) {\n break;\n }\n }\n\n var dmin = domain[0];\n\n if (i > 0) {\n dmin = bounds[i - 1];\n }\n\n var dmax = domain[1];\n\n if (i < bounds.length) {\n dmax = bounds[i];\n }\n\n var rmin = encode[2 * i];\n var rmax = encode[2 * i + 1];\n tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n fns[i](tmpBuf, 0, dest, destOffset);\n };\n },\n constructPostScript: function constructPostScript(_ref41) {\n var xref = _ref41.xref,\n isEvalSupported = _ref41.isEvalSupported,\n fn = _ref41.fn,\n dict = _ref41.dict;\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n var range = toNumberArray(dict.getArray(\"Range\"));\n\n if (!domain) {\n throw new _util.FormatError(\"No domain.\");\n }\n\n if (!range) {\n throw new _util.FormatError(\"No range.\");\n }\n\n var lexer = new _ps_parser.PostScriptLexer(fn);\n var parser = new _ps_parser.PostScriptParser(lexer);\n var code = parser.parse();\n return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n },\n constructPostScriptFromIR: function constructPostScriptFromIR(_ref42) {\n var xref = _ref42.xref,\n isEvalSupported = _ref42.isEvalSupported,\n IR = _ref42.IR;\n var domain = IR[1];\n var range = IR[2];\n var code = IR[3];\n\n if (isEvalSupported && _util.IsEvalSupportedCached.value) {\n var compiled = new PostScriptCompiler().compile(code, domain, range);\n\n if (compiled) {\n return new Function(\"src\", \"srcOffset\", \"dest\", \"destOffset\", compiled);\n }\n }\n\n (0, _util.info)(\"Unable to compile PS function\");\n var numOutputs = range.length >> 1;\n var numInputs = domain.length >> 1;\n var evaluator = new PostScriptEvaluator(code);\n var cache = Object.create(null);\n var MAX_CACHE_SIZE = 2048 * 4;\n var cache_available = MAX_CACHE_SIZE;\n var tmpBuf = new Float32Array(numInputs);\n return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n var i, value;\n var key = \"\";\n var input = tmpBuf;\n\n for (i = 0; i < numInputs; i++) {\n value = src[srcOffset + i];\n input[i] = value;\n key += value + \"_\";\n }\n\n var cachedValue = cache[key];\n\n if (cachedValue !== undefined) {\n dest.set(cachedValue, destOffset);\n return;\n }\n\n var output = new Float32Array(numOutputs);\n var stack = evaluator.execute(input);\n var stackIndex = stack.length - numOutputs;\n\n for (i = 0; i < numOutputs; i++) {\n value = stack[stackIndex + i];\n var bound = range[i * 2];\n\n if (value < bound) {\n value = bound;\n } else {\n bound = range[i * 2 + 1];\n\n if (value > bound) {\n value = bound;\n }\n }\n\n output[i] = value;\n }\n\n if (cache_available > 0) {\n cache_available--;\n cache[key] = output;\n }\n\n dest.set(output, destOffset);\n };\n }\n };\n }();\n\n function isPDFFunction(v) {\n var fnDict;\n\n if (typeof v !== \"object\") {\n return false;\n } else if ((0, _primitives.isDict)(v)) {\n fnDict = v;\n } else if ((0, _primitives.isStream)(v)) {\n fnDict = v.dict;\n } else {\n return false;\n }\n\n return fnDict.has(\"FunctionType\");\n }\n\n var PostScriptStack = function PostScriptStackClosure() {\n var MAX_STACK_SIZE = 100;\n\n function PostScriptStack(initialStack) {\n this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n }\n\n PostScriptStack.prototype = {\n push: function PostScriptStack_push(value) {\n if (this.stack.length >= MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n\n this.stack.push(value);\n },\n pop: function PostScriptStack_pop() {\n if (this.stack.length <= 0) {\n throw new Error(\"PostScript function stack underflow.\");\n }\n\n return this.stack.pop();\n },\n copy: function PostScriptStack_copy(n) {\n if (this.stack.length + n >= MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n\n var stack = this.stack;\n\n for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n stack.push(stack[i]);\n }\n },\n index: function PostScriptStack_index(n) {\n this.push(this.stack[this.stack.length - n - 1]);\n },\n roll: function PostScriptStack_roll(n, p) {\n var stack = this.stack;\n var l = stack.length - n;\n var r = stack.length - 1,\n c = l + (p - Math.floor(p / n) * n),\n i,\n j,\n t;\n\n for (i = l, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = l, j = c - 1; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = c, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n }\n };\n return PostScriptStack;\n }();\n\n var PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n function PostScriptEvaluator(operators) {\n this.operators = operators;\n }\n\n PostScriptEvaluator.prototype = {\n execute: function PostScriptEvaluator_execute(initialStack) {\n var stack = new PostScriptStack(initialStack);\n var counter = 0;\n var operators = this.operators;\n var length = operators.length;\n var operator, a, b;\n\n while (counter < length) {\n operator = operators[counter++];\n\n if (typeof operator === \"number\") {\n stack.push(operator);\n continue;\n }\n\n switch (operator) {\n case \"jz\":\n b = stack.pop();\n a = stack.pop();\n\n if (!a) {\n counter = b;\n }\n\n break;\n\n case \"j\":\n a = stack.pop();\n counter = a;\n break;\n\n case \"abs\":\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n\n case \"add\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a + b);\n break;\n\n case \"and\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a && b);\n } else {\n stack.push(a & b);\n }\n\n break;\n\n case \"atan\":\n a = stack.pop();\n stack.push(Math.atan(a));\n break;\n\n case \"bitshift\":\n b = stack.pop();\n a = stack.pop();\n\n if (a > 0) {\n stack.push(a << b);\n } else {\n stack.push(a >> b);\n }\n\n break;\n\n case \"ceiling\":\n a = stack.pop();\n stack.push(Math.ceil(a));\n break;\n\n case \"copy\":\n a = stack.pop();\n stack.copy(a);\n break;\n\n case \"cos\":\n a = stack.pop();\n stack.push(Math.cos(a));\n break;\n\n case \"cvi\":\n a = stack.pop() | 0;\n stack.push(a);\n break;\n\n case \"cvr\":\n break;\n\n case \"div\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b);\n break;\n\n case \"dup\":\n stack.copy(1);\n break;\n\n case \"eq\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a === b);\n break;\n\n case \"exch\":\n stack.roll(2, 1);\n break;\n\n case \"exp\":\n b = stack.pop();\n a = stack.pop();\n stack.push(Math.pow(a, b));\n break;\n\n case \"false\":\n stack.push(false);\n break;\n\n case \"floor\":\n a = stack.pop();\n stack.push(Math.floor(a));\n break;\n\n case \"ge\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a >= b);\n break;\n\n case \"gt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a > b);\n break;\n\n case \"idiv\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b | 0);\n break;\n\n case \"index\":\n a = stack.pop();\n stack.index(a);\n break;\n\n case \"le\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a <= b);\n break;\n\n case \"ln\":\n a = stack.pop();\n stack.push(Math.log(a));\n break;\n\n case \"log\":\n a = stack.pop();\n stack.push(Math.log(a) / Math.LN10);\n break;\n\n case \"lt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a < b);\n break;\n\n case \"mod\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a % b);\n break;\n\n case \"mul\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a * b);\n break;\n\n case \"ne\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a !== b);\n break;\n\n case \"neg\":\n a = stack.pop();\n stack.push(-a);\n break;\n\n case \"not\":\n a = stack.pop();\n\n if ((0, _util.isBool)(a)) {\n stack.push(!a);\n } else {\n stack.push(~a);\n }\n\n break;\n\n case \"or\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a || b);\n } else {\n stack.push(a | b);\n }\n\n break;\n\n case \"pop\":\n stack.pop();\n break;\n\n case \"roll\":\n b = stack.pop();\n a = stack.pop();\n stack.roll(a, b);\n break;\n\n case \"round\":\n a = stack.pop();\n stack.push(Math.round(a));\n break;\n\n case \"sin\":\n a = stack.pop();\n stack.push(Math.sin(a));\n break;\n\n case \"sqrt\":\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n\n case \"sub\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a - b);\n break;\n\n case \"true\":\n stack.push(true);\n break;\n\n case \"truncate\":\n a = stack.pop();\n a = a < 0 ? Math.ceil(a) : Math.floor(a);\n stack.push(a);\n break;\n\n case \"xor\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a !== b);\n } else {\n stack.push(a ^ b);\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown operator \".concat(operator));\n }\n }\n\n return stack.stack;\n }\n };\n return PostScriptEvaluator;\n }();\n\n exports.PostScriptEvaluator = PostScriptEvaluator;\n\n var PostScriptCompiler = function PostScriptCompilerClosure() {\n function AstNode(type) {\n this.type = type;\n }\n\n AstNode.prototype.visit = function (visitor) {\n (0, _util.unreachable)(\"abstract method\");\n };\n\n function AstArgument(index, min, max) {\n AstNode.call(this, \"args\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstArgument.prototype = Object.create(AstNode.prototype);\n\n AstArgument.prototype.visit = function (visitor) {\n visitor.visitArgument(this);\n };\n\n function AstLiteral(number) {\n AstNode.call(this, \"literal\");\n this.number = number;\n this.min = number;\n this.max = number;\n }\n\n AstLiteral.prototype = Object.create(AstNode.prototype);\n\n AstLiteral.prototype.visit = function (visitor) {\n visitor.visitLiteral(this);\n };\n\n function AstBinaryOperation(op, arg1, arg2, min, max) {\n AstNode.call(this, \"binary\");\n this.op = op;\n this.arg1 = arg1;\n this.arg2 = arg2;\n this.min = min;\n this.max = max;\n }\n\n AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n AstBinaryOperation.prototype.visit = function (visitor) {\n visitor.visitBinaryOperation(this);\n };\n\n function AstMin(arg, max) {\n AstNode.call(this, \"max\");\n this.arg = arg;\n this.min = arg.min;\n this.max = max;\n }\n\n AstMin.prototype = Object.create(AstNode.prototype);\n\n AstMin.prototype.visit = function (visitor) {\n visitor.visitMin(this);\n };\n\n function AstVariable(index, min, max) {\n AstNode.call(this, \"var\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstVariable.prototype = Object.create(AstNode.prototype);\n\n AstVariable.prototype.visit = function (visitor) {\n visitor.visitVariable(this);\n };\n\n function AstVariableDefinition(variable, arg) {\n AstNode.call(this, \"definition\");\n this.variable = variable;\n this.arg = arg;\n }\n\n AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n AstVariableDefinition.prototype.visit = function (visitor) {\n visitor.visitVariableDefinition(this);\n };\n\n function ExpressionBuilderVisitor() {\n this.parts = [];\n }\n\n ExpressionBuilderVisitor.prototype = {\n visitArgument: function visitArgument(arg) {\n this.parts.push(\"Math.max(\", arg.min, \", Math.min(\", arg.max, \", src[srcOffset + \", arg.index, \"]))\");\n },\n visitVariable: function visitVariable(variable) {\n this.parts.push(\"v\", variable.index);\n },\n visitLiteral: function visitLiteral(literal) {\n this.parts.push(literal.number);\n },\n visitBinaryOperation: function visitBinaryOperation(operation) {\n this.parts.push(\"(\");\n operation.arg1.visit(this);\n this.parts.push(\" \", operation.op, \" \");\n operation.arg2.visit(this);\n this.parts.push(\")\");\n },\n visitVariableDefinition: function visitVariableDefinition(definition) {\n this.parts.push(\"var \");\n definition.variable.visit(this);\n this.parts.push(\" = \");\n definition.arg.visit(this);\n this.parts.push(\";\");\n },\n visitMin: function visitMin(max) {\n this.parts.push(\"Math.min(\");\n max.arg.visit(this);\n this.parts.push(\", \", max.max, \")\");\n },\n toString: function toString() {\n return this.parts.join(\"\");\n }\n };\n\n function buildAddOperation(num1, num2) {\n if (num2.type === \"literal\" && num2.number === 0) {\n return num1;\n }\n\n if (num1.type === \"literal\" && num1.number === 0) {\n return num2;\n }\n\n if (num2.type === \"literal\" && num1.type === \"literal\") {\n return new AstLiteral(num1.number + num2.number);\n }\n\n return new AstBinaryOperation(\"+\", num1, num2, num1.min + num2.min, num1.max + num2.max);\n }\n\n function buildMulOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return new AstLiteral(0);\n } else if (num2.number === 1) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number * num2.number);\n }\n }\n\n if (num1.type === \"literal\") {\n if (num1.number === 0) {\n return new AstLiteral(0);\n } else if (num1.number === 1) {\n return num2;\n }\n }\n\n var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n return new AstBinaryOperation(\"*\", num1, num2, min, max);\n }\n\n function buildSubOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number - num2.number);\n }\n }\n\n if (num2.type === \"binary\" && num2.op === \"-\" && num1.type === \"literal\" && num1.number === 1 && num2.arg1.type === \"literal\" && num2.arg1.number === 1) {\n return num2.arg2;\n }\n\n return new AstBinaryOperation(\"-\", num1, num2, num1.min - num2.max, num1.max - num2.min);\n }\n\n function buildMinOperation(num1, max) {\n if (num1.min >= max) {\n return new AstLiteral(max);\n } else if (num1.max <= max) {\n return num1;\n }\n\n return new AstMin(num1, max);\n }\n\n function PostScriptCompiler() {}\n\n PostScriptCompiler.prototype = {\n compile: function PostScriptCompiler_compile(code, domain, range) {\n var stack = [];\n var i, ii;\n var instructions = [];\n var inputSize = domain.length >> 1,\n outputSize = range.length >> 1;\n var lastRegister = 0;\n var n, j;\n var num1, num2, ast1, ast2, tmpVar, item;\n\n for (i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n\n for (i = 0, ii = code.length; i < ii; i++) {\n item = code[i];\n\n if (typeof item === \"number\") {\n stack.push(new AstLiteral(item));\n continue;\n }\n\n switch (item) {\n case \"add\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildAddOperation(num1, num2));\n break;\n\n case \"cvr\":\n if (stack.length < 1) {\n return null;\n }\n\n break;\n\n case \"mul\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildMulOperation(num1, num2));\n break;\n\n case \"sub\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildSubOperation(num1, num2));\n break;\n\n case \"exch\":\n if (stack.length < 2) {\n return null;\n }\n\n ast1 = stack.pop();\n ast2 = stack.pop();\n stack.push(ast1, ast2);\n break;\n\n case \"pop\":\n if (stack.length < 1) {\n return null;\n }\n\n stack.pop();\n break;\n\n case \"index\":\n if (stack.length < 1) {\n return null;\n }\n\n num1 = stack.pop();\n\n if (num1.type !== \"literal\") {\n return null;\n }\n\n n = num1.number;\n\n if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n return null;\n }\n\n ast1 = stack[stack.length - n - 1];\n\n if (ast1.type === \"literal\" || ast1.type === \"var\") {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - n - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case \"dup\":\n if (stack.length < 1) {\n return null;\n }\n\n if (typeof code[i + 1] === \"number\" && code[i + 2] === \"gt\" && code[i + 3] === i + 7 && code[i + 4] === \"jz\" && code[i + 5] === \"pop\" && code[i + 6] === code[i + 1]) {\n num1 = stack.pop();\n stack.push(buildMinOperation(num1, code[i + 1]));\n i += 6;\n break;\n }\n\n ast1 = stack[stack.length - 1];\n\n if (ast1.type === \"literal\" || ast1.type === \"var\") {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case \"roll\":\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n\n if (num2.type !== \"literal\" || num1.type !== \"literal\") {\n return null;\n }\n\n j = num2.number;\n n = num1.number;\n\n if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n return null;\n }\n\n j = (j % n + n) % n;\n\n if (j === 0) {\n break;\n }\n\n Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n break;\n\n default:\n return null;\n }\n }\n\n if (stack.length !== outputSize) {\n return null;\n }\n\n var result = [];\n instructions.forEach(function (instruction) {\n var statementBuilder = new ExpressionBuilderVisitor();\n instruction.visit(statementBuilder);\n result.push(statementBuilder.toString());\n });\n stack.forEach(function (expr, i) {\n var statementBuilder = new ExpressionBuilderVisitor();\n expr.visit(statementBuilder);\n var min = range[i * 2],\n max = range[i * 2 + 1];\n var out = [statementBuilder.toString()];\n\n if (min > expr.min) {\n out.unshift(\"Math.max(\", min, \", \");\n out.push(\")\");\n }\n\n if (max < expr.max) {\n out.unshift(\"Math.min(\", max, \", \");\n out.push(\")\");\n }\n\n out.unshift(\"dest[destOffset + \", i, \"] = \");\n out.push(\";\");\n result.push(out.join(\"\"));\n });\n return result.join(\"\\n\");\n }\n };\n return PostScriptCompiler;\n }();\n\n exports.PostScriptCompiler = PostScriptCompiler;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PostScriptParser = exports.PostScriptLexer = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _core_utils = __w_pdfjs_require__(7);\n\n var PostScriptParser = /*#__PURE__*/function () {\n function PostScriptParser(lexer) {\n _classCallCheck(this, PostScriptParser);\n\n this.lexer = lexer;\n this.operators = [];\n this.token = null;\n this.prev = null;\n }\n\n _createClass(PostScriptParser, [{\n key: \"nextToken\",\n value: function nextToken() {\n this.prev = this.token;\n this.token = this.lexer.getToken();\n }\n }, {\n key: \"accept\",\n value: function accept(type) {\n if (this.token.type === type) {\n this.nextToken();\n return true;\n }\n\n return false;\n }\n }, {\n key: \"expect\",\n value: function expect(type) {\n if (this.accept(type)) {\n return true;\n }\n\n throw new _util.FormatError(\"Unexpected symbol: found \".concat(this.token.type, \" expected \").concat(type, \".\"));\n }\n }, {\n key: \"parse\",\n value: function parse() {\n this.nextToken();\n this.expect(PostScriptTokenTypes.LBRACE);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n return this.operators;\n }\n }, {\n key: \"parseBlock\",\n value: function parseBlock() {\n while (true) {\n if (this.accept(PostScriptTokenTypes.NUMBER)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n this.parseCondition();\n } else {\n return;\n }\n }\n }\n }, {\n key: \"parseCondition\",\n value: function parseCondition() {\n var conditionLocation = this.operators.length;\n this.operators.push(null, null);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n\n if (this.accept(PostScriptTokenTypes.IF)) {\n this.operators[conditionLocation] = this.operators.length;\n this.operators[conditionLocation + 1] = \"jz\";\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n var jumpLocation = this.operators.length;\n this.operators.push(null, null);\n var endOfTrue = this.operators.length;\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n this.expect(PostScriptTokenTypes.IFELSE);\n this.operators[jumpLocation] = this.operators.length;\n this.operators[jumpLocation + 1] = \"j\";\n this.operators[conditionLocation] = endOfTrue;\n this.operators[conditionLocation + 1] = \"jz\";\n } else {\n throw new _util.FormatError(\"PS Function: error parsing conditional.\");\n }\n }\n }]);\n\n return PostScriptParser;\n }();\n\n exports.PostScriptParser = PostScriptParser;\n var PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n };\n\n var PostScriptToken = function PostScriptTokenClosure() {\n var opCache = Object.create(null);\n\n var PostScriptToken = /*#__PURE__*/function () {\n function PostScriptToken(type, value) {\n _classCallCheck(this, PostScriptToken);\n\n this.type = type;\n this.value = value;\n }\n\n _createClass(PostScriptToken, null, [{\n key: \"getOperator\",\n value: function getOperator(op) {\n var opValue = opCache[op];\n\n if (opValue) {\n return opValue;\n }\n\n return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n }\n }, {\n key: \"LBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, \"LBRACE\", new PostScriptToken(PostScriptTokenTypes.LBRACE, \"{\"));\n }\n }, {\n key: \"RBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, \"RBRACE\", new PostScriptToken(PostScriptTokenTypes.RBRACE, \"}\"));\n }\n }, {\n key: \"IF\",\n get: function get() {\n return (0, _util.shadow)(this, \"IF\", new PostScriptToken(PostScriptTokenTypes.IF, \"IF\"));\n }\n }, {\n key: \"IFELSE\",\n get: function get() {\n return (0, _util.shadow)(this, \"IFELSE\", new PostScriptToken(PostScriptTokenTypes.IFELSE, \"IFELSE\"));\n }\n }]);\n\n return PostScriptToken;\n }();\n\n return PostScriptToken;\n }();\n\n var PostScriptLexer = /*#__PURE__*/function () {\n function PostScriptLexer(stream) {\n _classCallCheck(this, PostScriptLexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n }\n\n _createClass(PostScriptLexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"getToken\",\n value: function getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0a || ch === 0x0d) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2b:\n case 0x2d:\n case 0x2e:\n return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n\n case 0x7b:\n this.nextChar();\n return PostScriptToken.LBRACE;\n\n case 0x7d:\n this.nextChar();\n return PostScriptToken.RBRACE;\n }\n\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5a || ch >= 0x61 && ch <= 0x7a)) {\n strBuf.push(String.fromCharCode(ch));\n }\n\n var str = strBuf.join(\"\");\n\n switch (str.toLowerCase()) {\n case \"if\":\n return PostScriptToken.IF;\n\n case \"ifelse\":\n return PostScriptToken.IFELSE;\n\n default:\n return PostScriptToken.getOperator(str);\n }\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39 || ch === 0x2d || ch === 0x2e) {\n strBuf.push(String.fromCharCode(ch));\n } else {\n break;\n }\n }\n\n var value = parseFloat(strBuf.join(\"\"));\n\n if (isNaN(value)) {\n throw new _util.FormatError(\"Invalid floating point number: \".concat(value));\n }\n\n return value;\n }\n }]);\n\n return PostScriptLexer;\n }();\n\n exports.PostScriptLexer = PostScriptLexer;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MurmurHash3_64 = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var SEED = 0xc3d2e1f0;\n var MASK_HIGH = 0xffff0000;\n var MASK_LOW = 0xffff;\n\n var MurmurHash3_64 = /*#__PURE__*/function () {\n function MurmurHash3_64(seed) {\n _classCallCheck(this, MurmurHash3_64);\n\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n _createClass(MurmurHash3_64, [{\n key: \"update\",\n value: function update(input) {\n var data, length;\n\n if ((0, _util.isString)(input)) {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (var i = 0, ii = input.length; i < ii; i++) {\n var code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input;\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n\n var blockCounts = length >> 2;\n var tailLength = length - blockCounts * 4;\n var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n var k1 = 0,\n k2 = 0;\n var h1 = this.h1,\n h2 = this.h2;\n var C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n var C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (var _i24 = 0; _i24 < blockCounts; _i24++) {\n if (_i24 & 1) {\n k1 = dataUint32[_i24];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[_i24];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n }, {\n key: \"hexdigest\",\n value: function hexdigest() {\n var h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n var hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n }\n }]);\n\n return MurmurHash3_64;\n }();\n\n exports.MurmurHash3_64 = MurmurHash3_64;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.NativeImageDecoder = void 0;\n\n var _colorspace = __w_pdfjs_require__(22);\n\n var _jpeg_stream = __w_pdfjs_require__(17);\n\n var _stream = __w_pdfjs_require__(11);\n\n var NativeImageDecoder = /*#__PURE__*/function () {\n function NativeImageDecoder(_ref43) {\n var xref = _ref43.xref,\n resources = _ref43.resources,\n handler = _ref43.handler,\n _ref43$forceDataSchem = _ref43.forceDataSchema,\n forceDataSchema = _ref43$forceDataSchem === void 0 ? false : _ref43$forceDataSchem,\n pdfFunctionFactory = _ref43.pdfFunctionFactory;\n\n _classCallCheck(this, NativeImageDecoder);\n\n this.xref = xref;\n this.resources = resources;\n this.handler = handler;\n this.forceDataSchema = forceDataSchema;\n this.pdfFunctionFactory = pdfFunctionFactory;\n }\n\n _createClass(NativeImageDecoder, [{\n key: \"canDecode\",\n value: function canDecode(image) {\n return image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, this.resources, this.pdfFunctionFactory) && image.maybeValidDimensions;\n }\n }, {\n key: \"decode\",\n value: function decode(image) {\n var dict = image.dict;\n var colorSpace = dict.get(\"ColorSpace\", \"CS\");\n colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, this.resources, this.pdfFunctionFactory);\n return this.handler.sendWithPromise(\"JpegDecode\", [image.getIR(this.forceDataSchema), colorSpace.numComps]).then(function (_ref44) {\n var data = _ref44.data,\n width = _ref44.width,\n height = _ref44.height;\n return new _stream.Stream(data, 0, data.length, dict);\n });\n }\n }], [{\n key: \"isSupported\",\n value: function isSupported(image, xref, res, pdfFunctionFactory) {\n var dict = image.dict;\n\n if (dict.has(\"DecodeParms\") || dict.has(\"DP\")) {\n return false;\n }\n\n var cs = _colorspace.ColorSpace.parse(dict.get(\"ColorSpace\", \"CS\"), xref, res, pdfFunctionFactory);\n\n return (cs.name === \"DeviceGray\" || cs.name === \"DeviceRGB\") && cs.isDefaultDecode(dict.getArray(\"Decode\", \"D\"));\n }\n }, {\n key: \"isDecodable\",\n value: function isDecodable(image, xref, res, pdfFunctionFactory) {\n var dict = image.dict;\n\n if (dict.has(\"DecodeParms\") || dict.has(\"DP\")) {\n return false;\n }\n\n var cs = _colorspace.ColorSpace.parse(dict.get(\"ColorSpace\", \"CS\"), xref, res, pdfFunctionFactory);\n\n var bpc = dict.get(\"BitsPerComponent\", \"BPC\") || 1;\n return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray(\"Decode\", \"D\"), bpc);\n }\n }]);\n\n return NativeImageDecoder;\n }();\n\n exports.NativeImageDecoder = NativeImageDecoder;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFImage = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var _primitives = __w_pdfjs_require__(4);\n\n var _colorspace = __w_pdfjs_require__(22);\n\n var _stream = __w_pdfjs_require__(11);\n\n var _jpeg_stream = __w_pdfjs_require__(17);\n\n var _jpx = __w_pdfjs_require__(20);\n\n var PDFImage = function PDFImageClosure() {\n function handleImageData(image, nativeDecoder) {\n if (nativeDecoder && nativeDecoder.canDecode(image)) {\n return nativeDecoder.decode(image).catch(function (reason) {\n (0, _util.warn)(\"Native image decoding failed -- trying to recover: \" + (reason && reason.message));\n return image;\n });\n }\n\n return Promise.resolve(image);\n }\n\n function decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n return value;\n }\n\n function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n var length = w2 * h2;\n var dest;\n\n if (bpc <= 8) {\n dest = new Uint8Array(length);\n } else if (bpc <= 16) {\n dest = new Uint16Array(length);\n } else {\n dest = new Uint32Array(length);\n }\n\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var i,\n j,\n py,\n newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1;\n\n for (i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio);\n }\n\n for (i = 0; i < h2; i++) {\n py = Math.floor(i * yRatio) * w1Scanline;\n\n for (j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex];\n }\n }\n\n return dest;\n }\n\n function PDFImage(_ref45) {\n var xref = _ref45.xref,\n res = _ref45.res,\n image = _ref45.image,\n _ref45$isInline = _ref45.isInline,\n isInline = _ref45$isInline === void 0 ? false : _ref45$isInline,\n _ref45$smask = _ref45.smask,\n smask = _ref45$smask === void 0 ? null : _ref45$smask,\n _ref45$mask = _ref45.mask,\n mask = _ref45$mask === void 0 ? null : _ref45$mask,\n _ref45$isMask = _ref45.isMask,\n isMask = _ref45$isMask === void 0 ? false : _ref45$isMask,\n pdfFunctionFactory = _ref45.pdfFunctionFactory;\n this.image = image;\n var dict = image.dict;\n var filter = dict.get(\"Filter\");\n\n if ((0, _primitives.isName)(filter)) {\n switch (filter.name) {\n case \"JPXDecode\":\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parseImageProperties(image.stream);\n image.stream.reset();\n image.width = jpxImage.width;\n image.height = jpxImage.height;\n image.bitsPerComponent = jpxImage.bitsPerComponent;\n image.numComps = jpxImage.componentsCount;\n break;\n\n case \"JBIG2Decode\":\n image.bitsPerComponent = 1;\n image.numComps = 1;\n break;\n }\n }\n\n var width = dict.get(\"Width\", \"W\");\n var height = dict.get(\"Height\", \"H\");\n\n if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n (0, _util.warn)(\"PDFImage - using the Width/Height of the image data, \" + \"rather than the image dictionary.\");\n width = image.width;\n height = image.height;\n }\n\n if (width < 1 || height < 1) {\n throw new _util.FormatError(\"Invalid image width: \".concat(width, \" or height: \").concat(height));\n }\n\n this.width = width;\n this.height = height;\n this.interpolate = dict.get(\"Interpolate\", \"I\") || false;\n this.imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n this.matte = dict.get(\"Matte\") || false;\n var bitsPerComponent = image.bitsPerComponent;\n\n if (!bitsPerComponent) {\n bitsPerComponent = dict.get(\"BitsPerComponent\", \"BPC\");\n\n if (!bitsPerComponent) {\n if (this.imageMask) {\n bitsPerComponent = 1;\n } else {\n throw new _util.FormatError(\"Bits per component missing in image: \".concat(this.imageMask));\n }\n }\n }\n\n this.bpc = bitsPerComponent;\n\n if (!this.imageMask) {\n var colorSpace = dict.get(\"ColorSpace\", \"CS\");\n\n if (!colorSpace) {\n (0, _util.info)(\"JPX images (which do not require color spaces)\");\n\n switch (image.numComps) {\n case 1:\n colorSpace = _primitives.Name.get(\"DeviceGray\");\n break;\n\n case 3:\n colorSpace = _primitives.Name.get(\"DeviceRGB\");\n break;\n\n case 4:\n colorSpace = _primitives.Name.get(\"DeviceCMYK\");\n break;\n\n default:\n throw new Error(\"JPX images with \".concat(image.numComps, \" \") + \"color components not supported.\");\n }\n }\n\n var resources = isInline ? res : null;\n this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, resources, pdfFunctionFactory);\n this.numComps = this.colorSpace.numComps;\n }\n\n this.decode = dict.getArray(\"Decode\", \"D\");\n this.needsDecode = false;\n\n if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n this.needsDecode = true;\n var max = (1 << bitsPerComponent) - 1;\n this.decodeCoefficients = [];\n this.decodeAddends = [];\n var isIndexed = this.colorSpace && this.colorSpace.name === \"Indexed\";\n\n for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n var dmin = this.decode[i];\n var dmax = this.decode[i + 1];\n this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n }\n }\n\n if (smask) {\n this.smask = new PDFImage({\n xref: xref,\n res: res,\n image: smask,\n isInline: isInline,\n pdfFunctionFactory: pdfFunctionFactory\n });\n } else if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n var maskDict = mask.dict,\n imageMask = maskDict.get(\"ImageMask\", \"IM\");\n\n if (!imageMask) {\n (0, _util.warn)(\"Ignoring /Mask in image without /ImageMask.\");\n } else {\n this.mask = new PDFImage({\n xref: xref,\n res: res,\n image: mask,\n isInline: isInline,\n isMask: true,\n pdfFunctionFactory: pdfFunctionFactory\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n\n PDFImage.buildImage = function (_ref46) {\n var handler = _ref46.handler,\n xref = _ref46.xref,\n res = _ref46.res,\n image = _ref46.image,\n _ref46$isInline = _ref46.isInline,\n isInline = _ref46$isInline === void 0 ? false : _ref46$isInline,\n _ref46$nativeDecoder = _ref46.nativeDecoder,\n nativeDecoder = _ref46$nativeDecoder === void 0 ? null : _ref46$nativeDecoder,\n pdfFunctionFactory = _ref46.pdfFunctionFactory;\n var imagePromise = handleImageData(image, nativeDecoder);\n var smaskPromise;\n var maskPromise;\n var smask = image.dict.get(\"SMask\");\n var mask = image.dict.get(\"Mask\");\n\n if (smask) {\n smaskPromise = handleImageData(smask, nativeDecoder);\n maskPromise = Promise.resolve(null);\n } else {\n smaskPromise = Promise.resolve(null);\n\n if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n maskPromise = handleImageData(mask, nativeDecoder);\n } else if (Array.isArray(mask)) {\n maskPromise = Promise.resolve(mask);\n } else {\n (0, _util.warn)(\"Unsupported mask format.\");\n maskPromise = Promise.resolve(null);\n }\n } else {\n maskPromise = Promise.resolve(null);\n }\n }\n\n return Promise.all([imagePromise, smaskPromise, maskPromise]).then(function (_ref47) {\n var _ref48 = _slicedToArray(_ref47, 3),\n imageData = _ref48[0],\n smaskData = _ref48[1],\n maskData = _ref48[2];\n\n return new PDFImage({\n xref: xref,\n res: res,\n image: imageData,\n isInline: isInline,\n smask: smaskData,\n mask: maskData,\n pdfFunctionFactory: pdfFunctionFactory\n });\n });\n };\n\n PDFImage.createMask = function (_ref49) {\n var imgArray = _ref49.imgArray,\n width = _ref49.width,\n height = _ref49.height,\n imageIsFromDecodeStream = _ref49.imageIsFromDecodeStream,\n inverseDecode = _ref49.inverseDecode;\n var computedLength = (width + 7 >> 3) * height;\n var actualLength = imgArray.byteLength;\n var haveFullData = computedLength === actualLength;\n var data, i;\n\n if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n data = imgArray;\n } else if (!inverseDecode) {\n data = new Uint8ClampedArray(actualLength);\n data.set(imgArray);\n } else {\n data = new Uint8ClampedArray(computedLength);\n data.set(imgArray);\n\n for (i = actualLength; i < computedLength; i++) {\n data[i] = 0xff;\n }\n }\n\n if (inverseDecode) {\n for (i = 0; i < actualLength; i++) {\n data[i] ^= 0xff;\n }\n }\n\n return {\n data: data,\n width: width,\n height: height\n };\n };\n\n PDFImage.prototype = {\n get drawWidth() {\n return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n },\n\n get drawHeight() {\n return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n },\n\n decodeBuffer: function decodeBuffer(buffer) {\n var bpc = this.bpc;\n var numComps = this.numComps;\n var decodeAddends = this.decodeAddends;\n var decodeCoefficients = this.decodeCoefficients;\n var max = (1 << bpc) - 1;\n var i, ii;\n\n if (bpc === 1) {\n for (i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = +!buffer[i];\n }\n\n return;\n }\n\n var index = 0;\n\n for (i = 0, ii = this.width * this.height; i < ii; i++) {\n for (var j = 0; j < numComps; j++) {\n buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n index++;\n }\n }\n },\n getComponents: function getComponents(buffer) {\n var bpc = this.bpc;\n\n if (bpc === 8) {\n return buffer;\n }\n\n var width = this.width;\n var height = this.height;\n var numComps = this.numComps;\n var length = width * height * numComps;\n var bufferPos = 0;\n var output;\n\n if (bpc <= 8) {\n output = new Uint8Array(length);\n } else if (bpc <= 16) {\n output = new Uint16Array(length);\n } else {\n output = new Uint32Array(length);\n }\n\n var rowComps = width * numComps;\n var max = (1 << bpc) - 1;\n var i = 0,\n ii,\n buf;\n\n if (bpc === 1) {\n var mask, loop1End, loop2End;\n\n for (var j = 0; j < height; j++) {\n loop1End = i + (rowComps & ~7);\n loop2End = i + rowComps;\n\n while (i < loop1End) {\n buf = buffer[bufferPos++];\n output[i] = buf >> 7 & 1;\n output[i + 1] = buf >> 6 & 1;\n output[i + 2] = buf >> 5 & 1;\n output[i + 3] = buf >> 4 & 1;\n output[i + 4] = buf >> 3 & 1;\n output[i + 5] = buf >> 2 & 1;\n output[i + 6] = buf >> 1 & 1;\n output[i + 7] = buf & 1;\n i += 8;\n }\n\n if (i < loop2End) {\n buf = buffer[bufferPos++];\n mask = 128;\n\n while (i < loop2End) {\n output[i++] = +!!(buf & mask);\n mask >>= 1;\n }\n }\n }\n } else {\n var bits = 0;\n buf = 0;\n\n for (i = 0, ii = length; i < ii; ++i) {\n if (i % rowComps === 0) {\n buf = 0;\n bits = 0;\n }\n\n while (bits < bpc) {\n buf = buf << 8 | buffer[bufferPos++];\n bits += 8;\n }\n\n var remainingBits = bits - bpc;\n var value = buf >> remainingBits;\n\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n output[i] = value;\n buf = buf & (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n\n return output;\n },\n fillOpacity: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n var smask = this.smask;\n var mask = this.mask;\n var alphaBuf, sw, sh, i, ii, j;\n\n if (smask) {\n sw = smask.width;\n sh = smask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n smask.fillGrayBuffer(alphaBuf);\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n }\n } else if (mask) {\n if (mask instanceof PDFImage) {\n sw = mask.width;\n sh = mask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n mask.numComps = 1;\n mask.fillGrayBuffer(alphaBuf);\n\n for (i = 0, ii = sw * sh; i < ii; ++i) {\n alphaBuf[i] = 255 - alphaBuf[i];\n }\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n }\n } else if (Array.isArray(mask)) {\n alphaBuf = new Uint8ClampedArray(width * height);\n var numComps = this.numComps;\n\n for (i = 0, ii = width * height; i < ii; ++i) {\n var opacity = 0;\n var imageOffset = i * numComps;\n\n for (j = 0; j < numComps; ++j) {\n var color = image[imageOffset + j];\n var maskOffset = j * 2;\n\n if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n opacity = 255;\n break;\n }\n }\n\n alphaBuf[i] = opacity;\n }\n } else {\n throw new _util.FormatError(\"Unknown mask format.\");\n }\n }\n\n if (alphaBuf) {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = alphaBuf[i];\n }\n } else {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = 255;\n }\n }\n },\n undoPreblend: function undoPreblend(buffer, width, height) {\n var matte = this.smask && this.smask.matte;\n\n if (!matte) {\n return;\n }\n\n var matteRgb = this.colorSpace.getRgb(matte, 0);\n var matteR = matteRgb[0];\n var matteG = matteRgb[1];\n var matteB = matteRgb[2];\n var length = width * height * 4;\n\n for (var i = 0; i < length; i += 4) {\n var alpha = buffer[i + 3];\n\n if (alpha === 0) {\n buffer[i] = 255;\n buffer[i + 1] = 255;\n buffer[i + 2] = 255;\n continue;\n }\n\n var k = 255 / alpha;\n buffer[i] = (buffer[i] - matteR) * k + matteR;\n buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n }\n },\n createImageData: function createImageData() {\n var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var drawWidth = this.drawWidth;\n var drawHeight = this.drawHeight;\n var imgData = {\n width: drawWidth,\n height: drawHeight,\n kind: 0,\n data: null\n };\n var numComps = this.numComps;\n var originalWidth = this.width;\n var originalHeight = this.height;\n var bpc = this.bpc;\n var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n var imgArray;\n\n if (!forceRGBA) {\n var kind;\n\n if (this.colorSpace.name === \"DeviceGray\" && bpc === 1) {\n kind = _util.ImageKind.GRAYSCALE_1BPP;\n } else if (this.colorSpace.name === \"DeviceRGB\" && bpc === 8 && !this.needsDecode) {\n kind = _util.ImageKind.RGB_24BPP;\n }\n\n if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n imgData.kind = kind;\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n\n if (this.image instanceof _stream.DecodeStream) {\n imgData.data = imgArray;\n } else {\n var newArray = new Uint8ClampedArray(imgArray.length);\n newArray.set(imgArray);\n imgData.data = newArray;\n }\n\n if (this.needsDecode) {\n (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, \"PDFImage.createImageData: The image must be grayscale.\");\n var buffer = imgData.data;\n\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] ^= 0xff;\n }\n }\n\n return imgData;\n }\n\n if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {\n var imageLength = originalHeight * rowBytes;\n\n switch (this.colorSpace.name) {\n case \"DeviceGray\":\n imageLength *= 3;\n\n case \"DeviceRGB\":\n case \"DeviceCMYK\":\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);\n return imgData;\n }\n }\n }\n\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n var comps = this.getComponents(imgArray);\n var alpha01, maybeUndoPreblend;\n\n if (!forceRGBA && !this.smask && !this.mask) {\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n alpha01 = 0;\n maybeUndoPreblend = false;\n } else {\n imgData.kind = _util.ImageKind.RGBA_32BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n alpha01 = 1;\n maybeUndoPreblend = true;\n this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n\n if (maybeUndoPreblend) {\n this.undoPreblend(imgData.data, drawWidth, actualHeight);\n }\n\n return imgData;\n },\n fillGrayBuffer: function fillGrayBuffer(buffer) {\n var numComps = this.numComps;\n\n if (numComps !== 1) {\n throw new _util.FormatError(\"Reading gray scale from a color image: \".concat(numComps));\n }\n\n var width = this.width;\n var height = this.height;\n var bpc = this.bpc;\n var rowBytes = width * numComps * bpc + 7 >> 3;\n var imgArray = this.getImageBytes(height * rowBytes);\n var comps = this.getComponents(imgArray);\n var i, length;\n\n if (bpc === 1) {\n length = width * height;\n\n if (this.needsDecode) {\n for (i = 0; i < length; ++i) {\n buffer[i] = comps[i] - 1 & 255;\n }\n } else {\n for (i = 0; i < length; ++i) {\n buffer[i] = -comps[i] & 255;\n }\n }\n\n return;\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n length = width * height;\n var scale = 255 / ((1 << bpc) - 1);\n\n for (i = 0; i < length; ++i) {\n buffer[i] = scale * comps[i];\n }\n },\n getImageBytes: function getImageBytes(length, drawWidth, drawHeight) {\n var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this.image.reset();\n this.image.drawWidth = drawWidth || this.width;\n this.image.drawHeight = drawHeight || this.height;\n this.image.forceRGB = !!forceRGB;\n return this.image.getBytes(length, true);\n }\n };\n return PDFImage;\n }();\n\n exports.PDFImage = PDFImage;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isNodeJS = void 0;\n var isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions[\"nw\"] && !process.versions[\"electron\"];\n exports.isNodeJS = isNodeJS;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MessageHandler = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n };\n var StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n };\n\n function wrapReason(reason) {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n }\n\n var MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this71 = this;\n\n _classCallCheck(this, MessageHandler);\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this71.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this71._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this71.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this71.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this71.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var _sourceName = _this71.sourceName;\n var _targetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this71._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this72 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this72.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this72._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this72.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this72.streamControllers[streamId].cancelCall = cancelCapability;\n _this72.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee17(streamId) {\n return _regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n _context17.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context17.stop();\n }\n }\n }, _callee17, this);\n }));\n\n function _deleteStreamController(_x13) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n }();\n\n exports.MessageHandler = MessageHandler;\n /***/\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFWorkerStream = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var PDFWorkerStream = /*#__PURE__*/function () {\n function PDFWorkerStream(msgHandler) {\n _classCallCheck(this, PDFWorkerStream);\n\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFWorkerStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFWorkerStream;\n }();\n\n exports.PDFWorkerStream = PDFWorkerStream;\n\n var PDFWorkerStreamReader = /*#__PURE__*/function () {\n function PDFWorkerStreamReader(msgHandler) {\n var _this73 = this;\n\n _classCallCheck(this, PDFWorkerStreamReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\n this._contentLength = null;\n this._isRangeSupported = false;\n this._isStreamingSupported = false;\n\n var readableStream = this._msgHandler.sendWithStream(\"GetReader\");\n\n this._reader = readableStream.getReader();\n this._headersReady = this._msgHandler.sendWithPromise(\"ReaderHeadersReady\").then(function (data) {\n _this73._isStreamingSupported = data.isStreamingSupported;\n _this73._isRangeSupported = data.isRangeSupported;\n _this73._contentLength = data.contentLength;\n });\n }\n\n _createClass(PDFWorkerStreamReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee18() {\n var _yield$this$_reader$r, value, done;\n\n return _regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n _context18.next = 2;\n return this._reader.read();\n\n case 2:\n _yield$this$_reader$r = _context18.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context18.next = 7;\n break;\n }\n\n return _context18.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n return _context18.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\n\n case 8:\n case \"end\":\n return _context18.stop();\n }\n }\n }, _callee18, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._reader.cancel(reason);\n }\n }]);\n\n return PDFWorkerStreamReader;\n }();\n\n var PDFWorkerStreamRangeReader = /*#__PURE__*/function () {\n function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n _classCallCheck(this, PDFWorkerStreamRangeReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\n\n var readableStream = this._msgHandler.sendWithStream(\"GetRangeReader\", {\n begin: begin,\n end: end\n });\n\n this._reader = readableStream.getReader();\n }\n\n _createClass(PDFWorkerStreamRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee19() {\n var _yield$this$_reader$r2, value, done;\n\n return _regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n _context19.next = 2;\n return this._reader.read();\n\n case 2:\n _yield$this$_reader$r2 = _context19.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context19.next = 7;\n break;\n }\n\n return _context19.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n return _context19.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\n\n case 8:\n case \"end\":\n return _context19.stop();\n }\n }\n }, _callee19, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._reader.cancel(reason);\n }\n }]);\n\n return PDFWorkerStreamRangeReader;\n }();\n /***/\n\n }])\n );\n});"],"names":["factory","_get","_toConsumableArray","_assertThisInitialized","_createClass","_classCallCheck","_inherits","_possibleConstructorReturn","_getPrototypeOf","_regeneratorRuntime","_slicedToArray","_asyncToGenerator","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","from","test","_unsupportedIterableToArray","length","i","F","s","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","return","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","NewTarget","this","arguments","apply","modules","installedModules","__w_pdfjs_require__","moduleId","exports","module","l","m","c","d","getter","defineProperty","enumerable","get","r","toStringTag","t","mode","__esModule","ns","create","key","bind","object","property","hasOwnProperty","p","pdfjsCoreWorker","WorkerMessageHandler","WorkerTask","_util","_primitives","_pdf_manager","_is_node","_message_handler","_worker_stream","_core_utils","terminated","_capability","createPromiseCapability","finished","promise","finish","resolve","terminate","ensureNotTerminated","Error","maybePort","setup","handler","port","testMessageProcessed","on","data","Uint8Array","supportTransfers","postMessageTransfers","send","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","workerVersion","concat","enumerableProperties","push","join","docId","docBaseUrl","workerHandlerName","MessageHandler","startWorkerTask","task","finishWorkerTask","indexOf","splice","loadDocument","_x","_loadDocument","mark","_callee","recoveryMode","_yield$Promise$all","_yield$Promise$all2","numPages","fingerprint","wrap","_context","prev","ensureDoc","Promise","all","sent","abrupt","stop","getPdfManager","evaluatorOptions","pdfManagerCapability","source","LocalPdfManager","password","ex","reject","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","then","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","catch","reason","loaded","readPromise","read","readChunk","chunk","pdfFile","arraysToBytes","warn","flushChunks","arrayByteLength","total","Math","max","cancelAllRequests","getPage","pageIndex","page","ensure","_ref","_ref2","rotate","ref","userUnit","view","Ref","num","gen","pdfDocument","catalog","getPageIndex","ensureCatalog","id","requestLoadedStream","onLoadedStream","stream","bytes","xref","stats","_ref3","intent","getAnnotationsData","sink","start","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorListInfo","info","close","featureId","UNSUPPORTED_FEATURES","unknown","error","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","fontFallback","cleanup","waitOn","AbortException","cleanupPromise","clearPrimitiveCaches","forEach","destroy","onSuccess","doc","pdfInfo","onFailure","PasswordException","code","sendWithPromise","updatePassword","pdfManagerReady","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","XRefParseException","forceDataSchema","disableCreateObjectURL","maxImageSize","disableFontFace","nativeImageDecoderSupport","ignoreErrors","isEvalSupported","newPdfManager","byteLength","setupDoc","initializeFromPort","window","isNodeJS","self","postMessage","resultLength","pos","_i","item","stringToBytes","itemLength","set","assert","bytesToString","undefined","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","min","subarray","capability","isSettled","msg","console","log","isArrayBuffer","v","isArrayEqual","arr1","every","element","index","isBool","isEmptyObj","obj","isNum","isString","isSameOrigin","baseUrl","otherUrl","base","URL","origin","other","createValidAbsoluteUrl","url","absoluteUrl","protocol","_isValidProtocol","removeNullCharacters","str","replace","NullCharactersRegExp","level","Number","isInteger","shadow","string32","stringToPDFString","charCodeAt","_i2","_i3","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","IsEvalSupportedCached","IsLittleEndianCached","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","NativeImageDecoding","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","NONE","DECODE","DISPLAY","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","cond","prop","configurable","writable","_BaseException","_super","_this","_BaseException2","_super2","details","_this2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","status","_this3","_BaseException6","_super6","_BaseException7","_super7","buffer8","Uint32Array","buffer","Function","rgbBuf","g","b","m1","m2","p1","applyTransform","p2","p3","p4","transpose","a","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","digits","contentType","blob","Blob","type","ii","b1","b2","b3","d1","d2","d3","d4","Cmd","_clearCache","Name","isEOF","EOF","isCmd","cmd","isDict","isName","isRef","isRefsEqual","v1","v2","isStream","getBytes","RefSetCache","RefSet","Dict","nameCache","nameValue","cmdCache","cmdValue","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","fetch","getAsync","_this4","_callee2","_context2","fetchAsync","getArray","getRaw","getKeys","keys","has","callback","empty","merge","dictArray","mergedDict","dict","keyName","refCache","refValue","put","remove","putAlias","aliasRef","clear","_chunked_stream","_document","_stream","BasePdfManager","_ensure","_docId","_password","_docBaseUrl","href","args","_callee3","_context3","_x2","_x3","_x4","begin","end","_BasePdfManager","_ensure2","_super8","_this5","Stream","PDFDocument","_loadedStreamPromise","_callee4","_context4","_x5","_x6","_x7","_BasePdfManager2","_ensure3","_super9","pdfNetworkStream","_this6","streamManager","ChunkedStreamManager","getStream","_callee5","_context5","t0","MissingDataException","requestRange","_x8","_x9","_x10","requestAllChunks","onReceiveData","abort","ChunkedStream","chunkSize","manager","loadedChunks","numChunksLoaded","numChunks","ceil","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","beginChunk","floor","endChunk","curChunk","position","ensureByte","b0","getByte","forceClamped","strEnd","ensureRange","_subarray","Uint8ClampedArray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","allChunksLoaded","subStream","currRequestId","chunksNeededByRequest","requestsByChunk","promisesByRequest","aborted","_loadedStreamCapability","_this7","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","_step","_iterator","_chunk","hasChunk","chunksToRequest","_step2","_iterator2","groupChunks","groupedChunk","sendRequest","getBeginChunk","getEndChunk","_step3","ranges","_iterator3","range","includes","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","loadedRequests","_chunk2","requestIds","_step4","_iterator4","nextEmptyChunk","lastChunk","_i4","_loadedRequests","_requestId","getLookupTableFactory","initializer","lookup","getInheritableProperty","_ref4","values","_ref4$getArray","_ref4$stopWhenFound","stopWhenFound","loopCount","toRomanNumerals","number","lowerCase","romanBuf","ROMAN_NUMBER_MAP","romanStr","toLowerCase","log2","x","readInt8","offset","readUint16","readUint32","isWhiteSpace","ch","XRefEntryException","_util$BaseException","_super10","_this8","_util$BaseException2","_super11","_util$BaseException3","_super12","Page","_obj","_annotation","_crypto","_parser","_operator_list","_evaluator","_function","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","_ref5","pageDict","fontCache","builtInCMapCache","pdfFunctionFactory","resourcesPromise","idCounters","idFactory","createObjId","getDocId","_getInheritableProperty","box","_getBoundingBox","mediaBox","cropBox","intersect","content","_step5","streams","_iterator5","_stream2","fetchIfRef","StreamsSequenceStream","NullStream","_this9","ObjectLoader","resources","load","_ref6","_this10","contentStreamPromise","loadResources","partialEvaluator","PartialEvaluator","options","pageListPromise","_ref7","contentStream","opList","OperatorList","transparency","hasBlendModes","operatorList","_parsedAnnotations","_ref9","_ref10","pageOpList","annotations","flush","totalLength","_step6","opListPromises","_iterator6","opLists","addOp","_step7","_iterator7","addOpList","_ref11","_this11","_ref12","getTextContent","annotationsData","_this12","parsedAnnotations","annotationRefs","annotationPromises","AnnotationFactory","filter","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","PDF_HEADER_VERSION_REGEXP","find","signature","limit","backwards","signatureLength","scanBytes","peekBytes","scanLength","signatureEnd","j","_pos","_j","arg","XRef","PDFFunctionFactory","_pagePromises","_cleanup","version","catDict","pdfFormatVersion","acroForm","xfa","fields","collection","linearization","Linearization","startXRef","reset","startXRefLength","found","skip","parseInt","isNaN","moveStart","substring","setStartXRef","parse","Catalog","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","infoDict","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","trailer","_step8","_iterator8","customValue","hash","idArray","fingerprintBuf","calculateMD5","getByteRange","hex","padStart","pageFirst","objectNumberFirst","pageKidsCountCache","getPageDict","_this13","_getLinearizationPage","_ref14","_ref15","_this14","_ref16","_callee6","_context6","_x11","_callee7","_context7","FileSpec","_colorspace","fetchDestination","dest","getCatalogObj","Map","streamRef","metadata","encrypt","encryptMetadata","subtype","pagesObj","_readDocumentOutline","root","items","queue","parent","processed","blackColor","shift","outlineDict","parseDestDictionary","destDict","resultObj","title","flags","color","count","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","permissions","_readPermissions","pow","toplevelPagesDict","_readDests","dests","NameTree","names","getAll","destinationId","_readPageLabels","pageLabels","style","prefix","nums","NumberTree","currentLabel","currentIndex","labelDict","st","baseCharCode","letterIndex","character","charBuf","jj","pageLayout","pageMode","_this15","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","openAction","action","attachments","fs","serializable","appendIfJavaScriptDict","jsDict","js","promises","translatedFonts","_step9","_iterator9","translatedFont","loadedName","fallback","_this16","_step10","_iterator10","translated","nodesToVisit","visitedNodes","currentPageIndex","_loop","currentNode","pop","kids","last","_ret","pageRef","kidRef","parentRef","node","kidPromises","kid","pagesBeforeRef","_args8","params","actionType","actionName","startsWith","addDefaultProtocolToUrl","urlDict","remoteDest","split","JSON","stringify","namedAction","jsAction","jsUrl","RegExp","exec","tryConvertUrlEncoding","entries","xrefstms","_cacheMap","streamTypes","fontTypes","startXRefQueue","trailerDict","indexObjects","readXRef","ids","fileId","CipherTransformFactory","processXRefTable","parser","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","getObj","firstEntryNum","entryCount","entry","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","readToken","token","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","getEntry","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_i5","_num","fetchIfRefAsync","_this17","_callee8","_context8","_this18","_callee9","_context9","NameOrNumberTree","_type","_i6","_ii","kidsOrEntries","limits","_l","_r","tmp","_m","currentKey","_m2","mm","_NameOrNumberTree","_super13","_NameOrNumberTree2","_super14","description","contentAvailable","pickPlatformItem","filename","_filename","contentRef","fileObj","mayHaveChildren","addChildren","dictKeys","rawValue","_i7","_ii2","refSet","_this19","_callee10","_context10","_walk","_this20","_callee11","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","_i8","_ii3","_context11","getBaseStreams","requestRanges","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","computeAdler32","bytesLength","_ref17","_ref17$allowStreams","_ref17$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","array","makeStream","decryptString","maybeEIPos","state","followingBytes","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","tildePos","maybeEI","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","knownCommands","_hexStringNumWarn","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","firstDigit","secondDigit","isFirstHex","_hexStringWarn","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","hints","hintsLength","hint","getHints","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","arrayBuffer","isEmpty","getInt32","_subarray2","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","size","buffer2","bufEnd","newLength","codeLenCodeMap","Int32Array","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","val","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","k","blockLen","check","block","predictor","readBlockTiff","readBlockPng","colors","columns","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","prevRow","up","upLeft","left","pa","pb","pc","decrypt","nextChunk","initialized","hasMoreData","input","maxDecodeLength","digit","repeatHeader","cachedData","bitsCached","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","Uint16Array","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","q","estimatedDecodedSize","blockSize","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","ccittEOF","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","rows","eoblock","black","codingLine","refLine","codingPos","row","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","_util$BaseException4","_super15","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","decoder","contexts","getContexts","bit","readBit","decodeIAID","Int8Array","ArithmeticDecoder","cache","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmap","mmr","width","height","templateIndex","prediction","at","decodingContext","decodeMMRBitmap","Reader","contextLabel","pixel","row1","row2","bitmap","decodeBitmapTemplate0","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeTextRegion","huffman","refinement","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","symbolCodeLength","transposed","dsOffset","referenceCorner","combinationOperator","huffmanTables","refinementTemplateIndex","refinementAt","logStripSize","huffmanInput","stripT","tableDeltaT","decode","firstS","currentS","tableFirstS","currentT","symbolId","symbolIDTable","applyRefinement","symbolBitmap","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionMmr","RegionSegmentInformationFieldLength","searchPattern","headerEnd","readSegments","header","segments","segment","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","numberOfExportedSymbols","numberOfNewSymbols","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","patternWidth","patternHeight","maxPatternIndex","halftoneRegion","halftoneRegionFlags","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","genericRegion","genericRegionSegmentFlags","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","SimpleSegmentVisitor","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","children","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","onPageInformation","currentPageInfo","rowSize","drawBitmap","regionInfo","mask","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","customTables","tableDeltaHeight","tableDeltaWidth","tableBitmapSize","tableAggregateInstances","customIndex","getStandardTable","getCustomHuffmanTable","getSymbolDictionaryHuffmanTables","symbols","referredSymbols","tableB1","symbolWidths","newSymbols","currentHeight","currentWidth","totalWidth","firstSymbol","deltaWidth","numberOfInstances","rdx","rdy","bitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","_i9","xMin","xMax","exportedSymbols","currentFlag","totalSymbolsLength","runLength","decodeSymbolDictionary","onImmediateTextRegion","numberOfSymbols","reader","runCodesTable","_i11","_codeLength","repeatedLength","numberOfRepeats","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","patterns","patternBitmap","decodePatternDictionary","onImmediateHalftoneRegion","regionWidth","regionHeight","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","decodeHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","decodeTablesSegment","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","_i10","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","endOfBlock","numBits","parseJbig2Chunks","_parseJbig","numberOfPages","_visitor$currentPageI","bitPacked","imgData","parseJbig2","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","getData","drawWidth","drawHeight","isSourcePDF","dictHeight","validDimensions","foundSOF","scanLines","getIR","JpegError","_util$BaseException5","_super16","DNLMarkerError","_util$BaseException6","_super17","_this21","EOIMarkerError","_util$BaseException7","_super18","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","_ref18","_ref18$decodeTransfor","_ref18$colorTransform","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","component","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","maybeScanLines","blockRow","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuCol","blockCol","h","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","Int16Array","currentPos","maxPos","newPos","currentMarker","newMarker","_ref19","_ref19$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","precision","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","output","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","lastComponentScaleX","xScaleBlockOffset","mask3LSB","_isColorConversionNeeded","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","_ref20","_ref20$forceRGB","_ref20$isSourcePDF","rgbData","grayColor","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","top","src","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","_util$BaseException8","_super19","SubbandsGainLog2","LL","LH","HL","HH","failOnCorruptedImage","calculateComponentDimensions","siz","x0","XOsiz","XRsiz","x1","Xsiz","y0","YOsiz","YRsiz","y1","Ysiz","calculateTileGrids","context","tile","SIZ","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","tx0","ty0","tx1","ty1","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","resolution","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","minHeight","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","included","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","delta","mb","reversible","segmentationSymbolUsed","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","nb","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","Float32Array","mu","epsilon","gainLog2","calculate","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","method","colorspace","parseCodestream","headerType","parseImageProperties","newByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","multipleComponentTransform","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","resultImages","transformedTiles","y2","tile0","out","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","transformComponents","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","currentValue","UNIFORM_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","labels","i1","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","i2","Transform","u0","ll","iterate","extend","j1","j2","hl_lh_hh","u","llWidth","llHeight","llItems","rowBuffer","numBuffers","colBuffers","currentBuffer","current","alpha","beta","gamma","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","w","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","add","lowAdd","highAdd","copyTo","assign","rotr","maj","sigma","sigmaPrime","littleSigma","h4","h5","h6","h7","t1","littleSigmaPrime","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_s","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j2","_j3","_k","_j4","s0","s1","s3","_j5","_j6","_j7","_j8","_j9","_j10","_k2","finalize","sourceLength","iv","plain","_decrypt","_key","outputLength","lastBlock","psLen","_i12","_i13","_j11","_ii4","_decryptBlock2","cipher","_encrypt","_i14","_j12","_AESBaseCipher","_super20","_this22","_rcon","_expandKey","rcon","t3","t4","_AESBaseCipher2","_super21","_this23","compareByteArrays","array1","array2","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","concatArrays","calculatePDF20Hash","arrayLength","k1","remainder","concatBytes","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","defaultPasswordBytes","prepareKeyData","revision","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","uBytes","perms","passwordLength","pdfAlgorithm","createEncryptionKey20","decodedPassword","decodeUserPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","numComps","srcOffset","getRgbItem","destOffset","inputLength","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","_i17","destPos","_i16","w1","w2","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","_i15","resizeRgbImage","_destPos","_rgbPos","_i18","cs","res","IR","parseToIR","fromIR","whitePoint","blackPoint","gray","cmyk","CalGrayCS","matrix","CalRGBCS","basePatternCS","PatternCS","baseIndexedCS","hiVal","IndexedCS","alt","tintFn","AlternateCS","LabCS","colorSpaces","resCS","altIR","altCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","_super22","_this24","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","getOutputLength","_ColorSpace2","_super23","baseCS","_this25","_ColorSpace3","_super24","highVal","_this26","outputDelta","lookupPos","_ColorSpace4","_super25","_ColorSpace5","_super26","convertToRgb","srcScale","_ColorSpace6","_super27","A","AG","G","L","YW","_ColorSpace7","_super28","_this27","XW","ZW","XB","YB","ZB","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","DECODE_L_CONSTANT","matrixProduct","sRGBTransferFunction","adjustToRange","decodeL","B","C","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Flat","sourceWhitePoint","XYZ_In","LMS","LMS_Flat","convertToFlat","normalizeWhitePointToFlat","XYZ_Black","sourceBlackPoint","zeroDecodeL","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","compensateBlackPoint","XYZ_D65","LMS_D65","convertToD65","normalizeWhitePointToD65","SRGB","_ColorSpace8","_super29","_this28","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","_super30","_this29","getQuadPoints","MarkupAnnotation","AnnotationBorderStyle","Annotation","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","quadPoints","quadPointsLists","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","modificationDate","flag","_hasFlag","_isViewable","_isPrintable","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","_this30","appearanceDict","bbox","_util$Util$getAxialAl","getAxialAlignedBoundingBox","_util$Util$getAxialAl2","maxY","getTransformMatrix","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","_step11","isValid","allZeros","_iterator11","radius","_Annotation","_super31","_this31","rawIRT","inReplyTo","rt","replyType","setCreationDate","creationDate","hasPopup","_Annotation2","_super32","_this32","annotationType","fieldName","_constructFieldName","fieldValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","unshift","loopDict","_WidgetAnnotation","_super33","_this33","alignment","textAlignment","maximumLength","multiLine","comb","_WidgetAnnotation2","_super34","_this34","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","customAppearance","exportValueOptionsDict","exportValues","exportValue","buttonValue","fieldParent","fieldParentValue","_step12","_iterator12","_WidgetAnnotation3","_super35","_this35","option","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_super36","_this36","stateModel","_Annotation3","_super37","_this37","_Annotation4","_super38","_this38","parentItem","parentSubtype","parentType","rawParent","parentId","parentFlags","_MarkupAnnotation2","_super39","_this39","_MarkupAnnotation3","_super40","_this40","lineCoordinates","_MarkupAnnotation4","_super41","_this41","_MarkupAnnotation5","_super42","_this42","_MarkupAnnotation6","_super43","_this43","rawVertices","vertices","_PolylineAnnotation","_super44","_this44","_MarkupAnnotation7","_super45","_this45","_MarkupAnnotation8","_super46","_this46","originalInkLists","inkLists","_MarkupAnnotation9","_super47","_this47","_MarkupAnnotation10","_super48","_this48","_MarkupAnnotation11","_super49","_this49","_MarkupAnnotation12","_super50","_this50","_MarkupAnnotation13","_super51","_this51","_MarkupAnnotation14","_super52","_this52","file","QueueOptimizer","addState","parentState","pattern","checkFn","iterateFn","processFn","InitialState","iCurr","fnArray","argsArray","match","lastProcessed","curr","iFirstSave","iFirstTransform","iFirstPIIXO","map","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","kind","iFirstPIMXO","imageMask","handlePaintSolidColorImageMask","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iPIMXO","positions","images","maskParams","firstPIXOArg0","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","fn","NullOptimizer","streamSink","_streamSink","optimizer","dependencies","_totalLength","weight","_resolved","ready","CHUNK_SIZE","addDependency","addDependencies","_transfers","transfers","cached","enqueue","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_bidi","_glyphlist","_metrics","_murmurhash","_image_utils","_image","DefaultPartialEvaluatorOptions","_ref21","_this53","_ref21$options","parsingType3Font","fetchBuiltInCMap","_ref22","_callee12","readableStream","_context12","sendWithStream","getReader","pump","_ref23","compressionType","_x12","TimeSlotManager","normalizeBlendMode","parsingArray","maybeBM","checked","endTime","deferred","clone","newOptions","newEvaluator","nodes","graphicStates","graphicStatesKeys","graphicState","bm","xObjects","xObjectsKeys","_i19","_ii5","_key2","xObject","xResources","buildFormXObject","xobj","initialState","_this54","_callee13","group","groupOptions","groupSubtype","colorSpace","_context13","isolated","knockout","parseColorSpace","backdrop","buildPaintImageXObject","_ref24","_this55","_callee14","image","_ref24$isInline","isInline","_ref24$forceDisableNa","forceDisableNativeImageDecoder","bitStrideLength","imgArray","softMask","imageObj","nativeImageDecoder","imgPromise","_context14","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","createImageData","NativeImageDecoder","isSupported","maybeValidDimensions","buildImage","nativeDecoder","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","handleTilingType","patternDict","_this56","tilingOpList","resourcesArray","patternResources","getTilingPatternIR","tilingPatternIR","handleSetFont","fontArgs","fontRef","fontName","_this57","loadFont","isType3Font","loadType3Data","TranslatedFont","ErrorFont","handleText","chars","glyphs","charsToGlyphs","textRenderingMode","fillColorSpace","buildFontPaths","ensureStateFont","gState","_this58","gStateObj","gStateKeys","_loop2","_this59","errorFont","fontRes","partialMsg","getFallbackFontDict","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","descriptor","fontRefIsRef","fontAliases","aliasFontRef","Font","getFontID","translateFont","fontType","fontFile3","getFontType","buildPath","parsingText","lastIndex","opArgs","_ref25","_this60","handleColorN","_this61","_callee15","patternName","typeNum","shading","_context15","Pattern","parseShading","_ref26","_this62","_ref26$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","argument","savedStatesDepth","promiseBody","operation","resolveXObject","rejectXObject","fontSize","combinedGlyphs","arrLength","arrItem","strokeColorSpace","shadingRes","patternIR","dictName","extGState","_ref27","_this63","_ref27$stateManager","_ref27$normalizeWhite","_ref27$combineTextIte","_ref27$seenStyles","seenStyles","TextState","textState","WhitespaceRegexp","textContent","styles","textContentItem","vertical","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","Infinity","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","skipEmptyXObjs","ensureTextContentItem","fontFamily","fallbackName","ascent","descent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","buildTextContentItem","textChunk","glyph","glyphWidth","vmetric","glyphUnicode","unicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","isSpace","wordSpacing","addFakeSpaces","tx","ty","translateTextMatrix","abs","fakeSpaces","round","flushTextContentItem","bidiResult","bidi","dir","enqueueChunk","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","baseDict","properties","cidToGidBytes","_this64","toUnicode","toUnicodePromise","readToUnicode","composite","cidSystemInfo","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","readCidToGidMap","_buildSimpleFontToUnicode","forceGlyphs","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","_charcode","_glyphName","codeStr","getUnicodeForGlyph","baseEncoding","fromCodePoint","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","_this65","cmapObj","cmap","getMap","charCode","glyphsData","glyphID","extractWidths","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","search","monospace","lookupName","getStdFontMap","Metrics","getMetrics","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","_this66","maxCharIndex","Serif","getSymbolsFonts","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","wideChars","fixedPitch","xHeight","capHeight","italicAngle","cidEncoding","fontChar","renderer","hasBuiltPath","getPathJs","_step13","_iterator13","accent","_fallbackFontDict","type3Loaded","exportData","glyphCacheValues","parentOperatorList","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","charProcOperatorList","_loop3","glyphStream","stateStack","old","txDiff","tyDiff","denominator","calcRenderMatrix","getOPMap","numArgs","variableArgs","opMap","nonProcessedArgs","_numInvalidPathOPS","opSpec","argsLength","preprocessCommand","CMap","BUILT_IN_CMAPS","codespaceRanges","numCodespaceRanges","dstLow","dst","_i20","nn","codespaceRange","_CMap","_super53","_this67","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","MAX_NUM_SIZE","BinaryCMapStream","readByte","readNumber","readSigned","readHex","readHexNumber","stack","sp","readHexSigned","readString","process","char","sequence","dataSize","subitemsCount","mapOne","mapCidRange","mapBfRange","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","previous","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","contains","cMapData","_callee16","_context16","parsedCMap","isIdentityCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","PDF_GLYPH_SPACE_UNITS","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","charCodeOf","amend","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","getSearchParams","entriesCount","entrySize","maxPower2","searchRange","rangeShift","toArray","tablesNames","tableName","numTables","tableOffsets","searchParams","checksum","addTable","tag","sizes","missingFile","glyphCache","toFontChar","fallbackToSystemFont","_getFontFileType","_ref28","fileType","fileSubtype","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","getFontFileType","_getFontFileType2","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","ID","int16","signedInt16","string16","safeString16","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","createCmapTable","numGlyphs","codeIndices","getRanges","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","bias","contiguous","format314","format31012","header31012","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","angle","createNameTable","proto","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","FontRendererFactory","_this68","stdFontMap","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","unicodeCharCode","getDingbatsGlyphsUnicode","_GlyphMapForStandardFonts","VALID_TABLES","readTables","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","sanitizeGlyph","sourceStart","sourceEnd","destStart","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xLength","yLength","xyLength","repeat","glyphDataLength","readNameTable","numRecords","stringsStart","records","platform","language","record","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","NaN","foldTTTable","ttcData","ttc","_readTrueTypeCollecti","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionHeader","potentialHeader","potentialTables","nameEntry","readTrueTypeCollectionData","isTrueType","isComposite","numGlyphsOut","dupFirstEntry","maxFunctionDefs","maxSizeOfInstructions","fpgm","prep","cvt","checkInvalidFunctions","cvtData","sanitizeTTPrograms","numOfMetrics","numMissing","sanitizeMetrics","head","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeHead","missingGlyphs","isGlyphLocationsLong","glyphsInfo","loca","itemSize","itemDecode","itemEncode","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","simpleGlyph","firstEntryLength","sanitizeGlyphLocations","metricsOverride","post","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","stringLength","readPostScriptTable","isCidToGidMapEmpty","cmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","readCmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","_i21","_i22","glyphZeroId","newMapping","os2","selection","validateOS2Table","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","builtInEncoding","adjustToUnicode","mapping","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","hmtx","charstring","_shadowWidth","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","headerBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","suggestedLength","headerBytes","headerBytesLength","EEXEC_SIGNATURE","streamStartPos","getHeaderBlock","Type1Parser","extractFontHeader","eexecBytes","eexecBlock","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","field","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","NUM_STANDARD_CFF_STRINGS","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","getByName","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetSize","offsetStart","offsetEnd","Type","cffDict","pair","setByKey","parseCharString","callDepth","stackSize","validationCommand","subrNumber","hasVStems","firstStackClearing","_ref29","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","emptyPrivateDictionary","parentDict","privateOffset","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","raw","predefined","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","supplementsCount","sid","readSupplement","CFFEncoding","glyphZero","getSID","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","order","valueLength","createTables","layout","glyphIndex","CFFOffsetTracker","isTracking","track","location","setEntryLocation","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","subDict","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeNumber","encodeFloat","encodeInteger","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","compileGlobalSubrIndex","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","encodingName","MacExpertEncoding","getSpecialPUASymbols","UnicodeRanges","charsLength","hexStr","nameLen","toUpperCase","getLong","getUshort","getSubroutineBias","numSubrs","parseCmap","idDelta","idOffset","groups","parseCff","gsubrs","isCFFCIDFont","lookupCmap","codePointAt","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","numberOfPoints","points","startPoint","endPoint","contour","compileCharString","stems","bezierCurveTo","xb","yb","subrCode","stackClean","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","_super54","_this69","Type2Compiled","_CompiledFont2","_super55","cffInfo","_this70","parseGlyfTable","Type1CharString","COMMAND_MAP","lsb","flexing","encoded","wx","sbx","dy","executeCommand","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","isHexDigit","discardNumber","decrypted","isSpecial","encrypted","isBinary","digit1","digit2","decryptAscii","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","charStringObject","_index","encodingArg","xstep","ystep","paintType","tilingType","ShadingType","getPattern","ctx","Shadings","RadialAxial","Mesh","Dummy","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","colorStops","ratio","cssColor","makeCssRgb","background","SMALL_NUMBER","r0","singularValueDecompose2dScale","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","hasData","align","readFlag","bitsPerFlag","readCoordinate","bitsPerCoordinate","xi","yi","readComponents","ci","getB","lut","t_","buildB","buildFigureFromPatch","mesh","figure","figures","coords","pi","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","bounds","splitYBy","verticesPerRow","figureCoords","figureColors","cl","cr","c0","c1","c2","c3","bRow","bCol","newColor","updateBounds","patchMesh","operators","ps","verticesLeft","coord","decodeType4Shading","decodeType5Shading","tmp4","decodeType6Shading","decodeType7Shading","coordsPacked","xy","colorsPacked","packData","startLevel","isLTR","strLength","createBidiText","numBidi","charType","baseTypes","arabicTypes","isOdd","sor","eor","lastType","findUnequal","before","after","setValues","isEven","highestLevel","lowestOddLevel","reverseValues","temp","fnDict","PostScriptCompiler","PostScriptEvaluator","_ps_parser","_ref30","_ref30$isEvalSupporte","PDFFunction","parseArray","toNumberArray","_i23","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","_ref31","typeFn","constructSampled","constructInterpolated","constructStiched","constructPostScript","_ref32","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","_ref33","_ref34","_ref35","toMultiArray","domain","inputSize","encode","_ref36","interpolate","xmin","xmax","ymin","ymax","samples","cubeVertices","cubeN","Float64Array","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","_ref37","_ref38","_ref39","fnRefs","fns","_ref40","dmin","dmax","rmin","rmax","_ref41","PostScriptLexer","PostScriptParser","_ref42","numOutputs","numInputs","cache_available","cachedValue","execute","stackIndex","bound","PostScriptStack","initialStack","copy","roll","operator","counter","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","variable","ExpressionBuilderVisitor","parts","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","opCache","PostScriptToken","opValue","getOperator","SEED","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","_i24","hex1","hex2","_ref43","_ref43$forceDataSchem","isDecodable","_ref44","handleImageData","canDecode","decodeAndClamp","addend","coefficient","resizeImageMask","_ref45","_ref45$isInline","_ref45$smask","_ref45$mask","_ref45$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","_ref46","smaskPromise","maskPromise","_ref46$isInline","_ref46$nativeDecoder","imagePromise","_ref47","_ref48","imageData","smaskData","maskData","_ref49","computedLength","decodeBuffer","getComponents","bufferPos","buf","rowComps","loop1End","loop2End","remainingBits","fillOpacity","rgbaBuf","alphaBuf","sw","sh","fillGrayBuffer","opacity","imageOffset","maskOffset","undoPreblend","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","fillRgb","versions","CallbackKind","StreamKind","wrapReason","sourceName","targetName","comObj","_this71","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","event","_processStreamMessage","_sourceName","_targetName","_createStreamSink","addEventListener","_deleteStreamController2","ah","_postMessage","queueingStrategy","_this72","ReadableStream","controller","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancel","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_callee17","_context17","allSettled","_x13","removeEventListener","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","_this73","_isRangeSupported","_isStreamingSupported","_reader","_headersReady","_read","_callee18","_yield$this$_reader$r","_context18","_read2","_callee19","_yield$this$_reader$r2","_context19"],"sourceRoot":""}