{"version":3,"file":"static/js/main.d20b4a6f.js","mappings":"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,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEL,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE04B,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DjgC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEkgC,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGEp5B,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEw5B,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DQ,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKO5W,EAAkB/iB,EAASZ,GAAA,QAC9BW,EAAY,EACZF,EAAe,EACfpK,EAAK,IAAIM,MACJuK,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAI8V,EAAI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A,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOW,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBF,EAAIuW,GAAQhX,EAAIW,GAAKC,EAAK,IAAM,KACpCH,EAAIyJ,KAAKiiB,IAAIjiB,KAAKC,IAAI1J,EAAG,GAAI,KAC7B4Y,EAAOjY,EAAOT,IAAMF,CAAA,SAElBpK,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEO6K,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBX,EAAIyW,GAAQ3gB,EAAK6K,GAAKN,EAAK,IAAM,KACrCL,EAAI2J,KAAKiiB,IAAIjiB,KAAKC,IAAI5J,EAAG,GAAI,KAC7BL,EAAQkB,EAAOF,IAAMX,CAAA,SAEnBH,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEED,EAAI,EACCO,EAAM,EAAGA,EAAM,EAAGA,IAAA,IACpB,IAAIL,EAAM,EAAGA,EAAM,EAAGA,IACzBc,EAAQhB,GAAK,GAAOkZ,EAAOjY,EAAOjB,IAAMC,EAAKM,GAAON,EAAKC,GAAO,GAChEtE,EAASoE,GAAK,GAAOD,EAAQkB,EAAOjB,IAAMC,EAAKM,GAAON,EAAKC,GAAO,GAClEF,GAAA,CA2gBkB,CAGpBS,EAAU,GAAKsJ,KAAKmS,MAAM,IAAOzb,GAAWsJ,KAAKmS,MAAM,IAAgB,EAAVzb,IAG/DM,EAAiBN,EAAA,MA5Hd81D,OAAS,SACZ91D,EACAM,GAEIA,GAASrE,EAAWqE,GAGxBb,EAAU,IAAI1J,MACd6J,EAAU,EACVK,EAAU,EAGVs6B,EAAU,OAhLVA,EAAU,OACVA,EAAU,IACVF,EAAU,IACVA,EAAU,IACVA,EAAU,IACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVE,EAAU,GACVA,EAAU,GACVF,EAAU,GACVA,EAAU,cAsBVE,EAAU,OACVA,EAAU,KACVF,EAAU,OACL,IAAIr6B,EAAI,EAAGA,EAAI,GAAIA,IACtBq6B,EAAU5hB,EAAOzY,IAEnBq6B,EAAU,OACL,IAAIj7B,EAAI,EAAGA,EAAI,GAAIA,IACtBi7B,EAAU/6B,EAAQF,GAAA,CA9BV,GAqKV,SAlKiBY,EAAOZ,GACxBm7B,EAAU,OACVA,EAAU,IACVF,EAAU,GACVE,EAAUn7B,GACVm7B,EAAUv6B,GACVq6B,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GAmJV,CACUr6B,EAAMgK,MAAOhK,EAAM0P,QAAA,WAnI7B6qB,EAAU,OACVA,EAAU,KAEVF,EAAU,OACL,IAAIr6B,EAAI,EAAGA,EAAI,GAAIA,IACtBq6B,EAAUl6B,EAAyBH,EAAI,QAEpC,IAAIZ,EAAI,EAAGA,GAAK,GAAIA,IACvBi7B,EAAUxB,EAAwBz5B,IAGpCi7B,EAAU,QACL,IAAIt6B,EAAI,EAAGA,EAAI,GAAIA,IACtBs6B,EAAUzhC,EAAyBmH,EAAI,QAEpC,IAAIF,EAAI,EAAGA,GAAK,IAAKA,IACxBw6B,EAAUvB,EAAwBj5B,IAGpCw6B,EAAU,OACL,IAAI5kC,EAAI,EAAGA,EAAI,GAAIA,IACtB4kC,EAAU36B,EAA2BjK,EAAI,QAEtC,IAAI6K,EAAI,EAAGA,GAAK,GAAIA,IACvB+5B,EAAUnB,EAA0B54B,IAGtC+5B,EAAU,QACL,IAAIjkB,EAAI,EAAGA,EAAI,GAAIA,IACtBikB,EAAUX,EAA2BtjB,EAAI,QAEtC,IAAIqC,EAAI,EAAGA,GAAK,IAAKA,IACxB4hB,EAAUV,EAA0BlhB,GAAA,CAmGT,GA9F7B8hB,EAAU,OACVA,EAAU,IACVF,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,IACVA,EAAU,OAwFNjkB,EAAM,EACNzW,EAAM,EACNH,EAAM,EAEVI,EAAU,EACVK,EAAU,OAEL61D,OAAO54D,YAAc,mBAQtBqC,EAEAO,EAAG64B,EAAGn4B,EACNuiB,EAAOgc,EAAGI,EAAKE,EAAK5F,EATpBp5B,EAAYL,EAAMoH,KAClBo4B,EAAQx/B,EAAMgK,MACd01B,EAAS1/B,EAAM0P,OAEfiwB,EAAoB,EAARH,EAGdI,EAAI,EAGCA,EAAIF,GAAQ,KACjBngC,EAAI,EACGA,EAAIogC,GAAW,KACpB5c,EAAQ4c,EAAYC,EAAIrgC,EACxB4/B,GAAO,EACPE,EAAM,EAED5F,EAAM,EAAGA,EAAM,GAAIA,IAGtBsF,EAAIhc,GAFJsc,EAAM5F,GAAO,GAEKkG,GADlBR,EAAkB,GAAL,EAAN1F,IAGHmG,EAAIP,GAAOK,IAEbX,GAAKY,GAAaC,EAAI,EAAIP,EAAMK,IAG9BngC,EAAI4/B,GAAOQ,IAEbZ,GAAKx/B,EAAI4/B,EAAMQ,EAAY,GAG7B7/B,EAAIO,EAAU0+B,KACdpG,EAAIt4B,EAAU0+B,KACdv+B,EAAIH,EAAU0+B,KASd1/B,EAAIo6B,IACAb,EAAc94B,GACd84B,EAAeD,EAAI,KAAQ,GAC3BC,EAAep4B,EAAI,KAAQ,IAC3B,IACF,IACFJ,EAAIq5B,IACAb,EAAe94B,EAAI,KAAQ,GAC3B84B,EAAeD,EAAI,MAAS,GAC5BC,EAAep4B,EAAI,MAAS,IAC5B,IACF,IACFN,EAAIu5B,IACAb,EAAe94B,EAAI,MAAS,GAC5B84B,EAAeD,EAAI,MAAS,GAC5BC,EAAep4B,EAAI,MAAS,IAC5B,IACF,IAGJ4V,EAAMykB,EAAUx7B,EAAKkB,EAAS6V,EAAKhX,EAAQS,GAC3CF,EAAMk7B,EAAUz6B,EAAKjF,EAAUwE,EAAKI,EAAStK,GAC7C+J,EAAMq7B,EAAU36B,EAAK/E,EAAUqE,EAAKO,EAAStK,GAC7C8J,GAAK,GAEPqgC,GAAK,KAMH3/B,GAAW,EAAG,KACZ6/B,EAAW,GACfA,EAAS,GAAK7/B,EAAU,EACxB6/B,EAAS,IAAM,GAAM7/B,EAAU,GAAM,EACrCm5B,EAAU0G,EAAA,QAGZvF,EAAU,OAEH,IAAIlY,WAAW5iB,EAAA,EAiBtBO,EAAUA,GAAW,sBAxIjBA,EAAO8D,OAAO0qB,aACTpvB,EAAI,EAAGA,EAAI,IAAKA,IAEvBu5B,EAAIv5B,GAAKY,EAAKZ,EAAA,CAqIK,GA/frBA,EAAS2jB,EACP5iB,EACA04B,GAEF94B,EAAUgjB,EACRrjB,EACAw5B,GAEFr5B,EAASkjB,EACPnqB,EACAkgC,GAEFrjC,EAAUstB,EACR2W,EACAC,GAAA,mBAKE35B,EAAU,EACVZ,EAAU,EACLW,EAAM,EAAGA,GAAO,GAAIA,IAAO,KAE7B,IAAIF,EAAKG,EAASH,EAAKT,EAASS,IACnCL,EAAS,MAAQK,GAAME,EACvBJ,EAAQ,MAAQE,GAAM,GACtBF,EAAQ,MAAQE,GAAI,GAAKE,EACzBJ,EAAQ,MAAQE,GAAI,GAAKA,EAAA,IAGtB,IAAIpK,IAAU2J,EAAU,GAAI3J,IAAUuK,EAASvK,IAClD+J,EAAS,MAAQ/J,GAASsK,EAC1BJ,EAAQ,MAAQlK,GAAS,GACzBkK,EAAQ,MAAQlK,GAAO,GAAKsK,EAC5BJ,EAAQ,MAAQlK,GAAO,GAAK2J,EAAU,EAAI3J,EAE5CuK,IAAY,EACZZ,IAAY,GAvBZ,GAqfF,eAzdK,IAAIY,EAAI,EAAGA,EAAI,IAAKA,IACvB44B,EAAc54B,GAAK,MAAQA,EAC3B44B,EAAe54B,EAAI,KAAQ,GAAK,MAAQA,EACxC44B,EAAe54B,EAAI,KAAQ,GAAK,KAAOA,EAAI,MAC3C44B,EAAe54B,EAAI,KAAQ,IAAM,MAAQA,EACzC44B,EAAe54B,EAAI,MAAS,IAAM,MAAQA,EAC1C44B,EAAe54B,EAAI,MAAS,GAAK,MAAQA,EAAI,QAC7C44B,EAAe54B,EAAI,MAAS,IAAM,MAAQA,EAC1C44B,EAAe54B,EAAI,MAAS,IAAM,KAAOA,CAAA,CAid3C,GAGA/D,EAAW+D,EAAA,CC9sCf,SAASgoC,GAAWhoC,EAAQZ,GAAA,QACrB+lB,IAAM,OACN4wC,OAAS/1D,EAAA,KACTg2D,MAAQ,IAAIC,SAASj2D,EAAO+1D,QAAA,KAC5BG,gBAAkB92D,EAAA,KAClB+2D,WAAA,EAAY,KACZC,KACHtyD,OAAO0qB,aAAat0B,KAAK67D,OAAO,IAAMjyD,OAAO0qB,aAAat0B,KAAK67D,OAAO,SACnE5wC,KAAO,GACqD,IAA7D,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MAAMvX,QAAQ1T,KAAKk8D,MACpD,MAAM,IAAI78D,MAAM,yBACb88D,cAAA,KACAC,UAAA,CCrBP,SAASruB,GAAYjoC,GAAA,SAsCVZ,EAAEY,GAAA,IACJA,EAAG,MAAMzG,MAAM,sBAEbwG,EAAGC,EAAGZ,EAAGW,GAAA,IACX,IAAIF,EAAI,EAAG,EAAIA,EAAGA,IAAA,GAASG,EAAEZ,EAAIS,IAAME,EAAEw4B,WAAW14B,GAAI,OAAO,UAC7D,UAEAA,EAAEG,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IAChB,IAAI6K,EAAI,EAAGA,EAAI7K,EAAG6K,IAAKN,EAAEZ,EAAIkB,GAAKP,EAAEF,EAAIS,EAAA,UAEtC7K,EAAEuK,EAAGZ,EAAGW,EAAGF,GAAA,IACb,IAAIpK,EAAI,EAAGA,EAAIoK,EAAGpK,IAAKuK,EAAEZ,EAAI3J,GAAKsK,CAAA,UAEhCO,EAAEN,GAAA,OACF,IAAIqjD,WAAWrjD,EAAA,UAEfoW,EAAGpW,EAAGZ,GAAA,IACR,IAAIW,EAAI,GAAIF,EAAI,EAAGA,EAAIG,EAAGH,IAAKE,EAAEjK,KAAK,IAAIsJ,GAAA,OACxCW,CAAA,UAcA0Y,EAAGzY,EAAGZ,GAAA,IAQTW,EAAI,mBAPCC,EAAED,EAAGF,EAAGpK,GAAA,IACV,IAAI6K,EAAI7K,EAAEoK,GAAIuW,EAAK,EAAGA,EAAK9V,IAC9BP,EAAEjK,KAAKL,EAAEE,OAASkK,EAAI,EAAI,GAAK,IAAIT,KAC/B3J,EAAEE,OAASkK,EAAI,IAFcuW,IAGjCpW,EAAED,EAAEqW,GAAKvW,EAAI,EAAGpK,EAAA,CAGZ,CACNsK,EAAG,EAAGC,GACDD,CAAA,KAELT,EAAe,eACbU,EAAO9F,KAAA,SAIFoF,EAAEU,EAAGZ,GAAA,IACP,IAAIW,EAAK,GAAMX,EAAI,IAAQ,EAAGY,EAAID,GAAKA,KAAO,SAC5CA,GAAKC,EAAKD,EAAI,GAAMA,EAAIC,CAAA,UAExBO,EAAEP,EAAGD,EAAGF,EAAGpK,EAAG6K,GACrBlB,IAAI3J,EAAIoK,IAAA,GACMG,EAAED,GAAZtK,GAAKoK,IAAgBS,QAClB,EAAI7K,EAAA,UA+EJ0F,EAAE6E,EAAGD,EAAGF,EAAGpK,EAAG2gB,GAAA,GACrBhX,EAAE,MAAQgX,GACN,KAAOA,EAAG,IAAIqC,EAAInY,EAAE,UACnB,GAAiB,OAAXmY,EAAInY,EAAE8V,IAAiB,OAAO,kBAhFhCpW,EAAGD,EAAGF,EAAGpK,EAAG2gB,EAAGqC,GAAA,IAGtBtd,EACAqE,EAHED,EAAIQ,EACND,EAAI,GAAKD,EAGTJ,EAAIa,EAAE,IACNV,EAAIU,EAAE,QACRlB,EAAE,GAAKgX,GACPhX,EAAE,MAAQ3J,GACV2J,EAAE,MAAQY,GACVZ,EAAE,EAAIS,GACDL,EAAI,EAAGA,EAAI4W,IAAK5W,EAAG,IAClB,GAAK/J,EAAE+J,GAAI,OAAO,IACpBC,EAAEhK,EAAE+J,GAAA,IAEJC,EAAE,IAAM2W,EAAG,OAAO,MACtBxW,EAAE,GAAK,EACFzE,EAAI,EAAG,GAAKA,IAAKA,EAAG,IACnBsE,EAAEtE,GAAK,GAAKA,EAAG,OAAO,EAC1ByE,EAAEzE,EAAI,GAAKyE,EAAEzE,GAAKsE,EAAEtE,EAAA,KAEjBqE,EAAI,EAAGA,EAAI4W,IAAK5W,EAAIrE,EAAI1F,EAAE+J,GAAK,EAAI/J,EAAE+J,KAAOiZ,EAAE7Y,EAAEzE,MAAQqE,GAAA,GACzD,GAAKI,EAAE,IACT,OAAQnK,EAAI,IAAIkK,GAASF,EAAI,EAAKhK,EAAEqB,MAAQ2hB,EAAE,GAAKlY,EAAEP,EAAGT,EAAG,EAAGO,EAAGrK,GAAIqK,EAAA,IAMrEG,EALEZ,GAAK,EACPe,EAAIN,EAAI,EACRI,EAAI,EACJy4B,EAAI,EACJC,EAAI,EAEJp4B,EAAI,GAAKX,EAAA,IACXL,EAAI,EACJrE,EAAI,EACCib,EAAI,EAAGjb,GAAK0E,IAAK1E,EAAGib,IAAM,EAAG,IAEhCuiB,GADAC,IAAM,EAGF,GADJA,GAAKn5B,EAAEtE,IACI,OAAO,OACX,EAAIsE,EAAEtE,KAAMsE,EAAEtE,IAClB1F,EAAI,IAAIkK,GACJF,EAAItE,EACN1F,EAAEqB,MAAQ2hB,EAAEjZ,KACbe,EAAEP,EAAGT,EAAIW,EAAGkW,EAAG5V,EAAG/K,GACjByK,EAAIZ,EAAEY,EAAG/E,EAAA,KAEhBA,EAAI0E,EAAI,EACHuW,EAAI,EAAG,IAAMjb,IAAKA,EAAGib,IAAM,EAAG,IAEjCuiB,GADAC,IAAM,EAGF,GADJA,GAAKn5B,EAAEtE,IACI,OAAO,OACX,EAAIsE,EAAEtE,KAAMsE,EAAEtE,GAAI,IACvB1F,EAAI,IAAIkK,GACHO,EAAIE,IAAMf,EAAG,KAChBE,GAAKiB,EAEAP,EAAI,IADTZ,EAAIlE,GACe0E,EAAI,GAAKR,KAEtB,IADJY,GAAKR,EAAEJ,QAELA,EACFY,IAAM,EAIRH,GADAU,EAAI,IADJP,EAAIZ,EAAIQ,GAIRG,EAAED,GADFV,EAAIa,EAAIE,IACCX,EAAIQ,EAAIJ,EACjBG,EAAED,EAAIV,GAAGvI,MAAQyI,EAAIQ,EAAIV,CAAA,CAE3B5J,EAAEgK,EAAItE,EAAI0E,EACVpK,EAAEqB,MAAQ2hB,EAAEjZ,KACZe,EAAEP,EAAGT,GAAKW,GAAKL,GAAIuW,EAAG5V,EAAG/K,GACzByK,EAAIZ,EAAEY,EAAG/E,EAAA,SAGNw9B,GAAK,EAAI/4B,EAAE,IAAM,EAAI,EAAIE,CAAA,CAKS,CAChCE,EAAGD,EAAGF,EAAGpK,EAAG2gB,EAAGqC,EAAA,UAEjB9Y,IAAA,KACF7I,MAAQoD,KAAKuF,EAAI,WAEfD,IAAA,KACF1I,MAAQoD,KAAKuF,EAAI,WAEfF,IAAA,KACFqgC,EAAIxpB,EAAG,EAAGzW,GAAA,KACV6/B,EAAIl/B,EAAE,QACNi2D,GAAKr8D,KAAKs8D,GAAKt8D,KAAKu8D,GAAKv8D,KAAKw8D,GAAK,OACnCC,GAAKvgD,EAAGkhC,GAAI93C,EAAA,UAEVM,EAAGE,EAAGD,EAAGF,EAAGpK,GACnB2J,EAAE,MAAQY,GACVZ,EAAE,MAAQW,GACVX,EAAE,WAAa3J,GACfuK,EAAE42D,GAAK,IACP52D,EAAEk5B,EAAI,EACNl5B,EAAEX,GAAK,EACPW,EAAE62D,GAAK,EACP72D,EAAE82D,GAAK/2D,EACPC,EAAE+2D,GAAKl3D,EACPG,EAAEg3D,GAAKj3D,EACPC,EAAEi3D,GAAKp3D,EAAIpK,EACXuK,EAAEk3D,GAAK,GAAKzhE,EAAIoK,EAAIpK,EAAI,EAAI,EAAIoK,EAChCjH,EAAGoH,EAAA,UAEIP,EAAGO,EAAGZ,GAAA,IACR,IAAIW,EAAI,EAAG,EAAIX,KAAOW,GAAKL,EAAEM,EAAG,MAAQZ,EAAA,OACtCW,CAAA,UAEAH,EAAGI,EAAGZ,GAAA,IACTW,EAAIN,EAAGO,EAAGZ,GAAA,OACP05B,EAAE94B,IAAMD,EAAIA,CAAA,UAEZE,EAAGD,EAAGD,EAAGF,EAAGpK,GAAA,IACf6K,EACF8V,EAAI,MACNhX,EAAE,MAAQY,GACVZ,EAAE,MAAQW,GACVX,EAAE,WAAa3J,GACfuK,EAAEm3D,GAAK1hE,EACPuK,EAAEo3D,GAAK,EACPp3D,EAAEO,EAAI,EACNP,EAAE7E,EAAI,IACF1F,IAAMA,EAAI,GACT6K,EAAI,EAAGA,EAAI7K,IAAK6K,EAAG8V,GAAKrW,EAAEF,EAAIS,IAAO,EAAIA,EAC9CN,EAAEo3D,GAAKhhD,EACPpW,EAAEq3D,GAAK5hE,EACPuK,EAAE82D,GAAK/2D,EACPC,EAAE+2D,GAAKl3D,CAAA,UAEAR,EAAGW,GAAA,KACH,GAAKA,EAAEO,GAAKP,EAAEq3D,GAAKr3D,EAAEm3D,IACzBn3D,EAAEo3D,MAAQ,EACRp3D,EAAEo3D,IAAOp3D,EAAE82D,GAAG92D,EAAE+2D,GAAK/2D,EAAEq3D,KAAQC,GAAK,IAAQ,IAC3Ct3D,EAAEq3D,GACHr3D,EAAEO,GAAK,EACZC,EAAGR,KAAQA,EAAE7E,EAAI,EAAK6E,EAAEO,EAAI,YAErBH,EAAEJ,EAAGD,GAAA,GACZX,EAAE,GAAKW,IACFC,EAAE7E,GAAK4E,GAAKw3C,GAAI,KACf13C,EAAI+4B,EAAG54B,GAAKy+B,GAAG1+B,GAAA,OACnBC,EAAEO,GAAKR,EACPV,EAAGW,GACIH,CAAA,QAETG,EAAE7E,EAAI,EACE6E,EAAEO,EAAI,WAEPL,IAAA,KACFb,EAAInF,KAAK08D,GAAK18D,KAAKg/B,EAAI,OACvB49B,GAAK,QACLC,GAAK,OACLC,GAAK,QACLC,GAAK,OACLC,GAAK,QACLL,GAAK,WAEHl+B,IAAA,KACFy+B,GAAK,OACLN,GAAK,QACL37D,EAAIjB,KAAKqG,EAAIrG,KAAKm9D,GAAKn9D,KAAKi9D,GAAKj9D,KAAK68D,GAAK,WAEzCn+B,EAAG54B,GAAA,OACFA,EAAEo3D,MAAQp3D,EAAEO,EAAK+2D,GAAK,KAAS,WAEhC92D,EAAGR,GAAA,OACVZ,EAAEY,EAAEq3D,IAAMr3D,EAAEm3D,IACLn3D,EAAE7E,GAAM6E,EAAEq3D,IAAMr3D,EAAEm3D,IAAMn3D,EAAEO,EAAI+2D,EAAA,UAE9Bn3D,EAAGH,EAAGZ,GACbY,EAAEO,EAAInB,EACNY,EAAE7E,EAAIqF,EAAGR,EAAA,UAEF64B,EAAG74B,GACVA,EAAEO,GAAKg3D,KAAOn4D,EAAEY,EAAEO,GAAKg3D,IAAKl4D,EAAGW,GAAA,UAExBpH,EAAGoH,GACVZ,EAAE,MAAQY,GAAK,MAAQA,EAAE82D,IACzB92D,EAAE+2D,GAAK/2D,EAAEk3D,IACHl3D,EAAEk5B,GAAKl5B,EAAE82D,GAAG92D,EAAE+2D,MAAS/2D,EAAEk5B,GAAK,KAAQ,EAAKl5B,EAAEX,GAAK,IACnDD,EAAE,MAAQY,GAAK,MAAQA,EAAE82D,IAC1B92D,EAAE+2D,GAAK/2D,EAAEi3D,IACHj3D,EAAEX,GAAK,EAAKW,EAAEk5B,EAAIl5B,EAAE82D,GAAG92D,EAAE+2D,MAAS/2D,EAAEk5B,GAAK,GAC3Cl5B,EAAE62D,GACD72D,EAAEX,EAAI,GACLW,EAAEk5B,IAAM,EAAKl5B,EAAEX,GAAK,EAAKW,EAAE62D,GAAK,aAEnC/9B,EAAE94B,GAAA,OACFP,EAAGO,EAAG,YAENN,EAAEM,EAAGZ,GAAA,IACRW,EAAIC,EAAE42D,GAAA,EACN52D,EAAEX,GAAKzG,EAAGoH,GAAA,IACVH,EAAIG,EAAEX,EACR5J,EAAKsK,EAAIX,IAAO,EAChBkB,GAAKN,EAAEk5B,IAAMr5B,EAAIpK,GAAK,MACxB6K,GAAMP,GAAKtK,EAAKuK,EAAEk5B,GAAOzjC,EAAI,GAAMoK,IAAO,GAAOE,EAAItK,EAAI,EACzDoK,EAAIE,EACCtK,EAAI,EAAG,KAAOoK,GAAMpK,GAAK,EAAKoK,IAAM,SACzCA,EAAI,EAAKpK,EAAI+hE,GAAG33D,GAChBG,EAAEX,GAAKQ,EACPG,EAAE42D,IAAM72D,GAAKF,GAAK,EACXS,CAAA,UAEA44B,EAAGl5B,EAAGZ,EAAGW,GAChBC,EAAEZ,EAAI,GAAMW,GAAK,GAAM,IACvBC,EAAEZ,EAAI,GAAMW,GAAK,GAAM,IACvBC,EAAEZ,EAAI,GAAMW,GAAK,EAAK,IACtBC,EAAEZ,EAAI,GAAMW,GAAK,EAAK,aAEf25B,EAAG15B,EAAGZ,GAAA,OACLY,EAAEZ,EAAI,IAAM,EAAMY,EAAEZ,EAAI,IAAM,WAE/Bu6B,EAAG35B,EAAGZ,GAAA,OACNs6B,EAAG15B,EAAGZ,GAAMY,EAAEZ,EAAI,IAAM,YAExB2jB,EAAG/iB,EAAGZ,GAAA,OACNs6B,EAAG15B,EAAGZ,GAAMs6B,EAAG15B,EAAGZ,EAAI,IAAM,YAE5Bg6B,EAAGp5B,EAAGD,GAAA,IACTF,EAAI,GAAKE,EAAA,OACbX,EAAE,MAAQY,GACVZ,EAAE,EAAIW,GACNC,EAAE4gC,EAAItgC,EAAET,GACJ,MAAQG,EAAE4gC,EAAU,GACxB5gC,EAAEy3D,GAAK,GAAK13D,EACZC,EAAE03D,GAAK33D,EACA,YAEAs6B,EAAGr6B,EAAGD,GACbX,EAAE,MAAQY,GACVZ,EAAE,MAAQW,GACVX,EAAEY,EAAE03D,IAAM33D,EAAE23D,IACZ73D,EAAEE,EAAE6gC,EAAG,EAAG5gC,EAAE4gC,EAAG,EAAG,GAAK7gC,EAAE23D,GAAA,UAElBn9B,IAAA,KACFqG,EAAI,QACJ82B,GAAKx9D,KAAKu9D,GAAK,WAEb58B,EAAG76B,EAAGD,EAAGF,EAAGpK,GACnB2J,EAAE,MAAQS,GACVT,EAAE,MAAQ3J,GAAA,IACN6K,EAAIT,EAAE,GACRuW,EAAI3gB,EAAE,aACH6K,IAAMA,GAAKN,EAAIoW,EAAIrW,EAAI,GAAKA,GAAA,GAC5BqW,IAAMA,GAAKrW,EAAIO,EAAIN,EAAI,GAAKA,GAC7B,GAAKM,GAAK,GAAK8V,EAAU,GAC7BvW,EAAE,GAAKS,EACP7K,EAAE,GAAK2gB,EACA,YAEAna,EAAG+D,EAAGZ,GAAA,OACLY,GAAK,GAAKZ,GAAK,IAAOA,CAAA,UAEvB2/B,EAAG/+B,EAAGZ,GAAA,QAEF,WAAJY,IAAuB,WAAJZ,KAAqB,EAAK,cACxC,SAAJY,IAAqB,SAAJZ,KAAmB,EAAK,YAC/C,WAGK+/B,EAAE//B,EAAGW,GACZC,EAAKD,GAAK,SAASA,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,EAAGnZ,GAAA,IAC/BiB,EAAA,IACCA,EAAI,EAAGA,EAAI6V,IAAK7V,EAAG,KAClBpF,EAAI6E,EAAKZ,GAAGqZ,EAAEnZ,EAAIiB,EAAI,GAAI9K,EAAG6K,EAAIC,GACrCkY,EAAEnZ,EAAIiB,GAAKw+B,EAAGh/B,EAAEF,EAAIU,GAAIpF,EAAA,YAIrBkkC,IAAA,KACFs4B,GAAKz9D,KAAK09D,GAAK19D,KAAK29D,GAAK,WAEvBp+B,EAAGz5B,EAAGZ,GAAA,QACO,YAATY,EAAIZ,MAAqB,IAAMY,EAAIZ,KAAQ,WAE/CiB,EAAGL,GAAA,OACN,GAAKA,GAAK,IAAMA,EAAUA,EAC1B,EAAIA,EAAU,EACd,IAAMA,EAAU,oBAEbw/B,EAAGx/B,EAAGZ,GAAA,OACNiB,EAAGL,GAAMA,EAAIZ,EAAI,IAAQ,aAEzBsgC,EAAG1/B,EAAGZ,EAAGW,GAAA,OACTuJ,KAAKmX,IAAIrhB,EAAIW,GAAKuJ,KAAKmX,IAAIzgB,EAAID,EAAA,UAE/B4/B,EAAG3/B,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,GAAA,IAC5BvW,EAAIS,EAAE8V,EAAI,GACLrW,EAAI,EAAGA,EAAItK,IAAKsK,EAAGO,EAAE8V,EAAIrW,GAAKF,EAAIk/B,EAAG/+B,EAAEZ,EAAIW,GAAIF,EAAA,UAE7C+/B,EAAG5/B,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IAClB6K,EAAA,IACCA,EAAI,EAAGA,EAAIP,IAAKO,EAAG,KAClB8V,EAAIpW,EAAEZ,EAAIkB,GACZmY,EAAKrC,GAAK,EAAK,IAGf9W,EAAQ,UADRA,GADAA,EAAQ,SAAJ8W,KACMqC,GAAK,IAAMA,IAEvB5Y,EAAEpK,EAAI6K,IAAW,WAAJ8V,GAAkB9W,IAAO,YAGjCwgC,EAAG9/B,EAAGZ,GACbA,EAAEy4D,GAAM73D,GAAK,EAAK,IAClBZ,EAAEw4D,GAAM53D,GAAK,EAAK,IAClBZ,EAAEu4D,GAAM33D,GAAK,GAAM,aAEZkgC,EAAGlgC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,GAAA,IACrB8V,EAAA,IACCA,EAAI,EAAGA,EAAIvW,IAAKuW,EAAG,KAClBqC,EAAIrZ,EAAEW,EAAIqW,GACZ9W,EAAImZ,IAAM,EAEVlY,EAAIkY,EAEJtd,EAAQ,KADRA,GAFAA,EAAIsd,IAAM,MAEEzY,EAAE63D,IAAM,IAAO,KAAQv4D,GAAK,IAAO,MAAS,IAIxDiB,EAAQ,KADRA,GADAA,IAAYP,EAAE43D,IAAM,IAAO,KAAQt4D,GAAK,IAAO,MAAS,KAC5CU,EAAE23D,IAAM,IAAO,KAAQx8D,GAAK,IAAO,MAAS,IAE1D1F,EAAE6K,EAAI8V,IAAU,WAAJqC,IAAmBtd,GAAK,IAAMoF,CAAA,WAGrCqgC,EAAGxhC,EAAGW,EAAGF,EAAGpK,EAAG6K,GACtBN,EAAKD,GAAK,SAASC,EAAGZ,EAAGW,EAAGF,EAAGuW,EAAGqC,EAAGnZ,EAAGiB,EAAGpF,GAAA,IACpC0E,EAAIP,EAAGO,EAAIU,IAAKV,EAAA,IACdP,EAAI,EAAGA,EAAInE,IAAKmE,EAAG8W,EAAEqC,KAAOnY,EAAEP,EAAEtK,EAAEuK,EAAEZ,OAAA,EAE7CY,EAAKZ,GAAK,SAASA,EAAGW,EAAGqW,EAAGqC,EAAGnZ,EAAGiB,EAAGpF,GAAA,IAC/BwE,EAAI,GAAKP,EAAEC,EACbG,EAAIJ,EAAE04D,GACNv4D,EAAIH,EAAE2hC,EAAE,GACRjhC,EAAIV,EAAEc,EAAA,GACJ,EAAIP,EACN,IAAKP,GAAK,GAAKA,EAAEC,GAAK,EAAGS,GAAK,GAAKH,GAAK,EAAGI,EAAIqW,IAAKrW,EAAG,KAEnDN,EADEG,EAAI,MAEHH,EAAI,EAAGA,EAAID,IAAKC,EACnBA,EAAIL,IAAMQ,EAAInK,EAAEgjB,EAAEnZ,OAASiB,EAAEpF,KAAOmF,EAAEf,EAAEK,EAAIE,IAAOF,IAAMD,CAAA,MAE1DK,EAAK,eAAiBH,GAAG4Y,EAAGnZ,EAAGC,EAAGO,EAAGS,EAAGpF,EAAG4E,EAAGqW,EAAG5W,EAAA,WAGjDuhC,EAAG/gC,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IACjBsK,EAAIX,EAAIW,EAAGX,EAAIW,GAAK,KACnBO,EAAIN,EAAEZ,KACVS,EAAEpK,KAAQ6K,GAAK,GAAM,IACrBT,EAAEpK,KAAQ6K,GAAK,EAAK,IACpBT,EAAEpK,KAAQ6K,GAAK,EAAK,cAGf2gC,EAAGjhC,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IACjBsK,EAAIX,EAAIW,EAAGX,EAAIW,GAAK,KACnBO,EAAIN,EAAEZ,KACVS,EAAEpK,KAAQ6K,GAAK,GAAM,IACrBT,EAAEpK,KAAQ6K,GAAK,EAAK,IACpBT,EAAEpK,KAAQ6K,GAAK,EAAK,IACpBT,EAAEpK,KAAQ6K,GAAK,GAAM,cAGhB6gC,EAAGnhC,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IACjBsK,EAAIX,EAAIW,EAAGX,EAAIW,GAAK,KAErBO,GADE8V,EAAIpW,EAAEZ,OACG,GAAM,IAASgX,GAAK,GAAM,GACrCA,EAAMA,GAAK,EAAK,IAASA,GAAK,GAAM,GACtCvW,EAAEpK,KAAO6K,EACTT,EAAEpK,KAAO2gB,CAAA,WAGJiqB,EAAGrgC,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IACjBsK,EAAIX,EAAIW,EAAGX,EAAIW,GAAK,KAErBO,GADE8V,EAAIpW,EAAEZ,OACG,GAAM,IAASgX,GAAK,GAAM,EACrCA,EAAMA,GAAK,EAAK,IAASA,GAAK,EAAK,GACrCvW,EAAEpK,KAAO6K,EACTT,EAAEpK,KAAO2gB,CAAA,WAGJirB,GAAGrhC,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IACjBsK,EAAIX,EAAIW,EAAGX,EAAIW,GAAK,KACnBO,EAAIN,EAAEZ,KACVS,EAAEpK,KAAQ6K,GAAK,EAAK,IACpBT,EAAEpK,KAAQ6K,GAAK,EAAK,IACpBT,EAAEpK,KAAQ6K,GAAK,GAAM,cAGhB4pB,GAAGlqB,EAAGZ,EAAGW,EAAGtK,EAAG6K,EAAG8V,GAAA,GACrB,GAAKA,EACP,IAAKrW,EAAIX,EAAIW,EAAGX,EAAIW,GAEhBm5B,EACEzjC,IAFH2gB,EAAIpW,EAAEZ,MAGC,IAAM,GACNgX,EAAE,IAAM,EAAK,MACbA,EAAE,IAAM,EAAK,SACdA,EAAE,IAAM,MACT,GAEH9V,GAAK,QACPT,EAAEpK,EAAG6K,EAAGN,EAAGZ,EAAGW,EAAA,UAEZwhC,GAAGniC,EAAGW,GACbC,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,GAAKC,EAAKZ,EAAI,KACtBY,EAAKD,GAAG,IAAMC,EAAKZ,EAAI,MACvBY,EAAKD,GAAG,IAAMC,EAAKZ,EAAI,MACvBY,EAAKD,GAAG,IAAMC,EAAKZ,EAAI,MACvBY,EAAKD,GAAG,IAAMC,EAAKZ,EAAI,MACvBY,EAAKD,GAAG,IAAMC,EAAKZ,EAAI,KACvBY,EAAKD,GAAG,IAAMC,EAAKZ,EAAI,cAEhBoiC,GAAGxhC,GAAA,OACHA,GAAK+3D,IAAM/3D,GAAKg4D,IAAMh4D,GAAKi4D,IAAMj4D,GAAKk4D,EAAA,UAEtCpuC,KAAA,KACFhH,GAAK,QACLtT,KAAOtV,KAAKsG,EAAItG,KAAKi+D,GAAK,WAExB12B,KAAA,KACFrhC,EAAI,QACJZ,EAAI,QACJ44D,GAAK,QACL1+B,EAAI,QACJ2+B,GAAKn+D,KAAKo+D,GAAKp+D,KAAKq+D,GAAKr+D,KAAKs+D,GAAKt+D,KAAKu+D,GAAKv+D,KAAKw+D,GAAKx+D,KAAKy+D,GAAKz+D,KAAK0+D,GAAK1+D,KAAKgmC,EAAIhmC,KAAKwlC,EAAIxlC,KAAKy+B,EAAIz+B,KAAKk/B,EAAI,WAE7GsI,KAAA,KACFm3B,GAAK3+D,KAAKwV,OAASxV,KAAK8P,MAAQ9P,KAAK2+B,EAAI,OACzCr5B,EAAI,CAAC,EAAD,KACJA,EAAEs5D,KAAO,IAAIhvC,GAAA,KACbtqB,EAAEu5D,GAAK,IAAIt3B,GAAA,KACXu3B,GAAK,cAEHr0C,KAAA,KACF3a,MAAQ,CAAC,QACT0F,OAAS,CAAC,QACVupD,GAAK,CAAC,QACNC,GAAK,CAAC,QACN/2D,OAAS,CAAC,YAERw/B,KAAA,KACFw3B,GAAKj/D,KAAKgpB,GAAKhpB,KAAKk/D,GAAKl/D,KAAKm/D,GAAKn/D,KAAKo/D,GAAKp/D,KAAKq/D,GAAKr/D,KAAKs/D,GAAKt/D,KAAKopB,GAAKppB,KAAK6oB,EAAI7oB,KAAK+F,EAAI/F,KAAKu/D,GAAKv/D,KAAKw/D,GAAKx/D,KAAKy/D,GAAK,WAEzHrnB,GAAGtyC,GAAA,OACV6vC,MAAM,gCACC7vC,EAAEq/B,CAAA,UAEFwC,GAAG7hC,EAAGZ,GAAA,IACTW,EAAIC,EAAEq/B,EACR5pC,EAAI2J,EAAEw6D,GAAGp6D,EAAEs5D,KACXx4D,EAAI7K,EAAEqtB,GACN1M,EAAI3gB,EAAE0iE,GAAKn4D,EAAE65D,GAAKpkE,EAAE+K,EACpBiY,EAAIqhD,GAAE16D,EAAEw6D,GAAG/gC,GACXv5B,EAAIU,EAAEI,EACNG,EAAIP,EAAEo5B,EACNj+B,EAAI6E,EAAER,EACNG,EAAIK,EAAE24B,EACNn5B,EAAIQ,EAAEo4D,GACN74D,EAAIS,EAAE0/B,EACN5/B,EAAIV,EAAE26D,GACNt6D,EAAIL,EAAE46D,GACNp6D,EAAIR,EAAE66D,GACNh6D,EAAIb,EAAE86D,GACN76D,EAAIW,EAAE65D,GACNz5D,EAAIJ,EAAE65D,GAAK75D,EAAEq/B,EACbn/B,EAAIF,EAAEy5B,EACNd,EAAKz4B,EAAI,GAAM,SACZb,EACDoZ,EAAEnZ,EAAGiB,EAAG,KAAM,KAAMpF,EAAGwE,EAAGH,EAAGD,EAAGpE,EAAGwE,EAAGH,EAAGD,EAAGe,EAAG8V,EAAG,KAAM,KAAMlW,IAC7DuY,EAAErZ,EAAE+6D,GAAI/6D,EAAEg7D,GAAI96D,EAAGiB,EAAGT,EAAGL,EAAGG,EAAGK,EAAG9E,EAAGwE,EAAGH,EAAGD,EAAGe,EAAG8V,EAAI3gB,EAAE+K,EAAGF,EAAG8V,EAAGlW,KAC7DH,GACCV,EAAI,EAAIe,EAAGf,GAAK,EACpBS,EAAI3E,EACFsE,EAAIE,EACJC,EAAIJ,EACJS,EAAIV,EACJI,GAAKK,EAAEq6D,GACP96D,GAAKS,EAAEq6D,GACPjkD,GAAK,EAAI3gB,EAAE+K,EAEZiY,EAAEnZ,GADDiB,GAAK,EAAIP,EAAE44D,IACH54D,EAAE44D,GAAIt5D,EAAGiB,EAAGT,EAAGL,EAAGG,EAAGK,EAAG9E,EAAGwE,EAAGH,EAAGD,EAAGe,EAAG8V,EAAI3gB,EAAE+K,EAAGF,EAAG8V,EAAGlW,GAAA,OACnEK,GAAKP,EAAE44D,GACP54D,EAAE+iB,EAAI3iB,EAAIJ,EAAEoW,GACPvW,EAAET,EAAE+6D,GAAI/6D,EAAEg7D,GAAI96D,EAAGiB,EAAGL,GACrBL,EAAET,EAAE26D,GAAI36D,EAAE46D,GAAI7+D,EAAGwE,EAAGg5B,GACpB94B,EAAET,EAAE66D,GAAI76D,EAAE86D,GAAI16D,EAAGD,EAAGo5B,GACpB54B,KACI,EAAJK,GACAqY,EACEnZ,EACAiB,EACA,KACA,KACApF,EACAwE,EACAH,EACAD,EACApE,EACAwE,EACAH,EACAD,EACAe,EACA8V,EAAI3gB,EAAE+K,EACN,KACA,KACAN,GAECH,CAAA,UAEAmmB,GAAGlmB,EAAGD,EAAGF,GAAA,IACZpK,EAAIuK,EAAE05B,EACRp5B,EAAI,CAACN,EAAEkgC,GAAA,GACL,MAAQzqC,EAAG,KACT2gB,EAAIpW,EAAEy5B,EACRhhB,EAAI1Y,EAAE65D,GAAG/gC,EACTv5B,EAAImZ,GAAK6hD,IAAM7hD,GAAKw/C,GACtBl4D,EAAIA,EAAE65D,GAAGp6D,EAAEs5D,KAAA,IACPv4D,EAAI,CAAC,GACPpF,EAAI6E,EAAE65D,GACRt5D,EAAE,GAAKP,EAAEq/B,EACTr/B,EAAEu6D,KACC,GAAKp/D,IAAMoF,EAAE,MAAQpF,EAAImF,EAAE,IAAMN,EAAEgK,OACpChK,EAAE+iB,EAAI/iB,EAAE65D,GAAK75D,EAAEq/B,GAAKr/B,EAAEoW,IAAM7V,EAAE,GAAKP,EAAEoW,EAAIpW,EAAE+iB,EAAI5nB,IAAA,IAC7CwE,EAAII,EAAE+iB,GACR3nB,EAAI4E,EAAEo4D,GAAKh9D,EAAI4E,EAAES,EACnBR,EAAIw6D,GAAG/kE,EAAG6K,EAAE,GAAIN,EAAEgK,MAAOoM,EAAG7V,EAAGZ,EAAGxE,GAAKmE,EAAI,EAAI,GAAIS,EAAES,GACrDpB,EAAES,GAAKU,GACPP,GAAKwhC,GAAG/oB,IAAMgiD,GAAG96D,EAAGxE,EAAGmE,EAAG8W,EAAG7V,EAAGR,EAAES,EAAA,QAE7B,WAEAuhC,GAAG/hC,GAAA,IACNZ,EAAIY,EAAE06D,GACR36D,EAAIX,EAAEw6D,GAAG/gC,EACTh5B,EAAI,GAAKE,EACTtK,EAAIsK,GAAK46D,IAAM56D,GAAK66D,IAAM76D,GAAKu6D,IAAMv6D,GAAK86D,IAAM,IAAM96D,GAAKyhC,GAAGzhC,GAAA,GAChEX,EAAE07D,OAAS,KACX17D,EAAE27D,GAAK,KACP37D,EAAE47D,GAAK,KACP57D,EAAE67D,GAAK,MACFtjB,GAAGv4C,EAAE87D,GAAIl7D,EAAGvK,EAAI,GAAK,IAAK,OAAO,KACtCA,GAAK+rC,GAAGzhC,IAAMmyC,KACVlyC,EAAEu5D,GAAI1pB,MAAM,wBACX,IACChwC,GAAA,GACIT,EAAE27D,GAAKzoB,GAAKtyC,EAAEu6D,GAAK,IACvBx6D,EAAKC,EAAEy5B,EAAI,GAAM,EACjBr6B,EAAE07D,OAASx6D,EAAEN,EAAEy5B,EAAI,EAAI15B,GACnB,MAAQX,EAAE07D,OAAQ,OAAO,EAC7B17D,EAAE+6D,GAAK/6D,EAAE07D,OACT17D,EAAEg7D,GAAK,EACPh7D,EAAE26D,GAAK36D,EAAE+6D,GACT/6D,EAAE46D,GAAK56D,EAAEg7D,GAAKp6D,EAAEy5B,EAChBr6B,EAAE66D,GAAK76D,EAAE26D,GACT36D,EAAE86D,GAAK96D,EAAE46D,GAAKj6D,EACdX,EAAE27D,GAAKl5B,GACPqQ,IAAA,OAEGrC,MAAM,gBACbp6C,IAAO2J,EAAE47D,GAAK90C,GAAKrmB,GAAKm1C,KAAA,IAEtBn1C,IAAMs7D,GAAI,KACPn7D,EAAI,EAAG,IAAMA,IAAKA,EACpBo7D,GAAGp7D,GAAM,OAASA,EAAI,KAAO0F,IAAO21D,GAClCC,GAAGt7D,IAAM,OAASA,EAAI,KAAO0F,GAC7B61D,GAAGv7D,IAAM,OAASA,EAAI,KACtBw7D,GAAGx7D,GAAM,QAAUA,EAAI,KAAO0F,IAAO21D,GAAA,IACrCr7D,EAAIy7D,GAAIz7D,EAAI07D,KAAM17D,EACpBZ,EAAK,OAASY,EAAI,IAAM0F,IAAO21D,GAC7BM,GAAG37D,EAAIy7D,IAAMl9B,GAAGn/B,EAAG,KACnBw8D,GAAG57D,EAAIy7D,IAAMl9B,GAAIn/B,EAAI,GAAM,EAAG,IACnC+7D,GAAK,SAEA,WAEAh1C,GAAGnmB,GAAA,IACND,EAAIC,EAAE06D,GACR76D,EAAIG,EAAEy5B,EACNhkC,EAAIuK,EAAEq/B,EAAA,OACRjgC,IAAW,EAAPY,EAAE65D,KACF,GAAKh6D,GAAK,GAAKpK,EAAU,GAC7BoK,EAAIE,EAAEg7D,GAAG/6D,EAAGD,GAAA,MACJA,EAAEi7D,IAAMj7D,EAAEi7D,GAAGh7D,EAAGD,EAAGF,GAC3BE,EAAE87D,IAAMh8D,EACD,YAEAsiC,GAAGniC,GACVA,EAAE06D,GAAGI,OAAS,cAEPz4B,GAAGriC,EAAGZ,EAAGW,EAAGF,GAAA,OACf,IAAMO,EAAEJ,EAAG,GAAW,GAC1BZ,EAAE,GAAKgB,EAAEJ,EAAG,IAAM,EAClBD,EAAE,GAAKK,EAAEJ,EAAG,IAAM,EAClBH,EAAE,GAAKO,EAAEJ,EAAG,GACL,GAAKI,EAAEJ,EAAG,GAAK,GAAKA,EAAE7E,EAAA,UAEtBmnC,GAAGtiC,EAAGZ,GAAA,GACT,EAAIY,EAAG,OAAOA,EAAI,MAClBD,EAAKC,EAAI,GAAM,SACV,GAAS,EAAJA,IAAWD,GAAKK,EAAEhB,EAAGW,GAAK,WAEjCwiC,GAAGviC,EAAGZ,GAAA,OACT,IAAMA,EAAUA,EAAI,IAGjB,IADLW,IADEA,EAAI+7D,GAAG18D,EAAI,KACH,GAAKY,GAAK,GAAS,GAAJD,KACXA,EAAI,MADlBA,CAAA,UAGKqlB,GAAGplB,EAAGZ,EAAGW,GAAA,IACZF,EAAI+4B,EAAG74B,GAEPtK,EAAIuK,EADRZ,GAAS,IAAJS,GACQJ,EAAI,WACbhK,IACD0K,EAAGJ,EAAGA,EAAEQ,EAAI,GACZV,EAAI+4B,EAAG74B,GACPX,GAAKY,EAAEZ,GAAGtI,MACVsI,GAAKS,GAAM,GAAKpK,GAAK,GACxB0K,EAAGJ,EAAGA,EAAEQ,EAAIP,EAAEZ,GAAGK,GACVO,EAAEZ,GAAGtI,KAAA,UAEL6rC,GAAG3iC,EAAGD,EAAGF,GAAA,OAChBA,EAAEJ,GAAKO,EAAEP,EACTI,EAAE/I,OAAUkJ,EAAElJ,OAASiJ,IAAO,EAC9BX,EAAE,GAAKS,EAAEJ,GACFO,EAAEP,CAAA,UAEFmjC,GAAG5iC,EAAGD,EAAGF,GAAA,IACZpK,EAAIuK,EAAE+7D,GAAA,OAEV38D,GADAW,EAAI,GAAKtK,EAAI,EAAIuK,EAAEg8D,GAAGh8D,EAAE4rB,IAAM/rB,GAAKpK,IAAMsK,GAAKtK,KACxCuK,EAAEi8D,IACDj8D,EAAEk8D,GAAGn8D,EAAA,UAELgjC,GAAG/iC,EAAGD,EAAGtK,EAAG6K,GAAA,IACf8V,EAAIpW,EAAEm8D,GACR1jD,EAAIzY,EAAEV,EAAIS,EACVT,EAAIU,EAAE25B,EACR55B,EAAIT,EAAIS,EAAA,IACJQ,EAAI9K,EACN0F,EAAImF,EAAA,IACNA,EAAIN,EAAEo8D,GACD3mE,EAAIuK,EAAEq8D,GAAI,EAAIjmD,KAAO,KACpBzW,EAAIK,EAAEs8D,GAAGlmD,GACX5W,EAAIF,EACJC,EAAIQ,EACJD,EAAIS,EACJd,EAAItE,EAGJyE,GAFAzE,EAAImF,EACJC,EAAI9K,EACAkK,EAAEm4D,IAAA,OACR14D,EAAEI,EAAID,GACNH,EAAEG,GAAKI,EAAE48D,IACD58D,EAAE68D,IAAA,KACH,EACHC,GAAG38D,EAAGL,GAAIF,EAAIC,GAAKI,EAAGzE,EAAGoF,GAAA,WAEtB,MAEDN,EAAIT,EACJH,EAAIE,EACJa,EAAIjF,EACJ+E,EAAIK,EACJo4B,GALE//B,EAAI+G,GAKAm4D,GAAA,GACH73D,IACFy8D,GAAG58D,EAAGL,EAAG,KAAM,KAAM,EAAGW,EAAGF,GAC5By/B,EAAG7/B,EAAGL,EAAI,EAAG,EAAG,EAAGk5B,EAAI,EAAGv4B,EAAGF,EAAI,GAChCT,GAAKk5B,EACLz4B,GAAKy4B,IACJ14B,GAAA,IAEF,IAAI24B,EAAI,GAAKhgC,EAAEyG,EACbmB,EAAIo4B,EAAI,EACRz4B,EAAIlE,EAAG08B,EAAG//B,EAAEyG,GACZw5B,EAAIjgC,EAAEmoC,EACNnoC,EAAIA,EAAEsH,GAAKD,GAAKrH,EAAEyG,GAAKc,EACzBF,EAAIZ,GAEJ,KACIy5B,EAAID,EACNn5B,EAAI9G,EACJsgC,EAAI,MACDyjC,GAAG78D,EAAGL,EAAGW,EAAGF,EAAIy4B,EAAG,EAAGv4B,EAAGF,GAAIg5B,EAAIP,GAAK,KAEvCe,GAAKR,GAAK14B,GAAKo4B,EACjBc,EAAIf,IAAMe,EAAIf,IAAA,EAFNikC,GAAI9jC,EAAEp5B,MAAQ,EAAK,KAGzBI,EAAGL,IAAKy5B,EAAG94B,EAAGF,EAAIg5B,EAAIP,EAAGe,EAAIR,EAAG94B,EAAGF,EAAIg5B,GACzCA,EAAIQ,CAAA,CAENj6B,GAAKk5B,EACLz4B,GAAKy4B,IACH14B,EACEO,IAAM5H,GAAKuH,EAAA,CAEjBZ,GAAKI,EAAE48D,IAAM18D,EAAE1E,EAAGoF,EAAIX,EAAGzE,EAAGoF,GAAKhB,EAAIC,EAAI,GAAKI,EAAGA,GAAA,WAE9C,MACHA,EAAIE,EACJT,EAAII,EAKJk5B,GAJA74B,EAAIH,EAAEm4D,KAGN53D,EAAIJ,IADJM,GADAX,EAAI,GAAKE,EAAEN,GACH,IAGRY,EAAIhE,EAAG6D,EAAGH,EAAEN,GACZu5B,EAAIj5B,EAAEohC,EACDphC,EAAIA,EAAEO,GAAKV,GAAKG,EAAEN,GAAKY,EAAGT,EAAID,GAAK,KACtCiB,EAAIo4B,EACJz4B,EAAIR,EACJk5B,EAAI,IAAIwG,EACRzmC,EAAIyG,EAAIa,EACH44B,EAAIz5B,EAAIS,EAAGT,EAAIzG,GAClBknC,EAAGt/B,EAAEL,KAAM04B,GAAIgkC,GAAGhkC,EAAGj5B,EAAGP,EAAGI,EAAGtE,EAAGoF,GAAKlB,GAAKI,EAAKc,GAAKd,EACvDJ,EAAIy5B,IACDgH,EAAGt/B,EAAEL,KAAM04B,GAAIgkC,GAAGhkC,EAAGj5B,EAAGP,EAAGs5B,EAAGx9B,EAAGoF,GAAKlB,GAAKs5B,EAAKp4B,GAAKo4B,KACtDn5B,EACEY,IAAMT,GAAKM,EAAA,YAGd,KACCH,GAAK3E,GAAKsE,GAAKc,GAAK,EAAIZ,EAAEN,EAAG,KAG/BA,EAAIlE,EACJ2E,EAFAF,EAAIW,GAAKhB,EAAIC,GAAKI,GADlBM,GAAKX,EAAIC,GAAKvD,EAAG0D,EAAEm4D,GAAIn4D,EAAEN,IAIzBI,EAAItE,EACJiF,EAAIG,EAEJN,EAAI,GACCC,GAFLy4B,EAAIz4B,GAES,EAAG,GAAKA,IAAKA,EAAGD,EAAEC,GAAKT,EAAEW,EAAIF,GAAA,IACrCA,EAAIy4B,EAAI,EAAG,GAAKz4B,IAAKA,EAAGb,EAAES,EAAII,GAAKD,EAAEC,GAC1C48D,GAAGn9D,EAAGH,EAAGD,EAAGpE,EAAGyE,EAAGzE,EAAGoF,EAAA,MAChBu8D,GAAGn9D,EAAGH,EAAGD,EAAGO,EAAGL,EAAGtE,EAAGoF,GAEhCA,EAAID,EACJnF,EAAI1F,CAAA,CAEN0F,GAAK1F,GAAKoK,EAAES,EAAG7K,EAAG8K,EAAGpF,EAAGsd,EAAA,UAEjBuqB,GAAGhjC,EAAGD,GAAA,IACTF,EAAIG,EAAE2/B,EACRlqC,EAAIuK,EAAE+8D,GAAK/8D,EAAEV,EAAIU,EAAE25B,EACnBr5B,EAAIP,EAAIC,EAAE25B,EAAA,GACZv6B,EAAEW,GAAKC,EAAEL,EAAEyW,GACXhX,EAAE,IAAMkB,GACJ,EAAIA,EAAG,KACL8V,EAAIpW,EAAEL,EACR8Y,EAAIzY,EAAEo8D,GACN98D,EAAIU,EAAEq8D,GACN97D,EAAI6V,EAAEpM,MAAA,GACR+4B,GAAG/iC,EAAGM,EAAGT,EAAGpK,GAIZ6K,EAHAhB,EAAI,CAACA,GAILF,GAHAS,EAAIG,EAAE25B,IACNlkC,EAAIsK,IAGJX,EAAEgX,EAAEnW,EAAImW,EAAE4mD,IACVvnE,EAAI2gB,EAAEA,IAAM3gB,EAAI2gB,EAAEA,GACdvW,EAAIuW,EAAE2M,EAAG,KACP5nB,EAAIib,EAAE2M,EAAIljB,EACZA,EAAIuW,EAAE2M,EACRziB,EAAE,IAAMnF,EAAIoF,CAAA,IAEdV,GAAKpK,EACAoK,EAAI,GACHS,EAAE,IAAM,EAAI8V,EAAEnW,EACfmW,EAAEyjD,GAAKh6D,EAAIuW,EAAE2M,EACb3M,EAAEqjB,EAAIrjB,EAAE4mD,GAAK5mD,EAAEnW,EACfmW,EAAEipB,EAAI5pC,EAAIoK,EACVA,EAAI,GACLA,EAAG,IACLP,EAAIA,EAAE,GAEF,IADJO,EAAIG,EAAEi9D,IACKpkC,EAAG,CAEV,IAAIl5B,EAAIE,EAAEL,EAAEs5D,KAKVt5D,GAJA/J,EAAIoK,EAAEg5B,EACNv4B,EAAI8V,EAAEqjB,EACNrjB,EAAIA,EAAEipB,EACNlkC,EAAIwE,EAAEmjB,GACFnjB,EAAEa,GACNjB,EAAI6W,EAAA,IACJzW,EAAIA,EAAEw4D,GAAKn4D,EAAEk9D,GAAKv9D,EAAEa,EACtB,EAAIjB,KAEJ,KACIO,EAAI2Y,EACNhZ,EAAIH,EACJM,EAAIU,EACJL,EAAI9E,EACJkE,EAAIM,EAAA,OACElK,GAAA,KACD0nE,GACHC,GAAGt9D,EAAGL,EAAGG,EAAGK,EAAGZ,GAAA,WAEZs7D,GACH0C,GAAGv9D,EAAGL,EAAGG,EAAGK,EAAGZ,GAAA,WAEZ04D,GACHsF,GAAGv9D,EAAGL,EAAGG,EAAGK,EAAGZ,GACfo7D,GAAGx6D,EAAGZ,EAAG,EAAGO,EAAG,EAAG,cAEf09D,GACHC,GAAGz9D,EAAGL,EAAGG,EAAGK,EAAGZ,GAAA,WAEZu7D,GACH1wC,GAAGpqB,EAAGL,EAAGG,EAAGK,EAAGZ,EAAG,cAEf24D,GACH9tC,GAAGpqB,EAAGL,EAAGG,EAAGK,EAAGZ,EAAG,GAClBo7D,GAAGx6D,EAAGZ,EAAG,EAAGO,EAAG,EAAG,cAEf06D,GACHpwC,GAAGpqB,EAAGL,EAAGG,EAAGK,EAAGZ,EAAG,cAEf44D,GACH/tC,GAAGpqB,EAAGL,EAAGG,EAAGK,EAAGZ,EAAG,GAClBo7D,GAAGx6D,EAAGZ,EAAG,EAAGO,EAAG,EAAG,cAEfi7D,GACH2C,GAAG19D,EAAGL,EAAGG,EAAGK,EAAGZ,GAAA,WAEZ64D,GACHsF,GAAG19D,EAAGL,EAAGG,EAAGK,EAAGZ,GACfo+D,GAAGx9D,EAAGZ,EAAGO,EAAG,EAAG,cAEZ89D,GACHC,GAAG79D,EAAGL,EAAGG,EAAGK,EAAGZ,GAAA,cAGfD,EAAE,GAENE,GAAKiB,EACLZ,GAAKH,CAAA,CAEPQ,EAAEk9D,IAAM9mD,CAAA,MACHy5B,MAAM,6BACbzwC,EAAEY,EAAEk9D,IAAMr9D,EAAE6P,OAAA,EAGhB1P,EAAE25B,EAAI55B,EACNX,EAAEY,EAAE25B,GAAK35B,EAAEvK,EAAA,UAEJ0tC,GAAGnjC,GAAA,IACNZ,EAAA,GACA,EAAIY,EAAE49D,GAAI,OAAO,MAChBx+D,EAAI,EAAGA,EAAIY,EAAEi8D,KAAM78D,EAAG,KACrBW,EAAIC,EAAEk8D,GAAG98D,GAAGwgC,EACd//B,EAAIG,EAAEk8D,GAAG98D,GAAGogC,EAAA,GAEZ,EAAIz/B,EAAE,GAAGF,EAAE,GAAK,GAAGJ,GACnB,EAAIM,EAAE,GAAGF,EAAE,GAAK,GAAGJ,GACnB,EAAIM,EAAE,GAAGF,EAAE,GAAK,GAAGJ,EAEnB,OAAO,SAEJ,WAEA8jC,GAAGvjC,EAAGD,EAAGF,EAAGpK,EAAG6K,EAAG8V,GAAA,GACrB,GAAKpW,EAAEihC,EAAG,KACRxoB,EAAIzY,EAAE69D,GACRv+D,EAAIU,EAAE89D,GAAA,IACH1+D,EAAE,MAAQ2+D,GAAG/9D,EAAEihC,IAAKlhC,EAAIF,IAAKE,EAChCg+D,GAAG/9D,EAAEihC,GAAGxoB,EAAGnZ,EAAG7J,EAAG6K,EAAG7K,EAAG6K,EAAG8V,GAAKqC,EAAIhjB,EAAK6J,EAAIgB,EAAKA,GAAK8V,EACxDpW,EAAE69D,GAAKplD,EACPzY,EAAE89D,GAAKx+D,CAAA,WAGF2kC,GAAGjkC,EAAGD,GAAA,IACTF,EAAIG,EAAEL,EAAE+6D,GACVjlE,EAAI,GAAKoK,EAAEohC,GAAK,GAAKphC,EAAEohC,EAAIjhC,EAAEL,EAAEojB,EAAI/iB,EAAE25B,EACjB,GAApBlkC,EAAIuK,EAAE25B,EAAIlkC,EAAIA,EAAIuK,EAAE25B,EACtBv6B,EAAEW,GAAKC,EAAEL,EAAEyW,GACPrW,EAAItK,EAAG,KACL6K,EAAIN,EAAEL,EAAEqK,MACVoM,EAAIvW,EAAEo9D,GACNxkD,EAAI5Y,EAAEm+D,GAAK19D,EAAI7K,EACf6J,EAAIU,EAAE2/B,EACNp/B,EAAIP,EAAE+8D,GAAK/8D,EAAEV,EAAI7J,EACjB0F,EAAI6E,EAAEs8D,GACRl9D,EAAE,GAAKY,EAAEm8D,IACT/8D,EAAE,GAAKjE,EAAE,GAAGqhE,IACZyB,GAAG9iE,EAAE,GAAI1F,EAAGsK,EAAGT,EAAGiB,EAAG6V,EAAGqC,GACxB8qB,GAAG1jC,EAAGpK,EAAGsK,EAAGqW,EAAGqC,EAAGnY,EAAA,CAEpBN,EAAE25B,EAAI35B,EAAEk9D,GAAKn9D,CAAA,UAENy+B,GAAGx+B,EAAGD,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,GAAA,IACxBnZ,EAAIU,EAAEmhC,EAAI1rC,EACZ8K,EAAIP,EAAEmhC,EAAI1rC,EACV0F,EAAI6E,EAAEJ,EACND,EAAIK,EAAEyY,EACNjZ,EAAIK,EAAIG,EAAEmhC,EACV5hC,EAAIC,EACNc,EAAIT,EAAIpK,EAAI6K,EAAA,IACRR,EAAID,EAAIpK,EAAI2gB,EACd3W,EAAI,IAAME,EAAEi+D,GACZh+D,EAAII,EAAEk+D,GAAK5+D,EAAI,SACfW,EAAI,EAAIN,EAAEi+D,GAAKj+D,EAAEw+D,GAAK,KACtB9+D,EAAIM,EAAEy+D,GACNh+D,EAAIZ,EAAIM,EAAI8iC,GAAGjjC,EAAGY,EAAGjB,GAAK,KAC5BF,EAAEY,EAAE25B,EAAIvjB,GACRhX,EAAEU,GAAKQ,GAAA,IACHJ,GAAA,EACJF,EAAG,OAAS,MACHE,GAAKV,EAAIM,GAAK,KACf64B,EAAI,KACJr5B,GAAKM,EAAG,KAERhH,EAAI4G,EAAIK,EACVT,GAFIQ,EAAII,GAEJk+D,IACJt+D,EAAEy+D,GAAKz+D,EAAEA,EACTA,EAAE0+D,GAAK1lE,EAAA,EACHgH,EAAE6Y,EAAEmlD,IAAMvjC,EAAGz6B,EAAE6Y,EAAE0lD,GAAIv+D,EAAE6Y,EAAE8lD,IAC7B3+D,EAAIN,EAAIusB,EAAA,IAEVtrB,EAAIlB,IAAMe,EAAIwiC,GAAGjjC,EAAGY,EAAGjB,IACvBF,EAAE,MAAQgB,GACVA,EAAEo2D,KAAQz2D,EAAEP,GAAKY,EAAEq2D,GAAMv2D,GAAA,IACpBA,EACH,GAAK24B,EAAG19B,GAAIiF,EAAEm2D,GAAK,CACb59B,EAAIx9B,EACNvC,EAAImH,EAAA,IACJ+4B,EAAIt5B,EACJE,EAAIU,EAAEu2D,GAAG/9B,EAAGD,GAAM2e,GAAK,GACzBl4C,EAAEgB,EAAEm2D,IAAA,IACE72D,EAAED,GACHU,EAAGw4B,EAAGA,EAAEp4B,EAAIb,EAAED,GAAK7G,EAAEkgC,GAAKp5B,EAAE5I,MAAS6hC,EAAI,IACzCx4B,EAAGw4B,EAAGA,EAAEp4B,EAAIb,EAAED,EAAI,KAAML,EAAE,KAAOM,EAAE5I,OAAS6hC,EAAIj5B,EAAE5I,OAAA,GAClD6hC,IAAMz4B,GAAA,EAAI,MACVy4B,EAAIvT,GAAGhlB,EAAEw/B,EAAE,GAAIx/B,EAAEo/B,EAAE,GAAIrkC,GAAA,GAC5BA,EAAEA,EAAG,SACL+E,GAAK,IAAMy4B,EAAG,KACXz4B,EACH,GAAIE,EAAEs2D,GAAI32D,EAAEP,IAAMY,EAAEq2D,GAAM99B,GAAK,KAAQ,MAClC,IACHE,EAAG19B,GACH+E,EAAIklB,GAAGhlB,EAAEw/B,EAAE,GAAIx/B,EAAEo/B,EAAE,GAAIrkC,GACvB09B,EAAG19B,GACHvC,EAAIwsB,GAAGhlB,EAAEw/B,EAAE,GAAIx/B,EAAEo/B,EAAE,GAAIrkC,GACvB29B,EAAI1T,GAAGhlB,EAAEw/B,EAAE,GAAIx/B,EAAEo/B,EAAE,GAAIrkC,GACnBA,EAAEA,EAAG,MACT4E,EAAEP,IAAOs5B,GAAK,GAAO54B,GAAK,GAAOy4B,GAAK,EAAK//B,KAAO,KAEtDsH,GAAA,IACEV,IACAe,GAEK9K,IACH8K,EAAI,IACJjB,EACF,MAAQmZ,GAAKnZ,GAAK8W,KAAO9W,EAAI,KAAOmZ,EAAEzY,EAAGV,GACzC,MAAQW,GAER,KAAOV,EAAIC,GACRm5B,EAAI54B,EAAER,KACJU,EAAE2gC,GAAI,UAAYjI,EAAK,cAAgB14B,EAAEw3D,IAAM9+B,CAAA,MACjD,GAAI,IAAMA,EAAG,IAClBA,EAAI2J,GAAG3J,EAAI,IAAKx9B,GAChBvC,EAAIwsB,GAAGhlB,EAAEw/B,EAAE,GAAIx/B,EAAEo/B,EAAE,GAAIrkC,GACvB09B,EAAG19B,GAEHvC,EAAI2pC,GAAG9sC,EADPmD,EAAI0pC,GAAG1pC,EAAGuC,IAENA,EAAEA,EAAG,SACLqE,EAAIK,EAAIjH,GAAK0H,EAAId,EAAIm5B,EAAG,MAAM34B,EAC7B,IAAK84B,EAAI,EAAGA,EAAIH,IAAKG,EAAG/4B,EAAEP,EAAIs5B,GAAK/4B,EAAEP,EAAIs5B,EAAIlgC,GAAA,IAClD4G,GAAKm5B,EACAp4B,GAAKo4B,EAAGp4B,GAAK9K,GACf8K,GAAK9K,IAAM6J,EAAG,MAAQmZ,GAAKnZ,GAAK8W,KAAO9W,EAAI,KAAOmZ,EAAEzY,EAAGV,GAAA,GAC1DF,EAAEI,GAAKc,GACPC,EAAIlB,IAAMe,EAAIwiC,GAAGjjC,EAAGY,EAAGjB,IACnB,MAAQW,EACV,KAAOV,EAAIC,GACRm5B,EAAI54B,EAAER,KACJU,EAAE2gC,GAAI,UAAYjI,EAAK,cAAgB14B,EAAEw3D,IAAM9+B,CAAA,KACjD,MAAIA,EAAIl5B,GASR,MAAMO,EAAA,IARXE,EAAIy4B,EAAI,IACHv5B,EAAE,MAAQa,GAAIV,EAAIC,GACpBm5B,EAAI54B,EAAER,KAAQU,EAAE2gC,GAAI,UAAYjI,EAAK,cAAgB14B,EAAEw3D,IAAM9+B,EAChEA,EAAIn5B,EAEJJ,IAAIc,KADJtH,EAAIqH,GACQy3D,KACZ33D,EAAE44B,GAAK//B,EAAEgoC,EAAE1gC,GACXA,GAAA,CAAI,CAENA,GAAKd,EAAEjE,EAAEA,GAAKqF,EAAGrF,GAAA,IAEf6E,EAAEk+D,IAAM/iE,EAAEA,GAAKqE,EAAIc,EACrBlB,EAAEY,EAAEJ,EAAEzE,GACH6E,EAAEM,EAAI,EACNN,EAAEJ,EAAII,EAAEq+D,GACRr+D,EAAEmhC,EAAInhC,EAAEs+D,GACT,EAAIt+D,EAAEyY,EAAEmlD,IAAMvjC,EAAGr6B,EAAEyY,EAAE8lD,GAAIv+D,EAAEyY,EAAE0lD,QAC5B,IAAIhjE,EAAEA,EAAG,MAAM6E,EACf,MAAQyY,GAAKA,EAAEzY,EAAGV,EAAI8W,EAAIA,EAAI9W,GAAKU,EAAEM,EAAI,EAAKN,EAAEmhC,EAAI3hC,EAAIK,CAAA,QACtD,SAETG,EAAEM,EAAI,EACC,WAEA4jC,GAAGlkC,GACVZ,EAAE,MAAQY,GACVA,EAAEg8D,GAAK,KACPh8D,EAAEw+D,GAAK,KACPx+D,EAAEk8D,GAAK,SACHn8D,EAAIC,EAAEm+D,GAAA,MACFp+D,IAAMA,EAAE6gC,EAAI,MACpB5gC,EAAEu+D,GAAK,KACPn/D,EAAE,MAAQY,EAAA,UAEHmkC,KAAA,IACH/kC,EAAI,IAAIq0C,GAAA,OACR,MAAQr0C,EAAU,MACtBA,EAAEkB,EAAI,EACNlB,EAAEq/D,GAAKC,GACPn9B,GAAG,YAAa,kBAChBA,GAAG,YAAa,oBAChBA,GAAG,eAAgB,qBACnBA,GAAG,eAAgB,uBACnBk7B,GAAK78B,EACLi9B,GAAK38B,EACLk9B,GAAKr8B,EACLs8B,GAAKp8B,EACLu8B,GAAKr8B,EACLw8B,GAAKt9B,EACLk9B,GAAKl8B,GACLrhC,EAAK2+D,gBAAkBC,GACvB5+D,EAAK6+D,eAAiBC,GACf1/D,EAAA,UAEAglC,GAAGpkC,EAAGD,EAAGF,EAAG4Y,EAAGnZ,GAAA,IAClBiB,EAAI,EACNf,EAAI,CAACQ,GACLF,EAAI,CAACC,GACLN,EAAIgZ,EAAE7Y,EACNA,EAAI6Y,EAAEA,EACNxY,EAAI,KACJZ,EAAI,EACNW,EAAG,OAAS,IACNH,EACF,KAAOU,GAAKH,EAAEX,EAAG,IAAM,KACjBS,EAAIV,EACNm5B,EAAI74B,EACJU,EAAIiY,EACJ7f,EAAI,EACJkgC,EAAIt4B,EAAEZ,EACNF,EAAIc,EAAE87D,GAAG97D,EAAE27D,IACXjjC,EAAI94B,EAAE04B,EAAG,MACPt4B,EAAEu+D,GAAM,GAAK7lC,EAAI34B,EAAI,MACpB,QACHC,EAAEu+D,IAAM,GAAK7lC,EACbx5B,EAAE88D,GAAKtjC,EACPx5B,EAAEo4D,GAAK53D,EAAE,GACTR,EAAE68D,GAAK5jC,EAAE,GACTj5B,EAAEqhC,EAAI,CAAC,QACLvgC,EAAE27D,GACJ/8D,EAAE,GAAKoB,EAAE27D,IACDjjC,GAAA,KACD,OACA,EACHx5B,EAAEL,EAAIe,EAAE04B,EAAG,GAAK,EAChBlgC,EAAIwrC,GAAGnoC,EAAGyD,EAAEo4D,GAAIp4D,EAAEL,GAAIpD,EAAGyD,EAAE68D,GAAI78D,EAAEL,GAAI,EAAGmB,EAAGd,EAAEqhC,GAC7CrhC,EAAEqhC,EAAIrhC,EAAEqhC,EAAE,cAEP,MAMDrH,EALEC,EAAIv5B,EAAE04B,EAAG,GAAK,EAChB/V,EAAI,GAAK4W,EAAI,EAAI,EAAIA,EAAI,EAAI,EAAIA,EAAI,EAAI,KAC3Cz5B,EAAE,GAAKjE,EAAGyD,EAAEo4D,GAAI/0C,GAChBrjB,EAAEL,EAAI0jB,EAGD2W,EAFD9gC,EAAIwrC,GAAGzK,EAAG,EAAG,EAAGn5B,EAAGd,EAAEqhC,GAEZ,KACP1G,EACFE,EAAIZ,EACJkB,EAAIn7B,EACJy/B,EAAI,IAAM,GAAKtE,EAAEx7B,GACjBggC,EAAI/+B,EAAE6+B,GAAA,GACJ,MAAQE,EAAG3F,EAAI,MACd,KACCD,EAAIoB,EAAEkG,EAAE,GACV1gC,EAAIw6B,EAAE36B,EAAA,IACRm/B,EAAE,GAAKxE,EAAEkG,EAAE,GAAG,GACT1G,EAAI,EAAGA,EAAI,EAAIE,IAAKF,EAAGgF,EAAEhF,GAAK0E,EAAGtF,EAAEp5B,EAAIg6B,GAAIgF,EAAEhF,EAAI,SAC/CA,EAAI,EAAI8E,IAAK9E,EAAGgF,EAAEhF,GAAK,EAC9BQ,EAAEkG,EAAE,GAAK,KACTlG,EAAEkG,EAAE,GAAK1B,EACT3F,EAAI,GAGR9gC,EAAI8gC,EAAA,WAED,gBAGHt6B,EAAE,GAENmB,EAAI3H,CAAA,KAGV4G,EAAIA,EAAE,GACNM,EAAIA,EAAE,GACFS,GAAKH,EAAEX,EAAG,MAAuBc,EAAI,IAAnBlB,EAAIe,EAAEX,EAAG,KAAoB,IAAMJ,GAAS,CAChEoZ,EAAEnY,EAAI,QACAN,CAAA,KAEJw/B,EAAA,GACCA,EAAIj/B,EACPnB,EAAG,KAMCsgC,EACAC,EAIAC,EAVEE,EAAIrnB,EACNynB,EAAI1gC,EACJohC,EAAI9gC,EACJihC,EAAI1hC,EACJ4hC,EAAIphC,EAGJshC,EAAIrB,EAAElgC,EACNygC,EAAIP,EAAErnB,EACN4oB,GAAI,CAAC,MAELnX,GAAI,EACJqX,GAAK,EACLC,GAAKw9B,GAAGj+B,GACVhhC,EAAG,OAAS,IACNkhC,GAAK7gC,EAAE+gC,EAAG,GAAI,KACZrX,GAAK1pB,EAAE+gC,EAAG,GAAK,EACjBM,GAAKxlC,EAAGikC,EAAGpW,IACX4X,GAAKzlC,EAAG2kC,EAAG9W,IACXnF,GAAK8c,GAAKC,GAAA,IACP0C,GAAG3C,GAAIC,GAAI,EAAG5B,EAAGuB,IAAI,MAAMthC,EAAA,IAChCshC,GAAIA,GAAE,GACNhB,EAAE07B,GAAKjyC,GACF4V,EAAK,EAAGA,EAAK/a,KAAM+a,EAAI,KACtBiC,GAAMN,GAAE3B,IAAO,EAAK,MACxB2B,GAAE3B,GAAMiC,GACRA,IAAMzX,KAAMA,GAAIyX,GAAK,OAGrBR,EAAEhmC,EAAG,MAAM4E,EAAA,IACV4/B,EAAK,EAAG,EAAIA,IAAMA,EAAI,KACrB2S,GAAI2sB,GAAGt/B,IACVA,GAAM,EAAIoB,IAAMuR,IAAK,GAAKvR,GAC3BQ,GAAK+Q,KAAM/Q,GAAK+Q,GAAA,KAEdzQ,GAAKzrB,EAAG8T,GAAIsX,GAAI7hC,GAChBumB,GAAKgE,GACP6X,GAAK3rB,EAAG8P,GAAI3mB,GAAA,GACV,MAAQwiC,GAAI,IAAI5b,GAAK,UACpB/mB,EAAE,OAAS8mB,IAAMC,GAAK4b,GAAA,IACvBI,GAAK7hC,EAAEihC,IAAA,GACP,MAAQpb,IAAM,MAAQgc,IAAM,MAAQN,GAAI,CAC1C/B,EAAEx/B,EAAI,QACAP,CAAA,KAEJsiC,GAAKR,GAAA,IACJnC,EAAKE,EAAI,EAAGF,EAAKxV,KAAKwV,EAAI,KACzB4C,GAAKnc,GAAGuZ,GACV6C,GAAKD,GAAG1C,EACRxa,GAAKkd,GAAG9C,EACRoD,GAAK,EACLG,GAAK,EACLC,GAAK,MACFrD,EAAK,EAAG,EAAIA,IAAMA,EAAI,CACzB2S,GAAI2sB,GAAGt/B,GACP4C,GAAG5C,GAAM0C,GACTjd,GAAGua,GAAMC,GACRD,GAAM,EAAIoB,IAAMuR,IAAK,GAAKvR,GAC3BlhC,EAAG,KACGsjC,GACFI,GAAK+O,GACLrO,GAAKnE,EACLqE,GAAKhC,GACLkC,GAAKhC,GACLiC,GAAK1E,EACL2E,GAAK,EACLC,GAAKP,GAAGrkC,EACR6kC,GAAKrkC,EAAEokC,GAAI,MACb/uC,EAAE0uC,GAAI,EAAG,EAAGZ,IACRkB,GAAI,KACFC,GAAKtkC,EAAEokC,GAAI,GAAK,EAClBG,GAAKvkC,EAAEokC,GAAI,GACXI,GAAKxkC,EAAEokC,GAAI,GAAKG,GAAK,EAAI,GAC3BR,GAAGS,IAAM,KACJF,KAAyBP,GAAjBS,GAAKxkC,EAAEokC,GAAI,IAAe,OACnCK,GAAK,MACJ,KACDC,GAAKxkC,EAAE,IACTykC,GAAK3kC,EAAEokC,GAAI,GAAK,KACd,GAAKO,GAAI,CACXd,GAAG3jC,EAAI,MACH0kC,GAAK,QACHnlC,CAAA,KAEHsjC,GAAK,EAAGA,GAAK4B,KAAM5B,GAAI2B,GAAGo6B,GAAG/7B,KAAO/iC,EAAEokC,GAAI,OAC3CU,QAAA,EACFC,QAAA,EACAC,GAAKnB,GACL1F,GAAKuG,GACL2B,GAAKlD,GACLoD,GAAKxC,GACL2C,GAAK,EACLS,GAAKnC,GAAGxlC,EACR6nC,GAAK,EACLC,GAAKtxB,EAAG,IAAKzW,GACflK,EAAG,KACI0F,EAAEusC,GAAI,EAAG,EAAGnJ,GAAI,KADX,IAENn+B,EAAEmnC,GAAI,GAAI,KACRK,GAAK,EAAI,EAAIxnC,EAAEmnC,GAAI,OACrBrC,GAAK,EAAI9kC,EAAEmnC,GAAIK,KACRnB,GAAI,MAAMhxC,CAAA,MACdyvC,GAAKuB,GAAA,IACPtB,GAAK,EAAGA,GAAKsB,IAAMvB,MAAQ,CAC9BrM,EAAG0O,IAAA,IACCQ,GAAKL,GAAG,GAAc,IAAT9O,EAAG2O,MACpBpnC,EAAGonC,GAAIA,GAAGhnC,EAAIwnC,GAAGtoC,GAAA,IACbuoC,GAAKD,GAAGjxC,MAAA,GACR,GAAKkxC,GAAKrB,GAAGxB,MAAQ6C,GAAK,GAAKA,KAAOP,GAAKO,QAC1C,KACCC,GAAK,IAAMD,GACb/P,GAAK+P,GAAK,GACVU,GAAKy2B,GAAGlnC,IACR2Q,GAAKxoC,EAAEmnC,GAAI63B,GAAGnnC,KAAOyQ,GAAA,GACnBvD,GAAKyD,GAAKnC,GAAI,MAAMhxC,EAEtB,IAAK,IAAI4zC,GAAKpB,GAAKR,GAAK,EAAG,EAAImB,MAC7BjC,GAAGxB,MAAQkE,EAAA,EAGnBvC,GAAK,QACCrxC,CAAA,CAERqxC,KAAO1B,GAAG9kC,EAAI,GACdukC,GAAKiC,EAAA,EAENjC,GAAKA,KAAOL,GAAGrpC,KAAOopC,GAAKppC,EAAEkpC,GAAIC,GAAI,EAAGH,GAAIZ,KAC7CsB,IAAM,GAAKN,GAAMS,GAAKT,IAAQN,GAAG3jC,EAAI,EAAK0kC,GAAK,MAE7C,GAAKA,GAAI,MAAMjlC,EAAA,GACnBgjC,IAAM,GAAKs8B,GAAG1/B,KAAQoD,GAAK,GAAKV,GAAGzC,GAAGngC,GACtCmjC,IAAMP,GAAGzC,GAAGngC,EACZmgC,GAAKoF,GACD,GAAKrF,EAAI,KAET0K,GADEE,GAAKpI,GAAG,OAEPkI,GAAK,EAAGA,GAAKiI,KAAKjI,GAAIlI,GAAGkI,IAAME,KAAOA,GAAKpI,GAAGkI,KACnDrH,IAAMuH,EAAA,KAGVjI,GAAGo0B,GAAK3zB,GACRT,GAAGk0B,GAAK,EACRzzB,KACIT,GAAGm0B,IACDl0B,GAAG,GAAGnd,GAAG,GAAK,GAAGtuB,OAAS,GACzByrC,GAAG,GAAGnd,GAAG,GAAK,GAAGtuB,OAAS,GAC3ByrC,GAAG,GAAGnd,GAAG,GAAK,GAAGtuB,SACnB,EACF,GAAK8rC,IACH,IAAML,GAAG,GAAGnd,GAAG,GAAK,GAAGtuB,QACrBwrC,GAAGk0B,GAAK,EAAKl0B,GAAGm0B,IAAMl0B,GAAG,GAAGnd,GAAG,GAAK,GAAGtuB,OAAS,IACtDwrC,GAAGi0B,IAAMj0B,GAAGk0B,IAAM,EAAIxzB,GAClBV,GAAGi0B,GAAI,KACL5qB,GACFhB,GAAKrI,GAAA,IACFqJ,GAAK,EAAGA,GAAK2L,KAAM3L,GAAI,KACtBE,GAAKF,GACPloB,GAAKknB,GAAGgsB,GAAG9qB,IACXhB,GAAKF,GAAG/K,EAAE,GAAG+K,GAAGnL,EAAE,GAAKqM,IAAA,KAClBhB,GAAG/zC,OACJ2sB,GAAGhkB,EAAIorC,GAAGprC,EAAI,IAAOgkB,GAAG3sB,MAAQ+zC,GAAG/zC,QACnC2sB,GAAGhkB,EAAI,EACRgkB,GAAG3sB,MAAQ,EACX+0C,KAAOlJ,GAAGkI,GAAI,EAAGpnB,IACjBooB,KAAOlJ,GAAGgI,GAAG/K,EAAE,GAAG+K,GAAGnL,EAAE,GAAKqM,IAAK,GAAIpoB,IACrCooB,KAAOlJ,GAAGgI,GAAG/K,EAAE,GAAG+K,GAAGnL,EAAE,GAAKqM,IAAK,EAAGpoB,IACrCkf,GAAGgI,GAAG/K,EAAE,GAAG+K,GAAGnL,EAAE,GAAKqM,IAAK,GAAIpoB,IAAA,GAIxC4c,EAAE27B,GAAK36B,GACPhB,EAAE47B,GAAK/xC,GACPmW,EAAE67B,GAAK/1C,GACPka,EAAEm+B,GAAK38B,GACPrC,EAAI,QACEpgC,CAAA,CAERogC,EAAI,OAERj/B,EAAIi/B,GACI,CACN/mB,EAAEnY,EAAI,QACAN,CAAA,IAEJ,EAAIX,GAAA,GACAO,EAAEg+D,GAAK,GAAKv+D,GAAK+5B,EAAGx5B,EAAEu+D,GAAI9+D,GAAK,CACnCoZ,EAAEnY,EAAI,EACNC,EAAI,QACEP,CAAA,OAEHJ,EAAEg+D,GAAK,MACV5yB,GAAKvyB,EACPqzB,GAAKtsC,EACL2rC,GAAKrrC,EACL8rC,GAAKZ,GAAGvyB,EACRgzB,GAAKG,GAAGmwB,GAAA,GACV/wB,GAAG1rC,EAAIwsC,GACPd,GAAGv1C,EAAI01C,GACPS,GAAGhgB,GAAK3vB,EAAG6vC,GAAIL,IACfG,GAAGwyB,GAAK,GAAK3yB,IAAM,GAAK,GAAKA,IAAM,EAC/B5rC,EAAG,CACL4Y,EAAEgmD,GAAKa,GAAA,MACDt/D,CAAA,IAGJ,OADJC,EAAIK,EAAEd,EAAIM,IACK,CACb2Y,EAAEnY,EAAI,EACNC,EAAI,QACEP,CAAA,CAERO,GAAKA,EAAIi+B,GAAG/lB,EAAGxY,EAAG,EAAGT,EAAGM,EAAGA,EAAG,SAAWL,EAAEtE,EAAA,MACrC6E,CAAA,QAERO,GACK,MAAQjB,EAAKA,EAAE,GAAKW,GAAMb,EAAE,MAAQa,GAAIb,EAAES,IAAM4Y,EAAE0oB,EAAI,EAAIthC,GAAKqkC,GAAGtkC,IACnEskC,GAAGtkC,GACAW,CAAA,UAEA8jC,GAAGrkC,EAAGD,GAAA,IACTF,EAAIG,EAAEV,EAAIU,EAAEvK,EACdA,EAAIoK,EAAIE,EAAI,GAAKA,EAAA,OACnBX,EAAEY,EAAEV,GAAKS,GACTC,EAAE2/B,EAAIr/B,EAAE7K,GACJ,MAAQuK,EAAE2/B,GAAW3/B,EAAEo8D,GAAK,KAAQp8D,EAAEq8D,GAAK,EAAKr8D,EAAEM,EAAI,EAAI,IAC9DN,EAAEo8D,GAAKp8D,EAAE2/B,EACT3/B,EAAEq8D,GAAKr8D,EAAE+8D,GAAKl9D,EAAIE,EACX,YAEAukC,GAAGtkC,EAAGD,GAAA,IACTF,EAAIG,EAAE25B,EACRlkC,EAAIsK,EAAIF,EACRS,EAAIN,EAAE2/B,EACNvpB,EAAIpW,EAAE+8D,GAAK/8D,EAAEV,EAAIO,EAAA,IACdT,EAAEW,GAAKC,EAAEL,EAAEyW,GAAI,EAAI3gB,GAAK,KACvBgjB,EAAI,GAAKhjB,EAAI,GAAKA,EACpB6J,EAAIU,EAAEL,EAAE+6D,GACRn6D,EAAIP,EAAEL,EAAEqK,MACR7O,EAAIoF,EAAIkY,EACR9Y,EAAIL,EAAE29D,GACNz9D,EAAIF,EAAE0+D,GAAKz9D,EAAIV,EACfN,EAAIS,EAAEo8D,GACNt8D,EAAIE,EAAEq8D,GACRt5B,GAAG/iC,EAAGyY,EAAGnY,EAAG8V,GACZmpD,GAAGhgE,EAAGO,EAAGH,EAAGH,EAAGrE,GACfooC,GAAGjkC,EAAGO,EAAGA,EAAI4Y,EAAG9Y,EAAGH,EAAGe,GACtB9K,GAAKgjB,EACLnY,GAAKmY,EAAIzY,EAAEV,EACXO,GAAK4Y,CAAA,CAEPrZ,EAAES,GAAKE,GACPC,EAAE25B,EAAI35B,EAAEk9D,GAAKn9D,CAAA,UAyBNwkC,KAAA,KACFi7B,GAAKtlE,KAAKulE,GAAKvlE,KAAKwlE,GAAKxlE,KAAKylE,GAAK,WAEjCn7B,KAAA,KACFo7B,GAAK1lE,KAAK2lE,GAAK3lE,KAAK4lE,GAAK5lE,KAAK6lE,GAAK7lE,KAAKzE,EAAIyE,KAAKoF,EAAI,WAEnDmlC,KAAA,KACFu7B,GAAK9lE,KAAK+lE,GAAK/lE,KAAKgmE,GAAK,OACzBC,GAAK7/D,EAAE,QACP8/D,GAAK9/D,EAAE,YAELokC,KAAA,KACF27B,GAAA,eAz5CHrgE,EAAI,mBAPCA,EAAEZ,EAAGW,EAAGF,GAAA,IACV,IAAIpK,EAAIoK,EAAEE,GAAIO,EAAI,EAAGA,EAAI7K,IAC5B2J,EAAEtJ,KAAK+J,EAAElK,OAASoK,EAAI,EAAI,GAAK,KAC3BF,EAAElK,OAASoK,EAAI,IAFYO,IAG/BN,EAAEZ,EAAEkB,GAAIP,EAAI,EAAGF,EAAA,CAGX,CACNG,EAAG,EAAG,CAAC,EAAG,KACLA,CAAA,CAu5CA,EAAK,UAEH2kC,KAAA,KACF27B,GAAKhgE,EAAE,QACPigE,GAAK9nD,EAAG,CAAC,EAAG,GAAIisB,IAAA,KAChB87B,GAAK/nD,EAAG,CAAC,EAAG,IAAKisB,GAAA,UAEfE,KAAA,KACF67B,GAAKvmE,KAAKwmE,GAAKxmE,KAAKymE,GAAKzmE,KAAK0mE,GAAK,OACnCC,GAAK,IAAIvgE,EAAE,QACXwgE,GAAK,IAAIxgE,EAAE,YAETukC,KAAA,KACFk8B,GAAK7mE,KAAK8mE,GAAK9mE,KAAK+mE,GAAK/mE,KAAKgnE,GAAK,WAEjCp8B,KAAA,KACFq8B,GAAKjnE,KAAKknE,GAAK,WAEbr8B,KAAA,KACFs8B,GAAK,CAAC,EAAG,QACTC,GAAK,CAAC,EAAG,QACTC,GAAK,CAAC,EAAG,QACTC,GAAKtnE,KAAK0tB,GAAK,WAEbod,KAAA,KACFy8B,GAAKnhE,EAAE,UACPohE,GAAK,OACLC,GAAKrhE,EAAE,SACPshE,GAAK1nE,KAAK2nE,GAAK3nE,KAAKsnE,GAAKtnE,KAAK4nE,GAAK5nE,KAAK6nE,GAAK7nE,KAAK8nE,GAAK,WAErD98B,KAAA,KACF+8B,GAAK/nE,KAAKqgC,EAAIrgC,KAAKgoE,GAAK,OACxBC,GAAKpsE,MAAM,IAAI8uC,IAAA,KACf/E,EAAI,OACJsiC,GAAKrsE,MAAM,IAAIivC,IAAA,KACfq9B,GAAK,OACL1iE,EAAI,IAAI8mC,EAAA,UAENtB,KAAA,KACF/kC,EAAIE,EAAE,SACNd,EAAIc,EAAE,QACN83D,GAAK93D,EAAE,YAEL8kC,KAAA,KACFk9B,GAAKpoE,KAAKoG,EAAI,OACdiiE,GAAK,QACL3iE,EAAI,IAAIM,EAAA,KACRsiE,GAAK,IAAIj+B,GAAA,KACTk+B,GAAK,IAAIj+B,GAAA,KACTk+B,GAAK,IAAI99B,GAAA,KACT+9B,GAAK,IAAIl+B,GAAA,KACTm+B,GAAK1oE,KAAK2oE,GAAK3oE,KAAK4oE,GAAK,OACzB/jC,EAAI,IAAImG,GAAA,KACR69B,GAAK7oE,KAAK8oE,GAAK9oE,KAAK+oE,GAAK/oE,KAAKgpE,GAAKhpE,KAAKipE,GAAKjpE,KAAKkpE,GAAKlpE,KAAKmpE,GAAK,OACjEC,GAAKltD,EAAG,EAAGlW,GAAA,KACXshE,GAAK,OAEL+B,GAAKntD,EAAG,EAAG2uB,IAAA,KACXy+B,GAAK,IAAI7+B,GAAA,KACT8+B,GAAKvpE,KAAKwpE,GAAK,OACfC,GAAK,QACLC,GAAK,OACLC,GAAK,CAAC,EAAG,EAAG,EAAG,QACfC,GAAK/tE,MAAM,IAAIovC,IAAA,KACf4+B,GAAK,OACLC,GAAKjuE,MAAM,IAAI+uC,IAAA,KACfm/B,GAAK,OACL9B,GAAKpsE,MAAM,IAAI8uC,IAAA,KACf/E,EAAI,OACJokC,GAAK,QACLC,GAAK,OACLC,GAAK,QACLC,GAAK,OACLC,GAAK,QACLC,GAAK,OACLC,GAAK,QACLnqC,EAAIngC,KAAKilC,EAAIjlC,KAAKuqE,GAAK,OACvBC,GAAK,QACLnqC,EAAIrgC,KAAKyqE,GAAKzqE,KAAK0qE,GAAK1qE,KAAK2qE,GAAK,OAClCzC,GAAKrsE,MAAM,IAAIivC,IAAA,KACfpM,EAAI1+B,KAAKmoE,GAAK,OACdyC,GAAKrsD,EAAG,CAAC,EAAG,GAAIosB,IAAA,KAChBkgC,GAAK,UACLC,GAAK,QACLC,GAAK/qE,KAAKgrE,GAAKhrE,KAAK4+B,EAAI,OACxBqsC,GAAK,QACLC,GAAK,OACL7hD,GAAK,QACL8hD,GAAK,OACLC,GAAK,QACLC,GAAKrrE,KAAKsrE,GAAK,WAEbjnC,GAAGv+B,EAAGZ,GAAA,OACN,EAAIY,EAAI,EAAIA,EAAIZ,EAAIA,EAAIY,CAAA,UAExBymC,KAAA,KACFpH,EAAInlC,KAAKu/B,EAAIv/B,KAAK2/D,GAAK3/D,KAAKwV,OAASxV,KAAK8P,MAAQ,OAClD5J,EAAI,QACJZ,EAAI,QACJ44D,GAAK,QACLiC,GAAKngE,KAAK0+D,GAAK1+D,KAAKwlC,EAAIxlC,KAAKy+B,EAAIz+B,KAAKk/B,EAAI,OAC1CshC,GAAK,YACL+K,IAAM,oBACNC,GAAK,sBACLC,GAAK,yBACLC,GAAK1rE,KAAKqgE,GAAK,OACfnzD,KAAO,QACPiyD,GAAKn/D,KAAKo/D,GAAKp/D,KAAKq/D,GAAKr/D,KAAKkc,EAAIlc,KAAK6oB,EAAI7oB,KAAK8iE,GAAK9iE,KAAK+F,EAAI/F,KAAKu/D,GAAKv/D,KAAKy/D,GAAKz/D,KAAKgG,EAAI,OAC3Fw5B,EAAI,QACJwG,EAAI,WAEFyG,KAAA,IACH3mC,EAAI,IAAIolC,GAAA,aACJplC,IACJA,EAAEM,EAAI,EAAKN,EAAEuiE,GAAK,KAAQviE,EAAEsiE,GAAK,EAAKtiE,EAAE+iE,GAAK,EAAI8C,KAAOA,GAAKn+B,KAC1D1nC,CAAA,UAEA8mC,GAAE9mC,EAAGZ,EAAGW,GAAA,UACVC,EAAEM,IAAON,EAAEM,EAAIlB,EAAKY,EAAEuiE,GAAKxiE,EAAKC,EAAEsiE,GAAK,GACrC,WAEA/6B,GAAGvnC,EAAGZ,EAAGW,GAAA,OACT,GAAKA,GAAK,KAAOC,EAAEZ,EAAI,IAAM,GAAKY,EAAEZ,EAAI,IAAM,IAAMY,EAAEZ,EAAI,YAE1DqoC,GAAGznC,EAAGD,GAAA,GACT,MAAQC,EAAG,OAAO,KACtBA,EAAEM,EAAI,EACNN,EAAEuiE,GAAK,KACH,MAAQxiE,EAAG,OAAO+mC,GAAE9mC,EAAG,EAAG,4CAC1BH,EAAIE,EAAEqH,KACN9G,EAAIP,EAAEG,EACNkW,EAAIrW,EAAE6lE,GAAA,GACN,EAAIxvD,EAAG,OAAO0wB,GAAE9mC,EAAG,EAAG,yBACtByY,EAAI5Y,EAAES,EAAI,GAAMT,EAAES,EAAI,IAAM,EAAMT,EAAES,EAAI,IAAM,GAC9ChB,EAAIU,EAAEwiE,GAAA,GACVljE,EAAEqgE,KAAW,EAAJlnD,GACTnZ,EAAEogE,GAAMjnD,GAAK,EAAK,EAClBnZ,EAAEmgE,GAAMhnD,GAAK,EAAK,EAClBnZ,EAAEkgE,GAAK/mD,GAAK,EACR,EAAInZ,EAAEogE,GAAI,OAAO54B,GAAE9mC,EAAG,EAAG,sCACxBV,EAAEmgE,GAAI,OAAO34B,GAAE9mC,EAAG,EAAG,0BAC1BM,GAAK,EACL8V,GAAK,MACD7V,EAAIP,EAAEyiE,GAAA,GACNnjE,EAAEqgE,GAAI,IACJ,EAAIvpD,EAAG,OAAO0wB,GAAE9mC,EAAG,EAAG,mCACrBunC,GAAG1nC,EAAGS,EAAG8V,GAAI,OAAO0wB,GAAE9mC,EAAG,EAAG,iBACjCO,EAAEjB,EAAmC,OAA7BO,EAAES,EAAI,IAAM,EAAKT,EAAES,EAAI,IAC/BC,EAAEw/D,GAAKlgE,EAAES,EAAI,IAAM,EACnBC,EAAE9K,EAAmC,OAA7BoK,EAAES,EAAI,IAAM,EAAKT,EAAES,EAAI,IAC/BC,EAAEu/D,GAAKjgE,EAAES,EAAI,IAAM,EACnBA,GAAK,EACL8V,GAAK,EACLpW,EAAEqjE,GAAM9iE,EAAEjB,EAAI,IAAO,EACrBU,EAAEojE,GAAM7iE,EAAE9K,EAAI,IAAO,EACrBsK,EAAEiK,MAAQzJ,EAAEjB,EACZS,EAAE2P,OAASnP,EAAE9K,EACbsK,EAAE05D,GAAK,EACP15D,EAAEgjB,EAAI,EACNhjB,EAAEE,EAAI,EACNF,EAAEi9D,GAAKj9D,EAAEiK,MACTjK,EAAEqW,EAAIrW,EAAE2P,OACR3P,EAAEw5D,GAAK,EACPx5D,EAAEu5D,GAAKv5D,EAAEiK,MACTjK,EAAEs5D,GAAKt5D,EAAE2P,OACT3P,EAAE05B,EAAI15B,EAAEiK,MACRjK,EAAEs/B,EAAIt/B,EAAE2P,OAERja,GADAgjB,EAAIzY,EAAEwjE,IACFlD,GAAI,EAAG,IAAK7nD,EAAE6nD,GAAG3qE,QAErByJ,EAAE,OADFqZ,EAAIzY,EAAE2iE,KAENlqD,EAAEynD,GAAK,EACPznD,EAAEwnD,GAAK,EACPxnD,EAAEunD,GAAK,EACPvqE,EAAEgjB,EAAE0nD,GAAI,EAAG,EAAG1nD,EAAE0nD,GAAGxqE,QACnBF,EAAEgjB,EAAE2nD,GAAI,EAAG,EAAG3nD,EAAE2nD,GAAA,IAEd9gE,EAAEkgE,GAAKppD,EAAG,OAAO0wB,GAAE9mC,EAAG,EAAG,wBAE7BF,EADA2Y,EAAIzY,EAAEJ,EACAC,EAAGS,EAAGhB,EAAEkgE,IACdl/D,GAAKhB,EAAEkgE,GACPppD,GAAK9W,EAAEkgE,GACPlgE,EAAEqgE,KAAQp/D,EAAEs/D,GAAK/mC,EAAErgB,GAAMlY,EAAEq/D,GAAK9mC,EAAErgB,IAClClY,EAAIP,EAAE2iE,GAAA,IAEJxnE,EADEwE,EAAIK,EAAEwjE,GAAA,GAEVpkE,EAAE,MAAQqZ,GACVrZ,EAAE,MAAQmB,GACVA,EAAE2/D,GAAKpnC,EAAErgB,GACLlY,EAAE2/D,GAAI,IACR3/D,EAAE0/D,GAAKnnC,EAAErgB,GACLqgB,EAAErgB,GAAI,KACRlY,EAAEy/D,GAAKlnC,EAAErgB,GACJtd,EAAI,EAAG,EAAIA,IAAKA,EAAGoF,EAAE4/D,GAAGhlE,GAAK29B,EAAErgB,GAAK7Y,EAAG6Y,EAAG,GAAK,MAC/Ctd,EAAI,EAAG,EAAIA,IAAKA,EAAGoF,EAAE6/D,GAAGjlE,GAAK29B,EAAErgB,GAAK7Y,EAAG6Y,EAAG,GAAK,KAElDlY,EAAE0/D,GAAI,IAAK9kE,EAAI,EAAG,EAAIA,IAAKA,EAAGwE,EAAE2gE,GAAGnlE,GAAK29B,EAAErgB,GAAKhZ,EAAGgZ,EAAG,GAAK,SACzDlY,EAAE0/D,GAAK,KACVxnD,EAAEo+C,GAAI,OAAO/vB,GAAE9mC,EAAG,EAAG,mCACzBO,EAAIP,EAAE0iE,IACJ9B,GAAK9nC,EAAErgB,GACTlY,EAAEogE,GAAKlhE,EAAGgZ,EAAG,GACblY,EAAEmgE,GAAKjhE,EAAGgZ,EAAG,GACblY,EAAEkgE,GAAK3nC,EAAErgB,GACLlY,EAAEkgE,IAAM3nC,EAAErgB,GAAI,KACX9Y,EAAI,EAAG,EAAIA,IAAKA,EAAGm5B,EAAErgB,KAAOlY,EAAEsgE,GAAGlhE,GAAKC,EAAG6Y,EAAG,QAC5C9Y,EAAI,EAAG,EAAIA,IAAKA,EAAGm5B,EAAErgB,KAAOlY,EAAEugE,GAAGnhE,GAAKC,EAAG6Y,EAAG,OAEnDzY,EAAE44B,EAAI,GAAKr4B,EAAEogE,GAAK,EAAIpgE,EAAEqgE,GAAK,EAAI,EAC7BnoD,EAAEo+C,GAAI,OAAO/vB,GAAE9mC,EAAG,EAAG,kCAErBR,EAAI4W,EAAA,GACRA,EAFAjb,EAAImF,EAGJA,EAAInF,EAAIqE,EACRe,EAAIf,EACJQ,EAAE+iE,IAAM,GAAKtjE,EAAGO,EAAEJ,EAAG,IAAM,EAEvBJ,EAAI,GADRG,EAAIK,EAAE+iE,IACSljE,EAAI,MACd,KACH1E,GAAK,EAAIwE,EACTY,GAAK,EAAIZ,EACJH,EAAI,EAAGA,EAAIG,IAAKH,EAAG,KAClBD,EAAIM,EAAEuW,EAAI,GAAMvW,EAAEuW,EAAI,IAAM,EAAMvW,EAAEuW,EAAI,IAAM,GAClD7W,EAAIgB,IAAMhB,EAAIgB,GACdT,EAAGE,EAAEsjE,IAAI9jE,GAAIK,EAAG1E,EAAGoE,GACnBpE,GAAKoE,EACLgB,GAAKhB,EACL6W,GAAK,EAEPtW,EAAGE,EAAEsjE,IAAI3jE,GAAIE,EAAG1E,EAAGoF,GACnBV,EAAI1E,EAAImF,EAAI,EAAI,KAEd,GAAKT,EAAG,OAAOinC,GAAE9mC,EAAGH,EAAG,+BAE3BA,EAAIJ,EADJtE,EAAI6E,EAAEJ,EACI,GACVwW,EAAI0iB,EAAE39B,GAAKyE,EAAGzE,EAAG,GAAK,EACtBmF,EAAIw4B,EAAE39B,GAAKyE,EAAGzE,EAAG,GAAK,EACtBoF,EAAIu4B,EAAE39B,GAAKyE,EAAGzE,EAAG,GAAK,EACtBwE,EAAIm5B,EAAE39B,GAAKyE,EAAGzE,EAAG,GAAK,EACtBA,EAAI29B,EAAE39B,GAAKyE,EAAGzE,EAAG,GAAK,EACtBqE,EAAIQ,EAAE2iE,GACDpjE,EAAI,EAAG,EAAIA,IAAKA,EAAG,IAClBC,EAAE0gE,GAAI,KACJjgE,EAAIT,EAAE2gE,GAAG5gE,GACbC,EAAEwgE,KAAO//D,GAAKJ,EAAA,KACT,IAAI,EAAIN,EAAG,CAChBS,EAAEujE,GAAGhkE,GAAKS,EAAEujE,GAAG,YAEVtjE,EAAIJ,CAAA,KACPR,EAAIW,EAAEujE,GAAGhkE,GACbF,EAAEgiE,GAAG,GAAKyE,GAAGvnC,GAAGt+B,EAAImW,EAAG,MACvB/W,EAAEgiE,GAAG,GAAK0E,GAAGxnC,GAAGt+B,EAAI,EAAG,MACvBZ,EAAEiiE,GAAG,GAAK,EAAIwE,GAAGvnC,GAAGt+B,EAAIK,EAAG,MAC3BjB,EAAEiiE,GAAG,GAAM,OAASyE,GAAGxnC,GAAGt+B,EAAIM,EAAG,OAAU,KACvClB,EAAEiiE,GAAG,KAAOjiE,EAAEiiE,GAAG,GAAK,GAC1BjiE,EAAEkiE,GAAG,GAAKuE,GAAGvnC,GAAGt+B,EAAIN,EAAG,MACvBN,EAAEkiE,GAAG,GAAKwE,GAAGxnC,GAAGt+B,EAAI9E,EAAG,MACvBkE,EAAEuoB,GAAK3nB,EAAI9E,CAAA,KAERmE,EAAEqgE,GAAI,OAAO74B,GAAE9mC,EAAG,EAAG,wBAC1B84B,EAAErgB,GACFnZ,EAAIU,EAAEwjE,GACD3jE,EAAI,EAAG,EAAIA,IAAKA,EAAG,KACjBuW,EAAI,EAAG,EAAIA,IAAKA,EAAA,IACd9V,EAAI,EAAG,EAAIA,IAAKA,EAAA,IACdC,EAAI,EAAG,GAAKA,IAAKA,EACnBZ,EAAID,EAAE+Y,EAAGutD,GAAGnmE,GAAGuW,GAAG9V,GAAGC,IAAMd,EAAGgZ,EAAG,GAAKwtD,GAAGpmE,GAAGuW,GAAG9V,GAAGC,GAChDjB,EAAEihE,GAAG1gE,GAAGuW,GAAGiqD,GAAG//D,GAAGC,GAAKZ,EAAA,IAC1ByW,EAAI,EAAG,GAAKA,IAAKA,EAAG9W,EAAEkhE,GAAG3gE,GAAGuW,GAAK9W,EAAEihE,GAAG1gE,GAAGqmE,GAAG9vD,GAAA,QAEnDpW,EAAE0jE,GAAK5qC,EAAErgB,GACTzY,EAAE0jE,KAAO1jE,EAAEyjE,GAAKhkE,EAAGgZ,EAAG,IACdzY,EAAEsiE,GAAK,WAER56B,GAAG1nC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,GAAA,IACxBqC,EAAIrZ,EAAE3J,GAAG4qE,GAAGtgE,GAAA,IACXA,EAAI,EAAG,GAAKtK,IAAKA,EAAG,KAClBiK,EAAEM,EAAGyY,EAAE1Y,EAAI,IAAK,OAAOtK,EAAA,MACpBiK,EAAEM,EAAGyY,EAAE1Y,EAAI,QACX0Y,EAAIrZ,IAAI3J,GAAG4qE,GAAG,GAAMtgE,EAAI,EAAI,IAAMtK,EAAI,OAAO,OACjD6J,EAAIF,EAAE3J,EAAI,GAAG4qE,GAAA,GACb3gE,EAAEM,EAAGyY,EAAE1Y,EAAI,IAAK,KACdQ,EAAIP,EAGJ7E,EAAI,KACJuE,EAAEa,GAHJf,EAAIiZ,IACJ9Y,EAAII,GAES,OACTL,EAAEa,EAAGf,EAAEG,EAAI,IAAK,KAClB8Y,EAAI,EAGJ9Y,EAAI,GAFJxE,EAAIuE,EAAEa,EAAGf,EAAEG,EAAI,MACfH,EAAIE,EAAEa,EAAGf,EAAEG,EAAI,EAAIxE,KAEnBA,EAAI,EACCqE,EAAI2mE,GAAGxmE,GAAIH,EAAEiZ,KAAMA,EAAGtd,GAAKA,EAAIuE,EAAEa,EAAGf,EAAEiZ,IAC3Ctd,GAAK,GAAK,GAAKwE,EAAA,MAEfD,EAAEa,EAAGf,EAAEG,EAAI,KACLxE,EAAI,EAAI,EAAIuE,EAAEa,EAAG,KAAQpF,GAAKuE,EAAEa,EAAG,MACpCpF,EAAI,EAAIuE,EAAEa,EAAG,UACCpF,EAAlBuE,EAAEa,EAAGf,EAAEG,EAAI,IAAW,EAAID,EAAEa,EAAGf,EAAEG,EAAI,IAAY,EACtD8Y,EAAInZ,EAAE,QACAnE,EAAI,EAAKsd,EAAInZ,EAAE,GACvBA,EAAI8W,EAAIgwD,GAAG3wE,GAAA,GACX8K,EAAIP,GACEX,GAAKzG,EAAG2H,GAAA,IAEZZ,EADEH,EAAIe,EAAElB,EAERE,GADAI,EAAIY,EAAEq2D,IAAM,IACFr2D,EAAE24B,GAAK15B,IAAO,KACxBe,EAAElB,EACJkB,EAAEq2D,IAAMr3D,EACRgB,EAAEq2D,IAAM,EACRr2D,EAAE24B,IAAOv5B,EAAI,EAAKJ,IAAMC,EACxBc,EAAEhB,KAAOnE,EAAIoE,GAAKA,GAAKM,GAAG,EAAIpK,GAAK,UAE9B,YAEAmyC,GAAG5nC,GAAA,IACNZ,EAAIY,EAAEgkE,GAAGhkE,EAAEikE,GAAK,GACpB7kE,EAAEgiE,GAAK,EACPhiE,EAAE+hE,GAAK,EACP1rE,EAAEuK,EAAE6jE,GAAI,EAAG,EAAG7jE,EAAE6jE,GAAGluE,QACnBqK,EAAE2kE,GAAK,WAoQA58B,GAAG/nC,EAAGD,GAAA,GACT,MAAQC,EAAG,OAAO,KAClB,MAAQD,EAAG,OAAO+mC,GAAE9mC,EAAG,EAAG,4CACzBA,EAAEsiE,KAAO76B,GAAGznC,EAAGD,GAAI,OAAO,KAC/BX,EAAEY,EAAEsiE,IACA,MAAQviE,EAAE2lE,IAAM3lE,EAAE2lE,GAAG3lE,GAAI,CAC3BA,EAAE45D,KAAO35D,EAAE44B,EAAI,OACXngB,EAAI4tD,GAAGrmE,EAAE44B,GAAA,MACR54B,EAAE44B,GACD54B,EAAEmjE,GAAK,EAAKnjE,EAAEkjE,GAAK,IACnBljE,EAAEmjE,GAAMpjE,EAAEE,EAAIwY,GAAM,EACrBzY,EAAEkjE,GAAMnjE,EAAEgjB,EAAItK,GAAM,EACrB,EAAIzY,EAAEmjE,KAAOnjE,EAAEmjE,GAAK,GACpB,EAAInjE,EAAEkjE,KAAOljE,EAAEkjE,GAAK,IACxBljE,EAAEgjE,GAAMjjE,EAAEqW,EAAI,GAAKqC,GAAM,EACzBzY,EAAEijE,GAAMljE,EAAEi9D,GAAK,GAAKvkD,GAAM,EAC1BzY,EAAEijE,GAAKjjE,EAAEqjE,KAAOrjE,EAAEijE,GAAKjjE,EAAEqjE,IACzBrjE,EAAEgjE,GAAKhjE,EAAEojE,KAAOpjE,EAAEgjE,GAAKhjE,EAAEojE,IACrB,EAAIpjE,EAAE44B,EAAG,KACPt5B,EAAIU,EAAE0iE,GAAA,IACLjqD,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBlY,EAAA,GACAP,EAAE2iE,GAAGzC,GAAI,KACP/kE,EAAI6E,EAAE2iE,GAAGvC,GAAG3nD,GAChBzY,EAAE2iE,GAAG3C,KAAO7kE,GAAKmE,EAAEqhE,GAAA,MACdxlE,EAAImE,EAAEqhE,GAAA,IACRpgE,EAAI,EAAG,GAAKA,IAAKA,EAAG,KACnBZ,EAAIK,EAAE8kE,GAAGrsD,GAAGlY,GACdf,EAAIrE,EAAA,GACNmE,EAAEmhE,KAAQjhE,GAAKF,EAAEuhE,GAAG,GAAKtgE,IAAMf,GAAKF,EAAEwhE,GAAG,KAErC,GADJthE,EAAI,EAAIA,EAAI,EAAI,GAAKA,EAAI,GAAKA,GACnB,KACLD,EAAIC,EAAA,EACJF,EAAEohE,KACFnhE,EAAI,EAAID,EAAEohE,GAAKnhE,GAAK,EAAIA,GAAK,GAC3B,EAAID,EAAEohE,KAAOnhE,EAAI,EAAID,EAAEohE,IAAA,EACzBnhE,IAAMA,EAAI,GACdI,EAAEshE,GAAK1hE,EACPI,EAAEuhE,GAAK,EAAI1hE,EAAID,EACfI,EAAEohE,GAAK,IAAMvhE,EAAI,EAAI,IAAMA,EAAI,EAAI,OAC9BG,EAAEuhE,GAAK,EACdvhE,EAAEqhE,GAAKzgE,CAAA,GAIbkY,EAAI,OACCquB,GAAE9mC,EAAG,EAAG,sBAAwByY,EAAIzY,EAAEM,EAAA,GACxCmY,EAAI,GAAKA,EAAI,IACZA,EAAG,CACLzY,EAAE6iE,GAAK,IACH7iE,EAAE8iE,KAAO9iE,EAAE4iE,GAAK0D,IACpBtmE,EAAG,CACDyY,EAAIzY,EAAE4iE,GAEJtjE,EAAI,GADFC,EAAIS,EAAEqjE,IAAA,IAERvjE,EAAI,GAAKP,EACTE,EAAIF,EAAI,EACRK,EAAI,EAAII,EAAE44B,EAAIr5B,GAAK,EAAIS,EAAE8iE,GAAK,EAAI,GAAK,EACvC7iE,GAAK,GAAKD,EAAE8iE,GAAK,EAAI,GAAKvjE,EAAA,IAG5BI,EAAIL,EAAI,KAFRiB,EAAM,GAAK,GAAKkY,EAAI4tD,GAAGrmE,EAAE44B,IAAO,EAAK94B,IACrC3E,EAAI,MAAQ6E,EAAEglE,IAAM,EAAIhlE,EAAEglE,GAAGrvE,OAASqK,EAAEyiE,GAAGnjE,EAAIU,EAAEyiE,GAAGhtE,EAAI,KAE/CkK,EAAG8Y,EAAI,MACX,IACC9Y,EAAIK,EAAE4kE,GAAI,IACZ5kE,EAAE4kE,GAAK,EACP5kE,EAAE0kE,GAAKpkE,EAAEX,GACTK,EAAE6kE,GAAK,EACH,MAAQ7kE,EAAE0kE,GAAI,CAChBjsD,EAAIquB,GAAE9mC,EAAG,EAAG,gDACNA,CAAA,CAERA,EAAE4kE,GAAKjlE,CAAA,CAETA,EAAIK,EAAE0kE,GACNllE,EAAIQ,EAAE6kE,GACN7kE,EAAE2jE,GAAKhkE,EACPK,EAAE4jE,GAAKpkE,EACPA,GAAKF,EACLU,EAAE8jE,GAAK1tD,EAAGtW,EAAGqlC,IACbnlC,EAAE+jE,GAAK,EACP/jE,EAAEgkE,GAAK5tD,EAAG3W,EAAI,EAAGqlC,IACjB9kC,EAAEikE,GAAK,EACPjkE,EAAEmiE,GAAKviE,EAAIwW,EAAGxW,EAAGilC,IAAM,KACvB7kC,EAAE8/B,EAAI,EACN9/B,EAAE++B,EAAEmjC,GAAK,EACTliE,EAAE++B,EAAEojC,GAAKniE,EAAEmiE,GACXniE,EAAE++B,EAAEe,EAAI9/B,EAAE8/B,EAAA,EACN9/B,EAAE8iE,KAAO9iE,EAAE++B,EAAEe,GAAKvgC,GACtBH,GAAA,GACAY,EAAEkkE,GAAKvkE,EACPK,EAAEmkE,GAAK3kE,EACPA,GAAK,IACLQ,EAAEoiE,GAAKhsD,EAAGnW,EAAG+kC,IACbhlC,EAAEqiE,GAAK,EACPriE,EAAE++B,EAAEqjC,GAAKpiE,EAAEoiE,GACXpiE,EAAE++B,EAAEsjC,GAAKriE,EAAEqiE,GAAA,GACNriE,EAAE8iE,KAAO9iE,EAAE++B,EAAEsjC,IAAM9iE,GACxBS,EAAEm/B,EAAI,GAAK5/B,EACXS,EAAEq6B,EAAI,EAAI96B,EAEVA,GADAO,EAAIumE,GAAGrmE,EAAE44B,IACD54B,EAAEm/B,EACVr/B,EAAKA,EAAI,EAAKE,EAAEq6B,EAChBr6B,EAAEokE,GAAKzkE,EACPK,EAAEqkE,GAAK7kE,EAAID,EACXS,EAAEskE,GAAKtkE,EAAEokE,GACTpkE,EAAEukE,GAAKvkE,EAAEqkE,GAAK,GAAK5rD,EAAIzY,EAAEm/B,EAAIr/B,EAC7BE,EAAEwkE,GAAKxkE,EAAEskE,GACTtkE,EAAEykE,GAAKzkE,EAAEukE,GAAK,EAAI9rD,EAAIzY,EAAEq6B,EAAIv6B,EAC5BE,EAAE6iE,GAAK,EACPrjE,GAAKe,EACLP,EAAEujB,GAAKpoB,EAAIwE,EAAI,KACfK,EAAEqlE,GAAKlqE,EAAIqE,EAAI,KACfJ,EAAEI,EAAIrE,GAAK6E,EAAE6kE,GAAK7kE,EAAE4kE,IACpBh9B,GAAG5nC,GACHvK,EAAEuK,EAAE2jE,GAAI3jE,EAAE4jE,GAAI,EAAGtkE,GACjBmZ,EAAI,MAGJA,EAAG,IACL1Y,EAAE85D,GAAK,EACP95D,EAAEK,EAAIJ,EAAEokE,GACRrkE,EAAEq5B,EAAIp5B,EAAEqkE,GACRtkE,EAAEP,EAAIQ,EAAEskE,GACRvkE,EAAE44B,EAAI34B,EAAEukE,GACRxkE,EAAEq4D,GAAKp4D,EAAEwkE,GACTzkE,EAAEwmE,GAAKvmE,EAAEykE,GACT1kE,EAAE64D,GAAK54D,EAAEm/B,EACTp/B,EAAEs6D,GAAKr6D,EAAEq6B,EACTt6B,EAAE25B,EAAI,KACN35B,EAAEmgC,EAAI,GACDsmC,GAAI,KACF/tD,GAAK,IAAK,KAAOA,IAAKA,EAAGguD,GAAG,IAAMhuD,GAAK,EAAIA,GAAKA,EAAIA,EAAA,IACpDA,GAAK,KAAM,MAAQA,IAAKA,EAC3BiuD,GAAG,KAAOjuD,IAAM,IAAMA,GAAK,IAAM,IAAMA,EAAI,IAAMA,EAAA,IAC9CA,GAAK,IAAK,KAAOA,IAAKA,EACzBkuD,GAAG,IAAMluD,IAAM,GAAKA,GAAK,GAAK,GAAKA,EAAI,GAAKA,EAAA,IACzCA,GAAK,IAAK,KAAOA,IAAKA,EACzBmuD,GAAG,IAAMnuD,GAAK,EAAIA,EAAI,EAAI,IAAMA,EAAI,IAAMA,EAC5C+tD,GAAK,EAEPK,GAAKl8B,GACL1vC,GAAKouC,GACLy9B,GAAKz8B,GACL08B,GAAKx8B,GACLy8B,GAAKr7B,GACLs7B,GAAKr+B,GACLthB,GAAK4/C,GACLvqE,GAAKqzC,GACLm3B,GAAK30B,GACL40B,GAAKx0B,GACLy0B,GAAKn3B,GACLo3B,GAAKl3B,GACLm3B,GAAKngD,GACLogD,GAAKx0B,GACLy0B,GAAKn5B,GACLo5B,GAAKl5B,GACLm5B,GAAK/4B,GACLg5B,GAAK94B,GACL+4B,GAAE,GAAKn8B,GACPm8B,GAAE,GAAKpkD,GACPokD,GAAE,GAAKr8B,GACPq8B,GAAE,GAAKz8B,GACPy8B,GAAE,GAAKn5B,GACPm5B,GAAE,GAAK57B,GACP47B,GAAE,GAAKp0D,GACPo0D,GAAE,GAAKC,GACPD,GAAE,GAAKj7B,GACPi7B,GAAE,GAAKE,GACPt/C,GAAE,GAAKgjB,GACPhjB,GAAE,GAAKuiB,GACPviB,GAAE,GAAKqjB,GACPrjB,GAAE,GAAK0iB,GACP1iB,GAAE,GAAKu/C,GACPv/C,GAAE,GAAK4iB,GACP5iB,GAAE,GAAK6iB,GACP28B,GAAG,GAAK36B,GACR26B,GAAG,GAAKp9B,GACRo9B,GAAG,GAAK57B,GACR47B,GAAG,GAAKp7B,GACRo7B,GAAG,GAAK16B,GACR06B,GAAG,GAAKl7B,GACRk7B,GAAG,GAAKz6B,GACR/0B,EAAI,OACCA,EAAI,EAEbA,IAAMA,EAAA,SA5bEzY,EAAGD,GAAA,IACRC,EAAEu6B,EAAI,EAAGv6B,EAAEu6B,EAAIv6B,EAAEgjE,KAAMhjE,EAAEu6B,EAAG,KAI7BnkB,EAHEqC,EAAIzY,EAAEsjE,GAAGtjE,EAAEu6B,EAAIv6B,EAAE+iE,IACnBzjE,EAAIU,EAAEJ,EACNW,EAAIP,EAAA,IAEDoW,EAAI,EAAGA,EAAI7V,EAAE8iE,KAAMjtD,EAAG,KACrBjb,EAAImE,EACJK,EAAIY,EACJf,EAAIG,EAAEgkE,GACRpkE,EAAII,EAAEikE,GAAK,EAAIxtD,EACftW,EAAIH,EAAEkkE,GACNpkE,EAAIE,EAAEyiE,GAAGziE,EAAE0iE,GAAKjsD,GAAA,GAClBzW,EAAEgjE,GAAG1C,GACAxgE,EAAEmiE,GAAKliE,EAAEvE,EAAGwE,EAAE6jE,GAAGlD,GAAG,IACjB,EAAI5gE,EAAEvE,EAAGwE,EAAE6jE,GAAGlD,GAAG,IACjB5gE,EAAEvE,EAAGwE,EAAE6jE,GAAGlD,GAAG,IAChB7gE,EAAEmiE,GAAK,EACZjiE,EAAE+jE,KAAOjkE,EAAEoiE,GAAKniE,EAAEvE,EAAGwE,EAAE8jE,KACvBhkE,EAAEiiE,IAAMhiE,EAAEvE,EAAG,KAAO,EAChBsE,EAAEiiE,GAAI,KACJ9hE,EAAIH,EAAEkiE,GACR1hE,EAAI,MACDN,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAElBN,EADAe,EAAIN,EAAE,EAAIH,GAAA,IAETN,EAAI,EAAG,EAAIA,IAAKA,EAAG,CACtBe,EAAI8nE,GAAG1oE,EAAED,EAAIF,IAAIe,GAAA,IACZ,IAAIF,EAAIioE,GAAGzoE,EAAEvE,EAAGiF,EAAE,KAAM,EAAIF,GAC/BA,EAAIioE,GAAG,EAAIjoE,EAAIR,EAAEvE,EAAGiF,EAAEF,KACxBE,GAAKF,EACLV,EAAED,EAAIF,GAAKe,CAAA,CAEbP,EAAED,EAAGK,EAAGT,EAAGD,EAAG,GACdU,GAAK,EACLH,EAAE,EAAIH,GAAKS,CAAA,OAGZA,EAAIV,EAAEvE,EAAG,KAAQuE,EAAEvE,EAAG,KAAO,EAAI,EAAKuE,EAAEvE,EAAG,KAAO,EAAI,EACpDsE,EAAEkiE,GAAG,GAAKvhE,EACX3K,EAAE+J,EAAGD,EAAGa,EAAG,GACX3K,EAAEqK,EAAG,EAAGM,EAAG,GACfX,EAAEuiE,GAAKtiE,EAAEvE,EAAG,KAAQuE,EAAEvE,EAAG,KAAQuE,EAAEvE,EAAG,KAAO,EAAI,EAAK,EAAK,KAEzDoF,EAAEX,EAAEi3D,GAAI,OAAO/vB,GAAE9mC,EAAG,EAAG,iDACpBA,EAAE2kE,GAAK3kE,EAAEqjE,KAAMrjE,EAAE2kE,GAAI,IAE1BpkE,EAAIkY,EACJtd,GAFAmE,EAAIU,GAEEgkE,GAAG1kE,EAAE2kE,GAAK,GAChBzkE,EAAIF,EAAE0kE,GAAG1kE,EAAE2kE,GAAK3kE,EAAEqlE,IAClBvuD,EAAI9W,EAAE8iE,GAAG9iE,EAAE+iE,GAAK/iE,EAAEqlE,IACbplE,EAAID,EAAEokE,GAAKttD,EAAEyrD,GAAK,EACpB1mE,EAAEimE,GAAK5hE,EAAE4hE,GAAK,EACbhrD,EAAEsrD,KAAOvmE,EAAEgmE,GAAK3hE,EAAE2hE,GAAK,GACtB/qD,EAAE2rD,GAAK,EACP3rD,EAAE0rD,GAAK,EACP1rD,EAAEorD,GAAK,MACP,KACC7oC,EACFC,EAKW,GAJXz9B,EAAIqE,EACJA,EAAIe,EACJhB,EAAID,EAAEkkE,GAAGhD,GACT1gE,EAAIR,EAAE8iE,GAAG9iE,EAAE+iE,GAAK/iE,EAAEqlE,IAClBllE,EAAIH,EAAEikE,GAAGzjE,EAAE8hE,IACbjiE,EAAIG,EAAE2hE,GACN7hE,EAAI,EACJK,EAAIX,EAAE0kE,GAAG1kE,EAAE2kE,GAAK,GAChB7jE,EAAIf,EAAI,EACR5J,EAAEkK,EAAGC,EAAG,EAAG,KACPE,EAAE4hE,GAAA,IACAlhE,EAAI,EACJL,EAAIZ,EAAE,OACL,CACLW,EAAII,EAAE,QACFu4B,EAAI19B,EAAEgmE,GAAKlhE,EAAEkhE,GAAA,GACjBtoC,EAAIgtC,GAAGrmE,EAAGD,EAAE,GAAIs5B,EAAGp5B,EAAE6hE,GAAI,EAAGphE,EAAG,GAC/B/E,EAAEgmE,GAAKlhE,EAAEkhE,IAAM,EAAItoC,GAAK,EACpB,EAAIA,EAAGguC,GAAG3mE,EAAG,EAAGP,EAAGC,OAClB,KACChH,EAAKsH,EAAE,GAAK,GAAM,MACjBA,EAAI,EAAG,IAAMA,EAAGA,GAAK,GAAIP,EAAEC,EAAIM,GAAKtH,CAAA,CAE3C4H,EAAI,EACJL,EAAIZ,EAAE,OAEJu5B,EAAW,GAAP39B,EAAEimE,GACNloC,EAAW,GAAPj5B,EAAEmhE,GAAA,IACLlhE,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBw5B,EAAQ,EAAJR,EAAA,IACHtgC,EAAIggC,EAAI,EAAG,EAAIhgC,IAAKA,EAIpBkgC,EAAKA,GAAK,GADVY,GADAb,EAAIgtC,GAAGrmE,EAAGW,EADZ04B,EAAIa,GAAS,EAAJZ,GACSr5B,EAAE4hE,GAAI7gE,EAAGb,EAAGC,IACpBY,IACa,EACrBo4B,EAAKA,GAAK,GAAM,EAAIC,EAAI,EAAI,EAAIA,EAAI,EAAI,GAAKl5B,EAAEC,EAAI,IACnDA,GAAK,GACVk5B,IAAM,EACNI,EAAKA,GAAK,EAAMQ,GAAK,EACrBr6B,GAAMA,GAAK,EAAKu5B,KAAO,MAEzBz4B,EAAI24B,EACJt4B,EAAI04B,GAAK,EACJP,EAAI,EAAG,EAAIA,EAAGA,GAAK,EAAG,KACzBC,EAAI,EACJE,EAAI39B,EAAEimE,IAAO,EAAIzoC,EACjBO,EAAIj5B,EAAEmhE,IAAO,EAAIzoC,EACZz4B,EAAI,EAAG,EAAIA,IAAKA,EAAG,KACtBw5B,EAAQ,EAAJR,EACCtgC,EAAI,EAAG,EAAIA,IAAKA,EAClBigC,EAAIa,GAAS,EAAJZ,GAGPA,EAAKA,GAAK,GADVY,EAAI,GADJb,EAAIgtC,GAAGrmE,EAAGD,EAAE,GAAIs5B,EAAGp5B,EAAE8hE,GAAI,EAAG5hE,EAAGC,MAEV,EACrBg5B,EAAKA,GAAK,GAAM,EAAIC,EAAI,EAAI,EAAIA,EAAI,EAAI,GAAKl5B,EAAEC,EAAI,IACnDA,GAAK,GACVk5B,IAAM,EACNI,EAAKA,GAAK,EAAMQ,GAAK,EAEvBt5B,GAAKw4B,GAAM,EAAID,EACfx4B,GAAM24B,GAAK,GAAMH,EACjBn4B,IAAU,IAAJ04B,IAAYP,CAAA,CAEpBx9B,EAAEimE,GAAKjhE,EACPF,EAAEmhE,GAAK5gE,EACPV,EAAEiiE,GAAK1iE,EACPS,EAAEgiE,GAAK1hE,EACPN,EAAE0hE,GAAS,MAAJphE,EAAY,EAAIX,EAAE+hE,GACzBjiE,IAAMF,EAAIe,EAAA,MAERd,EAAEs5B,IACFt5B,EAAE6iE,GAAG7iE,EAAEwgC,EAAIxgC,EAAEqlE,IAAMrlE,EAAEwlE,GAAG1uD,EAAEwrD,IAAIxrD,EAAEsrD,IACjCpiE,EAAE6iE,GAAG7iE,EAAEwgC,EAAIxgC,EAAEqlE,IAAI3D,KAAOzhE,GACvBgB,EAAEs2D,GAAI,OAAO/vB,GAAE9mC,EAAG,EAAG,yCAE3B4nC,GAAG5nC,GAEHV,EAAIS,EACJQ,EAAI,EACJ6V,GAHAqC,EAAIzY,GAGE++B,EACN5jC,EAAI,EAAIsd,EAAEmgB,GAAKngB,EAAE8hB,GAAK9hB,EAAEyqD,IAAMzqD,EAAE8hB,GAAK9hB,EAAEuqD,GACnC,GAAKvqD,EAAEqqD,GACT9iE,EAAG,IACAoW,EAAEmkB,EAAI9hB,EAAE8hB,EAAKnkB,EAAE6rD,GAAK9mE,EAAI+7C,GAAGz+B,EAAGrC,GAAK7V,EAAI,EAExC6V,GADAwiB,EAAIngB,EAAEsmB,GACAmjC,GAEN/mE,GADAiF,EAAIimE,GAAG5tD,EAAEmgB,IACDngB,EAAE0mB,EACV3/B,EAAKY,EAAI,EAAKqY,EAAE4hB,EAChBn6B,EAAI,GAAKkW,EAAIqC,EAAE0mB,EACfvmC,EAAI,EAAIwd,EAAIqC,EAAE4hB,EACd96B,EAAIkZ,EAAE2rD,GACNtkE,EAAI2Y,EAAE4rD,GAAKlpE,EAAI+E,EACfT,EAAIgZ,EAAE6rD,GACN3kE,EAAI8Y,EAAE8rD,GAAK/kE,EAAI5G,EACfgH,EAAI6Y,EAAE+rD,GACNvkE,EAAIwY,EAAEgsD,GAAKjlE,EAAI5G,EAEfsgC,EAAI,IADJJ,EAAIF,EAAE2B,GAENl7B,EAAIy5B,GAAKrgB,EAAEuqD,GAAK,KACXvqD,EAAEqqD,IAAM5rB,GAAGz+B,EAAGmgB,GACfA,EAAEqpC,GACJ,IAAYvoC,GAAPb,EAAIpgB,GAASsmB,EAAExE,EAAGn7B,EAAEy5B,EAAEkG,EAAEkjC,IAAKrpC,EAAIC,EAAEsqC,GAAIvqC,EAAIC,EAAEoqC,KAAMrqC,EAAG,CAEzDp4B,EAAIo4B,EACJz4B,EAAIu5B,EAAA,IAEFC,GADE5W,GAHA0W,EAAIZ,GAGEkG,GACFmjC,GACRvpC,EAAIc,EAAE0F,EAAA,IACFpc,EAAIA,EAAEo/C,GAAGp/C,EAAE+c,EAAIt/B,GACjB44B,EAAIK,EAAE2qC,GACN/pC,EAAIZ,EAAE4qC,GAAK,GAAK1qC,EAAIhB,EAAI,GAAKn4B,EAC7B+5B,EAAIxX,EAAEk+C,GACNpmC,EAAI9X,EAAEm+C,GAAA,GACJ,GAAKrmC,EACP,GAAKz7B,EAAE,GAAKy7B,GAAI,GAAKpB,EAAEb,EACrB,EAAIp4B,GAAKknE,GAAGtuC,EAAGiB,EAAG1B,EAAGkC,EAAI,GACvB9X,EAAEi+C,IAAM4G,GAAGxuC,EAAGiB,EAAG1B,EAAGkC,GACpB,EAAI16B,GAAKsnE,GAAGruC,EAAGiB,EAAG1B,EAAGkC,EAAI,GACzB9X,EAAEi+C,IAAM2G,GAAGvuC,EAAGiB,EAAG1B,EAAGkC,OACnB,KACC5+B,EAAIw9B,EAAEY,EACR0E,EAAItF,EAAE6qC,GACNnlC,EAAI1F,EAAE8qC,GAAK,EAAI5qC,EAAI19B,EAAI,EAAIuE,EAC3B6+B,EAAI5F,EAAE+qC,GACN/qC,EAAIA,EAAEgrC,GAAK,EAAI9qC,EAAI19B,EAAI,EAAIuE,EAC3Bm5B,EAAI5W,EAAEg+C,GAAA,EACJvgE,IACD7D,GAAGy8B,EAAGiB,EAAG1B,EAAGkC,EAAI,EAAGN,EAAGZ,GACvBytC,GAAGroC,EAAGI,EAAGE,EAAG5F,EAAGx9B,EAAG4+B,EAAI,EAAGN,EAAGZ,IAC9B5W,EAAEi+C,KAAOsG,GAAGluC,EAAGiB,EAAG1B,EAAGkC,EAAGN,EAAGZ,GAAI6tC,GAAGzoC,EAAGI,EAAGE,EAAG5F,EAAGx9B,EAAG4+B,EAAGN,EAAGZ,IAAA,EACnDx5B,IACDmnB,GAAG8R,EAAGiB,EAAG1B,EAAGkC,EAAI,EAAGN,EAAGZ,GACvBwtC,GAAGpoC,EAAGI,EAAGE,EAAG5F,EAAGx9B,EAAG4+B,EAAI,EAAGN,EAAGZ,IAC9B5W,EAAEi+C,KAAOqG,GAAGjuC,EAAGiB,EAAG1B,EAAGkC,EAAGN,EAAGZ,GAAI4tC,GAAGxoC,EAAGI,EAAGE,EAAG5F,EAAGx9B,EAAG4+B,EAAGN,EAAGZ,GAAA,KAG/DlhB,EAAE+oD,IAAM3xB,MAAM,kBACV,MAAQvwC,EAAEmmE,IAAK,IACjB7sC,EAAI,GAAKE,EACTA,EAAI,IAAMA,EAAI,GACdI,GACM55B,EAAEc,EAAIqY,EAAE2rD,GACT9kE,EAAE85B,EAAI3gB,EAAE4rD,GAAKnkE,EACbZ,EAAEE,EAAIiZ,EAAE6rD,GACRhlE,EAAEq5B,EAAIlgB,EAAE8rD,GAAK3rE,EACb0G,EAAE84D,GAAK3/C,EAAE+rD,GACTllE,EAAEogC,EAAIjnB,EAAEgsD,GAAK7rE,IACZggC,GAAKx4B,EACNd,EAAEc,EAAIb,EACND,EAAE85B,EAAIt5B,EACNR,EAAEE,EAAIC,EACNH,EAAEq5B,EAAIh5B,EACNL,EAAE84D,GAAKx4D,EACPN,EAAEogC,EAAIz/B,GACXZ,IAAMy5B,GAAK14B,GACX04B,EAAIx5B,EAAE8W,IAAM0iB,EAAIx5B,EAAE8W,GAClB9W,EAAEo6B,EAAI,KACNp6B,EAAE4gC,EAAI,KAEJ,MAAQznB,EAAEusD,IACV,EAAIvsD,EAAEusD,GAAGrvE,QACTijC,EAAIE,IACFx5B,EAAE4gC,EAAI0Q,GAAGn4B,EAAGnZ,EAAGs5B,EAAGE,EAAIF,GACvBt5B,EAAEo6B,EAAIjhB,EAAE8K,GACT,MAAQjkB,EAAEo6B,GAAK,GAAKp6B,EAAEo6B,EAAE/jC,QACxB,CACA4K,EAAIumC,GAAEruB,EAAG,EAAG,sCACNzY,CAAA,CAER44B,EAAIt5B,EAAEyjB,IACF3iB,EAAId,EAAEyjB,EAAI6V,EACXA,EAAIt5B,EAAEyjB,EACP3jB,IAAQ,EAAJgB,IACHd,EAAE85B,GAAK3gB,EAAE0mB,EAAI/+B,EACbd,EAAEq5B,GAAKlgB,EAAE4hB,GAAKj6B,GAAK,GACnBd,EAAEogC,GAAKjnB,EAAE4hB,GAAKj6B,GAAK,GACpB,MAAQd,EAAEo6B,IAAMp6B,EAAE4gC,GAAK5gC,EAAE0K,MAAQ5J,IACnCw4B,EAAIE,IACAx5B,EAAE85B,GAAK95B,EAAEW,EACVX,EAAEq5B,GAAKr5B,EAAEW,GAAK,EACdX,EAAEogC,GAAKpgC,EAAEW,GAAK,EACf,MAAQX,EAAEo6B,IAAMp6B,EAAE4gC,GAAK5gC,EAAEW,GACxBX,EAAEu6D,GAAKjhC,EAAIt5B,EAAEyjB,EACbzjB,EAAEm6B,EAAIn6B,EAAE09D,GAAK19D,EAAEW,EACfX,EAAE+/B,EAAIvG,EAAIF,EACVr4B,EAAIjB,EAAEmmE,IAAInmE,GAAA,CAEf8W,EAAI,GAAKqC,EAAEmqD,IACTvjE,IACCQ,EAAE4Y,EAAE2rD,GAAI3rD,EAAE4rD,GAAKlpE,EAAGoE,EAAGO,EAAI,GAAK2Y,EAAE0mB,EAAGhkC,GACpC0E,EAAE4Y,EAAE6rD,GAAI7rD,EAAE8rD,GAAK/kE,EAAGC,EAAGE,EAAI,EAAI8Y,EAAE4hB,EAAG76B,GAClCK,EAAE4Y,EAAE+rD,GAAI/rD,EAAEgsD,GAAKjlE,EAAGI,EAAGK,EAAI,EAAIwY,EAAE4hB,EAAG76B,GAAA,KAEnCe,EAAG,OAAOumC,GAAE9mC,EAAG,EAAG,0BAElB,EA4LC,CAAOA,EAAGD,IAAA,MACRA,EAAE4lE,IAAM5lE,EAAE4lE,GAAG5lE,GACrB0Y,GAAK,SAEFA,GACLzY,EAAEsiE,GAAK,EACA7pD,GAFQ,WAIRuvB,GAAGhoC,EAAGZ,EAAGW,EAAGF,EAAGpK,GACtBA,EAAIuK,EAAEZ,EAAIW,EAAI,GAAKF,IAAMpK,GAAK,GAC9BuK,EAAEZ,EAAIW,EAAI,GAAKF,IAAU,IAALpK,EAAY,EAAIA,EAAI,EAAI,IAAOA,CAAA,UAE5CwyC,GAAGjoC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,GACzB0nC,GAAGhoC,EAAGZ,EAAG,EAAGW,EAAGF,EAAIpK,GACnBuyC,GAAGhoC,EAAGZ,EAAG,EAAGW,EAAGF,EAAIS,GACnB0nC,GAAGhoC,EAAGZ,EAAG,EAAGW,EAAGF,EAAIS,GACnB0nC,GAAGhoC,EAAGZ,EAAG,EAAGW,EAAGF,EAAIpK,EAAA,UAEZwiC,GAAGj4B,GAAA,OACD,MAAQA,GAAM,IAAMA,CAAA,UAEtB0oC,GAAG1oC,EAAGZ,EAAGW,EAAGF,GAAA,IAEjBpK,EADE2gB,EAAI,EAEJqC,EAAInY,EAAE,QACL7K,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClB6J,EAAIU,EAAEZ,EAAI,GAAKY,EAAEZ,EAAI,GACrBmB,EAAIP,EAAEZ,EAAI,GAAKY,EAAEZ,EAAI,GACrBjE,GAAM,MAAQ6E,EAAEZ,EAAI,IAAO,IAAM64B,GAAGj4B,EAAEZ,EAAI,KAC1CO,EAAIs4B,GAAGj4B,EAAEZ,EAAI,KAAQ,MAAQY,EAAEZ,EAAI,KAAQ,IAC/CqZ,EAAErC,EAAI,GAAK9W,EAAIK,EACf8Y,EAAErC,EAAI,GAAK7V,EAAIpF,EACfsd,EAAErC,EAAI,GAAK7V,EAAIpF,EACfsd,EAAErC,EAAI,GAAK9W,EAAIK,EACfyW,GAAK,EACLhX,GAAA,KAEG3J,EAAI2gB,EAAI,EAAG,EAAI3gB,IAAKA,EAEpB6J,GADFU,EAAIyY,EAAErC,EAAI,GAAK,GACLqC,EAAErC,EAAI,GACd7V,EAAIP,EAAIyY,EAAErC,EAAI,GACdjb,GAAM,MAAQsd,EAAErC,EAAI,IAAO,IAAM6hB,GAAGxf,EAAErC,EAAI,KAE3C4xB,GAAGjoC,EAAGF,EAAG,EAAG,EAAGP,GADdK,EAAIs4B,GAAGxf,EAAErC,EAAI,KAAQ,MAAQqC,EAAErC,EAAI,KAAQ,MAE5C4xB,GAAGjoC,EAAGF,EAAG,EAAG,EAAGU,EAAIpF,GACnB6sC,GAAGjoC,EAAGF,EAAG,EAAG,EAAGU,EAAIpF,GACnB6sC,GAAGjoC,EAAGF,EAAG,EAAG,EAAGP,EAAIK,GACnByW,IACCvW,GAAK,YAEH+oC,GAAG5oC,EAAGZ,EAAGW,EAAGF,GAAA,IACfpK,EAAIuK,EAAEZ,EAAI,GAAK,EACjBkB,EAAK,MAAQN,EAAEZ,EAAI,IAAO,GAC1BgX,EAAI6hB,GAAGj4B,EAAEZ,EAAI,IACbqZ,EAAK,MAAQzY,EAAEZ,EAAI,IAAO,GAE5B6oC,GAAGloC,EAAGF,EAAG,EAAGpK,EAAI2gB,EADhBpW,EAAIi4B,GAAGj4B,EAAEZ,EAAI,IACSqZ,GACtBwvB,GAAGloC,EAAGF,EAAG,EAAGpK,EAAI6K,EAAGN,EAAGyY,GACtBwvB,GAAGloC,EAAGF,EAAG,EAAGpK,EAAI6K,EAAGN,EAAGyY,GACtBwvB,GAAGloC,EAAGF,EAAG,EAAGpK,EAAI2gB,EAAGpW,EAAGyY,EAAA,UAEf4wB,GAAGrpC,EAAGZ,EAAGW,EAAGF,EAAGpK,GACtBizC,GAAG1oC,EAAGZ,EAAGW,EAAGF,GACZpK,GAAKizC,GAAG1oC,EAAGZ,EAAI,GAAIW,EAAGF,EAAI,YAEnBwqC,GAAGrqC,EAAGZ,EAAGW,EAAGF,GACnB5E,GAAG+E,EAAGZ,EAAI,EAAGW,EAAGF,EAAG,GACnB5E,GAAG+E,EAAGZ,EAAI,GAAIW,EAAGF,EAAI,IAAK,YAEnB0qC,GAAGvqC,EAAGZ,EAAGW,EAAGF,GAAA,IAEfpK,EAAA,IADJuK,EAAIA,EAAEZ,EAAI,GAAK,EAEV3J,EAAI,EAAG,EAAIA,IAAKA,EAAA,IAAQ2J,EAAI,EAAG,EAAIA,IAAKA,EAAG4oC,GAAGjoC,EAAGF,EAAGT,EAAG3J,EAAGuK,EAAA,UAExD2rC,GAAG3rC,EAAGZ,EAAGW,EAAGF,GACnBG,EAAEZ,EAAI,IAAM2nE,GAAG/mE,EAAGZ,EAAI,EAAGW,EAAGF,GAC5BG,EAAEZ,EAAI,KAAO2nE,GAAG/mE,EAAGZ,EAAI,GAAIW,EAAGF,EAAI,GAClCG,EAAEZ,EAAI,KAAO2nE,GAAG/mE,EAAGZ,EAAI,GAAIW,EAAGF,EAAI,KAClCG,EAAEZ,EAAI,KAAO2nE,GAAG/mE,EAAGZ,EAAI,GAAIW,EAAGF,EAAI,IAAM,YAEjC8qC,GAAG3qC,EAAGZ,EAAGW,EAAGF,GAAA,IAEjBpK,EADE2gB,EAAI9V,EAAE,QAEL7K,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBgjB,EAAIzY,EAAEZ,EAAI,EAAI3J,GAAKuK,EAAEZ,EAAI,GAAK3J,GAC9B6J,EAAIU,EAAEZ,EAAI,EAAI3J,GAAKuK,EAAEZ,EAAI,EAAI3J,GAC7B8K,EAAIP,EAAEZ,EAAI,EAAI3J,GAAKuK,EAAEZ,EAAI,EAAI3J,GAC7B0F,EAAI6E,EAAEZ,EAAI,EAAI3J,GAAKuK,EAAEZ,EAAI,GAAK3J,GAClC2gB,EAAE,EAAI3gB,GAAKgjB,EAAInZ,EACf8W,EAAE,EAAI3gB,GAAKgjB,EAAInZ,EACf8W,EAAE,EAAI3gB,GAAK0F,EAAIoF,EACf6V,EAAE,GAAK3gB,GAAK0F,EAAIoF,CAAA,KAEb9K,EAAI,EAAG,EAAIA,IAAKA,EAEhBgjB,GADFzY,EAAIoW,EAAE,EAAI,EAAI3gB,GAAK,GACT2gB,EAAE,EAAI,EAAI3gB,GAClB6J,EAAI8W,EAAE,EAAI,EAAI3gB,GAAK2gB,EAAE,EAAI,EAAI3gB,GAC7B8K,EAAI6V,EAAE,EAAI,EAAI3gB,GAAK2gB,EAAE,EAAI,EAAI3gB,GAC7B0F,EAAI6E,EAAIoW,EAAE,EAAI,EAAI3gB,GAClBsK,EAAEF,EAAI,GAAM4Y,EAAInZ,GAAM,EACtBS,EAAEF,EAAI,IAAO1E,EAAIoF,GAAM,EACvBR,EAAEF,EAAI,IAAO4Y,EAAInZ,GAAM,EACvBS,EAAEF,EAAI,IAAO1E,EAAIoF,GAAM,EACvBV,GAAK,YAEHgsC,GAAG7rC,EAAGZ,EAAGW,GAAA,IAIdF,EAHEpK,EAAI2J,EAAI,GACVkB,EAAI8nE,GACJhyD,EAAI,IAAMpW,EAAEvK,EAAI,OAEboK,EAAI,EAAGA,EAAIE,IAAKF,EAAG,KAGpB4Y,EAFEnZ,EAAIgB,EACNC,EAAI6V,EAAIpW,EAAEZ,EAAI,OAEXqZ,EAAI,EAAGA,EAAI1Y,IAAK0Y,EAAGzY,EAAEZ,EAAIqZ,GAAKnZ,EAAEiB,EAAIP,EAAEvK,EAAIgjB,IAC/CrZ,GAAK,aAGAqkB,GAAGzjB,EAAGZ,GACbysC,GAAG7rC,EAAGZ,EAAG,YAEFyrC,GAAG7qC,EAAGZ,GACbysC,GAAG7rC,EAAGZ,EAAG,YAEF4rC,GAAGhrC,EAAGZ,GACbysC,GAAG7rC,EAAGZ,EAAG,aAEF0sC,GAAG9rC,EAAGZ,GAAA,IACTW,EAAA,IACCA,EAAI,EAAG,GAAKA,IAAKA,EAAGF,EAAEG,EAAGZ,EAAI,GAAKW,EAAGC,EAAGZ,EAAI,GAAI,aAE9C+rC,GAAGnrC,EAAGZ,GAAA,IACTW,EAAA,IACCA,EAAI,GAAI,EAAIA,IAAKA,EAAGtK,EAAEuK,EAAGZ,EAAGY,EAAEZ,EAAI,GAAI,IAAMA,GAAK,YAE/CwsC,GAAG5rC,EAAGZ,EAAGW,GAAA,IACZF,EAAA,IACCA,EAAI,EAAG,GAAKA,IAAKA,EAAGpK,EAAE2J,EAAGW,EAAI,GAAKF,EAAGG,EAAG,aAEtCyrC,GAAGzrC,EAAGZ,GAAA,IAEXW,EADEF,EAAI,OAEHE,EAAI,EAAG,GAAKA,IAAKA,EAAGF,GAAKG,EAAEZ,EAAI,EAAI,GAAKW,GAAKC,EAAEZ,EAAIW,EAAI,IAC5D6rC,GAAG/rC,GAAK,EAAGG,EAAGZ,EAAA,UAEP4oE,GAAGhoE,EAAGZ,GAAA,IAEXW,EADEF,EAAI,MAEHE,EAAI,EAAG,GAAKA,IAAKA,EAAGF,GAAKG,EAAEZ,EAAI,EAAI,GAAKW,GAC7C6rC,GAAG/rC,GAAK,EAAGG,EAAGZ,EAAA,UAEPisC,GAAGrrC,EAAGZ,GAAA,IAEXW,EADEF,EAAI,MAEHE,EAAI,EAAG,GAAKA,IAAKA,EAAGF,GAAKG,EAAEZ,EAAIW,EAAI,IACxC6rC,GAAG/rC,GAAK,EAAGG,EAAGZ,EAAA,UAEPksC,GAAGtrC,EAAGZ,GACbwsC,GAAG,IAAK5rC,EAAGZ,EAAA,UAEJmsC,GAAEvrC,EAAGZ,EAAGW,GAAA,OACPC,EAAI,EAAIZ,EAAIW,EAAI,GAAM,WAEvByrC,GAAGxrC,EAAGZ,GAAA,IAQXW,EAPEtK,EAAI2J,EAAI,GAKoB,IAJ9B3J,EAAI,IAAI4sB,WAAW,CACjBkpB,GAAEvrC,EAAEvK,EAAI,GAAIuK,EAAEvK,EAAI,GAAIuK,EAAEvK,EAAI,IAC5B81C,GAAEvrC,EAAEvK,EAAI,GAAIuK,EAAEvK,EAAI,GAAIuK,EAAEvK,EAAI,IAC5B81C,GAAEvrC,EAAEvK,EAAI,GAAIuK,EAAEvK,EAAI,GAAIuK,EAAEvK,EAAI,IAC5B81C,GAAEvrC,EAAEvK,EAAI,GAAIuK,EAAEvK,EAAI,GAAIuK,EAAEvK,EAAI,MAG3BsK,EAAI,EAAG,EAAIA,IAAKA,EAAGF,EAAEG,EAAGZ,EAAI,GAAKW,EAAGtK,EAAG,EAAGA,EAAEE,OAAA,UAE1Cy1C,GAAGprC,EAAGZ,GAAA,IACTW,EAAIC,EAAEZ,EAAI,GACZS,EAAIG,EAAEZ,EAAI,EAAI,IACd3J,EAAIuK,EAAEZ,EAAI,EAAI,IACdkB,EAAIN,EAAEZ,EAAI,EAAI,IAChB85B,EAAGl5B,EAAGZ,EAAI,EAAG,SAAWmsC,GAAEvrC,EAAEZ,EAAI,EAAI,IAAKW,EAAGF,IAC5Cq5B,EAAGl5B,EAAGZ,EAAI,GAAI,SAAWmsC,GAAExrC,EAAGF,EAAGpK,IACjCyjC,EAAGl5B,EAAGZ,EAAI,GAAI,SAAWmsC,GAAE1rC,EAAGpK,EAAG6K,IACjC44B,EAAGl5B,EAAGZ,EAAI,GAAI,SAAWmsC,GAAE91C,EAAG6K,EAAGA,GAAA,UAE1BorC,GAAG1rC,EAAGZ,GAAA,IAEXW,EADEF,EAAI,MAEHE,EAAI,EAAG,EAAIA,IAAKA,EAAGF,GAAKG,EAAEZ,EAAIW,EAAI,IAAMC,EAAEZ,EAAI,EAAI,GAAKW,GAAA,IAC5DF,IAAM,EACDE,EAAI,EAAG,EAAIA,IAAKA,EAAGtK,EAAEuK,EAAGZ,EAAI,GAAKW,EAAGF,EAAG,YAErC6uC,GAAG1uC,EAAGZ,GAAA,IACTW,EAAIC,EAAEZ,EAAI,EAAI,GAChBS,EAAIG,EAAEZ,EAAI,EAAI,IACd3J,EAAIuK,EAAEZ,EAAI,EAAI,IACdkB,EAAIN,EAAEZ,EAAI,EAAI,IACdgX,EAAIpW,EAAEZ,EAAI,EAAI,IACdqZ,EAAIzY,EAAEZ,EAAI,EAAI,IACdE,EAAIU,EAAEZ,EAAI,EAAI,IACdmB,EAAIP,EAAEZ,EAAI,EAAI,IAChBY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE1rC,EAAGpK,EAAGuK,EAAEZ,EAAI,EAAI,KAClCY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAExrC,EAAGF,EAAGpK,GACxCuK,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAEjrC,EAAGP,EAAGF,GACxDG,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,GAAKmsC,GAAEn1B,EAAG9V,EAAGP,GACvEC,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,GAAKmsC,GAAE9yB,EAAGrC,EAAG9V,GACvDN,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,GAAKmsC,GAAEjsC,EAAGmZ,EAAGrC,GACvCpW,EAAEZ,EAAI,EAAI,GAAKmsC,GAAEhrC,EAAGjB,EAAGmZ,EAAA,UAEhBhF,GAAGzT,EAAGZ,GAAA,IACTW,EAAIC,EAAEZ,EAAI,EAAI,IAChBS,EAAIG,EAAEZ,EAAI,EAAI,IACd3J,EAAIuK,EAAEZ,EAAI,EAAI,IACdkB,EAAIN,EAAEZ,EAAI,EAAI,IACdgX,EAAIpW,EAAEZ,EAAI,EAAI,IACdqZ,EAAIzY,EAAEZ,EAAI,EAAI,IACdE,EAAIU,EAAEZ,EAAI,EAAI,IAChBY,EAAEZ,EAAI,EAAI,GAAKmsC,GAAEvrC,EAAEZ,EAAI,EAAI,IAAKW,EAAGF,GACnCG,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAExrC,EAAGF,EAAGpK,GACvCuK,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE1rC,EAAGpK,EAAG6K,GACvDN,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE91C,EAAG6K,EAAG8V,GACvEpW,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAEjrC,EAAG8V,EAAGqC,GACxDzY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAEn1B,EAAGqC,EAAGnZ,GACxCU,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE9yB,EAAGnZ,EAAGA,EAAA,UAEjB2sC,GAAGjsC,EAAGZ,GAAA,IACTW,EAAIC,EAAEZ,EAAI,EAAI,GAChBS,EAAIG,EAAEZ,EAAI,EAAI,IACd3J,EAAIuK,EAAEZ,EAAI,EAAI,IACdkB,EAAIN,EAAEZ,EAAI,EAAI,IACdgX,EAAIpW,EAAEZ,EAAI,EAAI,IACdqZ,EAAIzY,EAAEZ,EAAI,EAAI,IACdE,EAAIU,EAAEZ,EAAI,EAAI,IACdmB,EAAIP,EAAEZ,EAAI,EAAI,IAChBY,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAOkB,EAAI8V,EAAI,GAAM,EAC9CpW,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAOgX,EAAIqC,EAAI,GAAM,EAC9CzY,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAOqZ,EAAInZ,EAAI,GAAM,EAC9CU,EAAEZ,EAAI,EAAI,GAAME,EAAIiB,EAAI,GAAM,EAC9BP,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE91C,EAAGoK,EAAGE,GACxBC,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE1rC,EAAGE,EAAGO,GACxBN,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAExrC,EAAGO,EAAG8V,GACxCpW,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAEjrC,EAAG8V,EAAGqC,GACxCzY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAEn1B,EAAGqC,EAAGnZ,GACxCU,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE9yB,EAAGnZ,EAAGiB,EAAA,UAEjBunE,GAAG9nE,EAAGZ,GAAA,IACTW,EAAIC,EAAEZ,EAAI,EAAI,IAChBS,EAAIG,EAAEZ,EAAI,EAAI,IACd3J,EAAIuK,EAAEZ,EAAI,EAAI,IACdkB,EAAIN,EAAEZ,EAAI,EAAI,IACdgX,EAAIpW,EAAEZ,EAAI,EAAI,IACdqZ,EAAIzY,EAAEZ,EAAI,EAAI,IACdE,EAAIU,EAAEZ,EAAI,EAAI,IACdmB,EAAIP,EAAEZ,EAAI,EAAI,IAChBY,EAAEZ,EAAI,EAAI,GAAMW,EAAIF,EAAI,GAAM,EAC9BG,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAOS,EAAIpK,EAAI,GAAM,EAC9CuK,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAO3J,EAAI6K,EAAI,GAAM,EAC9CN,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAOkB,EAAI8V,EAAI,GAAM,EAC9CpW,EAAEZ,EAAI,EAAI,IAAMmsC,GAAExrC,EAAGF,EAAGpK,GACxBuK,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE1rC,EAAGpK,EAAG6K,GACxCN,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE91C,EAAG6K,EAAG8V,GACxCpW,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAEjrC,EAAG8V,EAAGqC,GACxCzY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAEn1B,EAAGqC,EAAGnZ,GACxBU,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE9yB,EAAGnZ,EAAGiB,EAAA,UAEjBwnE,GAAG/nE,EAAGZ,GAAA,IACTW,EAAIC,EAAEZ,EAAI,EAAI,GAChBS,EAAIG,EAAEZ,EAAI,EAAI,IACd3J,EAAIuK,EAAEZ,EAAI,EAAI,IACdkB,EAAIN,EAAEZ,EAAI,EAAI,IAChBY,EAAEZ,EAAI,EAAI,GAAMW,EAAIF,EAAI,GAAM,EAC9BG,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAOS,EAAIpK,EAAI,GAAM,EAC9CuK,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAO3J,EAAI6K,EAAI,GAAM,EAC/CN,EAAEZ,EAAI,EAAI,GAAKmsC,GAAExrC,EAAGF,EAAGpK,GACvBuK,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE1rC,EAAGpK,EAAG6K,GACvCN,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE91C,EAAG6K,EAAGA,GACxCN,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMY,EAC9DZ,EAAI,EAAI,IACNY,EAAEZ,EAAI,EAAI,IAAMkB,CAAA,UAEbssC,GAAG5sC,EAAGZ,GAAA,IACTW,EAAIC,EAAEZ,EAAI,EAAI,GAChBS,EAAIG,EAAEZ,EAAI,EAAI,IACd3J,EAAIuK,EAAEZ,EAAI,EAAI,IACdkB,EAAIN,EAAEZ,EAAI,EAAI,IACdgX,EAAIpW,EAAEZ,EAAI,EAAI,IACdqZ,EAAIzY,EAAEZ,EAAI,EAAI,IACdE,EAAIU,EAAEZ,EAAI,EAAI,IACdmB,EAAIP,EAAEZ,EAAI,EAAI,IAChBY,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAOW,EAAIqW,EAAI,GAAM,EAC9CpW,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAOS,EAAIE,EAAI,GAAM,EAC/CC,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAO3J,EAAIoK,EAAI,GAAM,EAC/CG,EAAEZ,EAAI,EAAI,IAAOkB,EAAI7K,EAAI,GAAM,EAC/BuK,EAAEZ,EAAI,EAAI,GAAKmsC,GAAE9yB,EAAGnZ,EAAGiB,GACvBP,EAAEZ,EAAI,EAAI,GAAKmsC,GAAEn1B,EAAGqC,EAAGnZ,GACvBU,EAAEZ,EAAI,EAAI,GAAKY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAExrC,EAAGqW,EAAGqC,GACvCzY,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE1rC,EAAGE,EAAGqW,GACxCpW,EAAEZ,EAAI,EAAI,IAAMY,EAAEZ,EAAI,EAAI,IAAMmsC,GAAE91C,EAAGoK,EAAGE,GACxCC,EAAEZ,EAAI,EAAI,IAAMmsC,GAAEjrC,EAAG7K,EAAGoK,EAAA,UAEjBwsC,GAAGrsC,EAAGZ,GAAA,IACTW,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGF,EAAEG,EAAGZ,EAAI,GAAKW,EAAGC,EAAGZ,EAAI,GAAI,YAE7CytC,GAAG7sC,EAAGZ,GAAA,IACTW,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGtK,EAAEuK,EAAGZ,EAAGY,EAAEZ,EAAI,GAAI,GAAKA,GAAK,YAE7C4tC,GAAGhtC,EAAGZ,EAAGW,GAAA,IACZF,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGpK,EAAE2J,EAAGW,EAAI,GAAKF,EAAGG,EAAG,YAErCstC,GAAGttC,EAAGZ,GAAA,IAEXW,EADEF,EAAI,MAEHE,EAAI,EAAG,EAAIA,IAAKA,EAAGF,GAAKG,EAAEZ,EAAIW,EAAI,IAAMC,EAAEZ,EAAI,EAAI,GAAKW,GAC5DitC,GAAGntC,GAAK,EAAGG,EAAGZ,EAAA,UAEP2tC,GAAG/sC,EAAGZ,GAAA,IAEXW,EADEF,EAAI,MAEHE,EAAI,EAAG,EAAIA,IAAKA,EAAGF,GAAKG,EAAEZ,EAAIW,EAAI,IACvCitC,GAAGntC,GAAK,EAAGG,EAAGZ,EAAA,UAEPmuC,GAAGvtC,EAAGZ,GAAA,IAEXW,EADEF,EAAI,MAEHE,EAAI,EAAG,EAAIA,IAAKA,EAAGF,GAAKG,EAAEZ,EAAI,EAAI,GAAKW,GAC5CitC,GAAGntC,GAAK,EAAGG,EAAGZ,EAAA,UAEPouC,GAAGxtC,EAAGZ,GACb4tC,GAAG,IAAKhtC,EAAGZ,EAAA,UAEJwuC,GAAG5tC,EAAGZ,EAAGW,GAAA,IACZF,EAAIG,EAAEZ,EAAIW,GACZtK,EAAIuK,EAAEZ,EAAI,GACVkB,EAAI,GAAK7K,EAAIoK,GAAKwoE,GAAG,KAAOroE,EAAEZ,EAAI,EAAIW,GAAKC,EAAEZ,EAAIW,IACjDqW,EAAIinC,GAAG,KAAQ/8C,EAAI,GAAM,IAC3BN,EAAEZ,EAAIW,GAAKqoE,GAAE,IAAMvoE,EAAIw9C,GAAG,KAAQ/8C,EAAI,GAAM,KAC5CN,EAAEZ,EAAI,GAAKgpE,GAAE,IAAM3yE,EAAI2gB,EAAA,UAEhB23B,GAAG/tC,EAAGZ,EAAGW,EAAGF,GAAA,IACfpK,EAAIuK,EAAEZ,EAAI,GACZkB,EAAIN,EAAEZ,EAAIW,GAAA,OACLuoE,GAAE,IAAMtoE,EAAEZ,EAAI,EAAIW,GAAKC,EAAEZ,EAAIW,IAAMF,GAAKyoE,GAAE,IAAMhoE,EAAI7K,GAAKoK,CAAA,UAEzDouC,GAAGjuC,EAAGZ,EAAGW,EAAGF,GAAA,OAEjB,EAAIyoE,GAAE,IAAMtoE,EAAEZ,EAAIW,GAAKC,EAAEZ,EAAI,IAAMkpE,GAAE,IAAMtoE,EAAEZ,EAAI,EAAIW,GAAKC,EAAEZ,EAAIW,KAAOF,CAAA,UAGlEuuC,GAAGpuC,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IAClB6K,EAAIN,EAAEZ,EAAI,EAAIW,GAChBqW,EAAIpW,EAAEZ,EAAI,EAAIW,GACd0Y,EAAIzY,EAAEZ,EAAIW,GACVT,EAAIU,EAAEZ,EAAI,GACVmB,EAAIP,EAAEZ,EAAIW,GACV5E,EAAI6E,EAAEZ,EAAI,EAAIW,GACdJ,EAAIK,EAAEZ,EAAI,EAAIW,GAAA,OACT,EAAIuoE,GAAE,IAAM7vD,EAAInZ,GAAKgpE,GAAE,IAAMlyD,EAAI7V,GAAKV,EACzC,EACAyoE,GAAE,IAAMtoE,EAAEZ,EAAI,EAAIW,GAAKO,IAAM7K,GAC3B6yE,GAAE,IAAMhoE,EAAI8V,IAAM3gB,GAClB6yE,GAAE,IAAMlyD,EAAIqC,IAAMhjB,GAClB6yE,GAAE,IAAM3oE,EAAIxE,IAAM1F,GAClB6yE,GAAE,IAAMntE,EAAIoF,IAAM9K,GAClB6yE,GAAE,IAAM/nE,EAAIjB,IAAM7J,CAAA,UAEjB64C,GAAGtuC,EAAGZ,EAAGW,EAAGF,GAAA,IACfpK,EAAI,EAAIoK,EAAI,MACXA,EAAI,EAAG,GAAKA,IAAKA,EAAGouC,GAAGjuC,EAAGZ,EAAIS,EAAGE,EAAGtK,IAAMm4C,GAAG5tC,EAAGZ,EAAIS,EAAGE,EAAA,UAErDyuC,GAAGxuC,EAAGZ,EAAGW,EAAGF,GAAA,IACfpK,EAAI,EAAIoK,EAAI,MACXA,EAAI,EAAG,GAAKA,IAAKA,EAAGouC,GAAGjuC,EAAGZ,EAAIS,EAAIE,EAAG,EAAGtK,IAAMm4C,GAAG5tC,EAAGZ,EAAIS,EAAIE,EAAG,YAE7D6uC,GAAG5uC,EAAGZ,EAAGW,EAAGF,GAAA,IACfpK,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAiB64C,GAAGtuC,EAAhBZ,GAAK,EAAIW,EAAaA,EAAGF,EAAA,UAE3CivC,GAAG9uC,EAAGZ,EAAGW,EAAGF,GAAA,IACfpK,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAa+4C,GAAGxuC,EAAZZ,GAAK,EAAaW,EAAGF,EAAA,UAEvCkwC,GAAG/vC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,GAAA,IAC1BnY,EAAI,EAAIA,EAAI,EAAG,EAAI7K,KAAO,IACzB24C,GAAGpuC,EAAGZ,EAAGW,EAAGO,EAAG8V,GACjB,GAAI23B,GAAG/tC,EAAGZ,EAAGW,EAAG0Y,GAAIm1B,GAAG5tC,EAAGZ,EAAGW,OACxB,KACCT,EAAIU,EACNO,EAAInB,EACJjE,EAAI4E,EACJJ,EAAIL,EAAEiB,EAAI,EAAIpF,GACdqE,EAAIF,EAAEiB,EAAIpF,GACVoE,EAAID,EAAEiB,EAAI,GACVT,EAAIR,EAAEiB,EAAIpF,GACVsE,EAAIH,EAAEiB,EAAI,EAAIpF,GAEdyE,EAAK,IADLP,EAAIgpE,GAAG,KAAO,GAAK9oE,EAAIC,GAAK6oE,GAAG,KAAO1oE,EAAIG,KAC5B,IAAO,EACrBG,EAAK,GAAKZ,EAAI,IAAO,EACrBA,EAAK,EAAIA,EAAI,IAAO,EACtBC,EAAEiB,EAAI,EAAIpF,GAAKitE,GAAE,IAAM9oE,EAAEiB,EAAI,EAAIpF,GAAKkE,GACtCC,EAAEiB,EAAI,EAAIpF,GAAKitE,GAAE,IAAMzoE,EAAIM,GAC3BX,EAAEiB,EAAIpF,GAAKitE,GAAE,IAAM5oE,EAAII,GACvBN,EAAEiB,EAAI,GAAK6nE,GAAE,IAAM7oE,EAAIK,GACvBN,EAAEiB,EAAIpF,GAAKitE,GAAE,IAAMtoE,EAAIG,GACvBX,EAAEiB,EAAI,EAAIpF,GAAKitE,GAAE,IAAM3oE,EAAIJ,EAAA,CAE/BD,GAAKS,CAAA,WAGAogC,GAAGjgC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,GAAA,IAC1BnY,EAAI,EAAIA,EAAI,EAAG,EAAI7K,KAAO,IACzB24C,GAAGpuC,EAAGZ,EAAGW,EAAGO,EAAG8V,GACjB,GAAI23B,GAAG/tC,EAAGZ,EAAGW,EAAG0Y,GAAIm1B,GAAG5tC,EAAGZ,EAAGW,OACxB,KACCT,EAAIU,EACNO,EAAInB,EACJjE,EAAI4E,EACJJ,EAAIL,EAAEiB,EAAIpF,GACVqE,EAAIF,EAAEiB,EAAI,GACVhB,EAAID,EAAEiB,EAAIpF,GAEV2E,EAAIu9C,GAAG,KAAY,GADnB59C,EAAI,GAAKD,EAAIG,KACY,IACzBF,EAAI49C,GAAG,KAAQ59C,EAAI,GAAM,IACzBG,EAAKE,EAAI,GAAM,EACjBR,EAAEiB,EAAI,EAAIpF,GAAKitE,GAAE,IAAM9oE,EAAEiB,EAAI,EAAIpF,GAAKyE,GACtCN,EAAEiB,EAAIpF,GAAKitE,GAAE,IAAMzoE,EAAIF,GACvBH,EAAEiB,EAAI,GAAK6nE,GAAE,IAAM5oE,EAAIM,GACvBR,EAAEiB,EAAIpF,GAAKitE,GAAE,IAAM7oE,EAAIK,EAAA,CAE3BR,GAAKS,CAAA,WAGAqnE,GAAGlnE,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,GACzByvC,GAAG/vC,EAAGZ,EAAGW,EAAG,EAAG,GAAIF,EAAGpK,EAAG6K,EAAA,UAElB0vC,GAAGhwC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,GACzByvC,GAAG/vC,EAAGZ,EAAG,EAAGW,EAAG,GAAIF,EAAGpK,EAAG6K,EAAA,UAElB4vC,GAAGlwC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,GAAA,IACrB8V,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAiB6pB,GAAGjgC,EAAhBZ,GAAK,EAAIW,EAAaA,EAAG,EAAG,GAAIF,EAAGpK,EAAG6K,EAAA,UAExD8vC,GAAGpwC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,GAAA,IACrB8V,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAa6pB,GAAGjgC,EAAZZ,GAAK,EAAa,EAAGW,EAAG,GAAIF,EAAGpK,EAAG6K,EAAA,UAEpDkyC,GAAGxyC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,GAC/Bs3B,GAAG/vC,EAAGZ,EAAG3J,EAAG,EAAG,EAAG6K,EAAG8V,EAAGqC,GACxBs3B,GAAGhwC,EAAGF,EAAGpK,EAAG,EAAG,EAAG6K,EAAG8V,EAAGqC,EAAA,UAEjBm6B,GAAG5yC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,GAC/Bs3B,GAAG/vC,EAAGZ,EAAG,EAAG3J,EAAG,EAAG6K,EAAG8V,EAAGqC,GACxBs3B,GAAGhwC,EAAGF,EAAG,EAAGpK,EAAG,EAAG6K,EAAG8V,EAAGqC,EAAA,UAEjB2O,GAAGpnB,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,GAC/BwnB,GAAGjgC,EAAGZ,EAAI,EAAI3J,EAAGA,EAAG,EAAG,EAAG6K,EAAG8V,EAAGqC,GAChCwnB,GAAGlgC,EAAGF,EAAI,EAAIpK,EAAGA,EAAG,EAAG,EAAG6K,EAAG8V,EAAGqC,EAAA,UAEzBu6B,GAAGhzC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,GAC/BwnB,GAAGjgC,EAAGZ,EAAI,EAAG,EAAG3J,EAAG,EAAG6K,EAAG8V,EAAGqC,GAC5BwnB,GAAGlgC,EAAGF,EAAI,EAAG,EAAGpK,EAAG,EAAG6K,EAAG8V,EAAGqC,EAAA,UAErB06B,KAAA,KACFymB,GAAK,IAAIl4B,GAAA,KACTy4B,GAAK,QACLJ,GAAK,QACLE,GAAK,QACL4B,GAAK3hE,KAAKggE,GAAKhgE,KAAK8/D,GAAK9/D,KAAKkgE,GAAK,OACnCc,GAAK,IAAIv5B,GAAA,KACTm5B,OAAS,OACTC,GAAK,kBACLC,GAAK,uBACLC,GAAK,yBAEH1nB,KAAA,KACFnsC,KAAO,QACP0jC,OAAS5wC,KAAKquE,GAAKruE,KAAK0rE,GAAK1rE,KAAKgG,EAAI,OACtCsoE,GAAK,QACLC,GAAKvuE,KAAKwuE,GAAKxuE,KAAKyuE,GAAKzuE,KAAK0uE,GAAK1uE,KAAK4+B,EAAI,WAE1C0a,KAAA,KACF+oB,GAAKriE,KAAK49D,GAAK59D,KAAKmF,EAAInF,KAAKsiE,GAAK,OAClCz7B,EAAI,QACJ7gC,EAAI,WAEFgb,KAAA,KACF0iD,GAAK,OACLO,GAAK,IAAI5jC,EAAA,KACTgkC,GAAK,IAAIhkC,EAAA,KACT3O,GAAK1xB,KAAK6hE,GAAK7hE,KAAKkkE,GAAK,OACzBpC,GAAK,QACLC,GAAK,OACLC,GAAK,IAAI38D,EAAA,KACTi/D,GAAK,IAAI7+D,CAAA,UAEP8zC,KAAA,KACFgrB,GAAKvkE,KAAKoG,EAAI,OACdX,EAAI,IAAI8mC,GAAA,KACRw2B,GAAK,IAAIv7B,GAAA,KACT/B,EAAI,QACJo9B,GAAK,OACLX,GAAK,QACLC,GAAK,OACLz8D,EAAI,IAAI+4B,EAAA,KACRulC,GAAK,OACLG,GAAK,IAAI1lC,EAAA,KACTukC,GAAKhjE,KAAKinC,EAAIjnC,KAAKy/B,EAAIz/B,KAAKzE,EAAIyE,KAAKoF,EAAIpF,KAAKokE,GAAK,OACnD7lD,EAAI,IAAIyC,GAAA,KACRihD,GAAK,OACLG,GAAKlmD,EAAG,EAAGo9B,IAAA,KACXurB,GAAK,WAEHprB,KAAA,KACFk1B,GAAK3uE,KAAK+mC,EAAI/mC,KAAK4uE,GAAK5uE,KAAKzE,EAAIyE,KAAKoF,EAAI,OAC1CK,EAAI,IAAI8mC,GAAA,KACRsiC,GAAK,OACL9L,GAAK,QACLe,GAAK,OACLH,GAAK,UACLC,GAAK,WAEHjqB,GAAG7zC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,GAAA,IAC5BpW,EAAI,MAAQA,EAAI,EAAIA,EAAEZ,EAAI,GACrBA,EAAI,EAAGA,EAAIgX,IAAKhX,EAAI3J,EAAE6K,EAAIlB,GAAMY,EAAID,EAAEF,EAAIT,GAAM,IAAOY,EAAIvK,EAAE6K,EAAIlB,EAAA,UAE/D20C,GAAG/zC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,GAAA,IAGtBqC,EAAA,GAFF,MAAQzY,EAAG6zC,GAAG,KAAM,KAAM9zC,EAAGF,EAAGpK,EAAG6K,EAAG8V,QAAA,IAGnCqC,EAAI,EAAGA,EAAIrC,IAAKqC,EAAGhjB,EAAE6K,EAAImY,GAAMzY,EAAEZ,EAAIqZ,GAAK1Y,EAAEF,EAAI4Y,GAAM,aAGtDg8B,GAAGz0C,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,GAAA,GACxB,MAAQpW,EAAG6zC,GAAG,KAAM,KAAM9zC,EAAGF,EAAGpK,EAAG6K,EAAG8V,OACrC,KAIDqC,EAHEnZ,EAAIU,EAAEZ,EAAI,GACZmB,EAAIjB,EACJnE,EAAImE,EAAA,IAEDmZ,EAAI,EAAGA,EAAIrC,IAAKqC,EAEhBlY,EAAIpF,GADNmE,EAAIU,EAAEZ,EAAIqZ,IACIlY,EACZpF,EAAK4E,EAAEF,EAAI4Y,KAAW,IAALlY,EAAY,EAAIA,EAAI,EAAI,IAAOA,GAAM,IACtDA,EAAIjB,EACJ7J,EAAE6K,EAAImY,GAAKtd,CAAA,WAGXy1C,GAAG5wC,EAAGD,EAAGtK,EAAG2gB,GAAA,IACfqC,EAAI1Y,EAAEiK,MACR1K,EAAIS,EAAEqW,EAAA,GACRhX,EAAE,MAAQY,GAAK,MAAQD,GACnB,EAAItK,GAAK,GAAK2gB,GAAK3gB,EAAI2gB,EAAI9W,EAAG,OAAO,SACpCU,EAAEilE,GAAI,IACL,MAAQjlE,EAAE+kE,GAAI,KAEZxkE,EAAA,GADJP,EAAE+kE,GAAK,IAAIpxB,IAEVpzC,EAAI,MAAQP,EAAE+kE,MACXxkE,EAAIR,EAAEiK,MAAQjK,EAAEqW,EAClBhX,EAAE,GAAKY,EAAEmlE,GAAGxvE,QACXqK,EAAEmlE,GAAK7kE,EAAEC,GACTP,EAAEolE,GAAK,EACR,MAAQplE,EAAEmlE,GACL5kE,EAAI,GACHP,EAAEujB,GAAKvjB,EAAEmlE,GAAMnlE,EAAEqlE,GAAKrlE,EAAEolE,GAAMplE,EAAEslE,GAAK,KAAQ/kE,EAAI,GACtDA,GAAKA,IACHA,EAAG,CACNA,EAAIP,EAAE+kE,GAAA,IACF5pE,EAAI6E,EAAEglE,GACRrlE,EAAIK,EAAE84B,EACNt5B,EAAIQ,EAAEklE,GACN3lE,EAAIS,EAAEujB,GACNzjB,EAAIE,EAAEqlE,GACN5lE,EAAIE,EAAI,EACRC,EAAIJ,EAAI,EACRH,EAAIkB,EAAEZ,EAAA,GACRP,EAAE,MAAQjE,GAAK,MAAQoE,GAAK,MAAQQ,GACpCg+D,GAAG,GAAK,KACRA,GAAG,GAAKlqB,GACRkqB,GAAG,GAAKhqB,GACRgqB,GAAG,GAAKtpB,GACRl0C,EAAE08D,GAAK19D,EACPgB,EAAEy9D,GAAKl+D,EACPS,EAAEjB,EAAIS,EAAEiK,MACRzJ,EAAE9K,EAAIsK,EAAE2P,OACRtQ,EAAE,EAAImB,EAAEjB,GAAK,EAAIiB,EAAE9K,GACf,GAAK+J,EAAGO,EAAI,OACX,GACDQ,EAAEuoE,GAAM3tE,EAAEwE,EAAI,IAAM,EAAK,EAC1BY,EAAE0gC,EAAK9lC,EAAEwE,EAAI,IAAM,EAAK,EACxBY,EAAEsoE,GAAM1tE,EAAEwE,EAAI,IAAM,EAAK,EACzBA,EAAKxE,EAAEwE,EAAI,IAAM,EAAK,EACvB,EAAIY,EAAEuoE,IAAM,EAAIvoE,EAAEuoE,IAAM,GAAKvoE,EAAE0gC,GAAK,EAAI1gC,EAAEsoE,IAAMlpE,EAEhDI,EAAI,OACD,GACDV,EAAEomE,IAAMt/C,GACT9mB,EAAEqmE,GAAK3jC,GACP1iC,EAAEsmE,GAAKxjC,GACP9iC,EAAEq7D,GAAKn6D,EACPlB,EAAE2K,MAAQjK,EAAEiK,MACZ3K,EAAEqQ,OAAS3P,EAAE2P,OACbrQ,EAAEo6D,GAAK15D,EAAE05D,GACTp6D,EAAEY,EAAIF,EAAEE,EACRZ,EAAE29D,GAAKj9D,EAAEi9D,GACT39D,EAAE0jB,EAAIhjB,EAAEgjB,EACR1jB,EAAE+W,EAAIrW,EAAEqW,EACT7V,EAAEuoE,GAEF9oE,EAAG,CACDZ,EAAE,GAAKmB,EAAEuoE,IAAM/oE,EAAIokC,KACnB/kC,EAAG,OAAS,IACN,MAAQW,EAAG,CACbA,EAAI,QACEC,CAAA,IAERZ,EAAE,MAAQmB,GACVA,EAAEyoE,GAAKjpE,EACPA,EAAET,EAAIiB,EAAEjB,EACRS,EAAEtK,EAAI8K,EAAE9K,EACRsK,EAAEJ,EAAIY,EAAEZ,EACRI,EAAEJ,EAAE+6D,GAAKn6D,EACTR,EAAEJ,EAAEqK,MAAQzJ,EAAEjB,EACdS,EAAEJ,EAAE+P,OAASnP,EAAE9K,EACfsK,EAAEO,EAAI,EACNL,EAAGF,EAAEH,EAAGzE,EAAGsE,EAAGG,IACTwkC,GAAG7jC,EAAEjB,EAAGiB,EAAE9K,EAAG,EAAGsK,EAAG,MAAO,MAAMX,EAAA,MAChCW,EAAEo8D,IAAM,GAAKp8D,EAAEu8D,GAAG,GAAGE,IAAMr5B,GAAGpjC,EAAE0Y,IAC/BlY,EAAEwoE,GAAK,EACR5tE,EAAI4E,EAAET,EAAIS,EAAEtK,EACZsK,EAAEq8D,GAAK,KACPr8D,EAAEs8D,GAAK,EACPt8D,EAAE4/B,EAAIr/B,EAAEnF,GACR4E,EAAEg9D,GAAK,EACR,MAAQh9D,EAAE4/B,GAAM5/B,EAAEO,EAAI,EAAKP,EAAI,GAAOA,EAAI,IACxCQ,EAAEwoE,GAAK,EAAKhpE,EAAIskC,GAAGtkC,EAAGQ,EAAEjB,KACzBS,EAAG,MAAMX,EACdW,EAAI,QACEC,CAAA,CAERO,EAAEyoE,GAAK,KACPjpE,EAAI,OAEHA,EAAIH,GAAKW,EAAEjB,EAAIiB,EAAE9K,EACtB8K,GAAKR,CAAA,IAEHQ,EAAG,OAAO,QACTP,EAAE+kE,GAAG8D,GAAM7oE,EAAEulE,GAAK,EAAMnvD,EAAI9W,EAAI7J,CAAA,CAEvC2J,EAAE,MAAQY,EAAE+kE,IACZ3lE,EAAE3J,EAAI2gB,GAAK9W,GACXU,EAAG,IAEDD,GADA5E,EAAI6E,EAAE+kE,IACAzlE,EACNA,EAAInE,EAAEwE,EAAEyW,EACJ,GAAKjb,EAAE2tE,GAAI,IACbrpE,EAAIO,EAAEslE,GACN1lE,EAAII,EAAEwlE,GACNnmE,EAAIW,EAAEglE,GACNrlE,EAAIK,EAAE84B,EAAI,EAAIrjC,EAAIsK,EAClBP,EAAIQ,EAAEujB,GACNhkB,EAAIS,EAAEqlE,GAAK5vE,EAAIsK,EACfX,EAAEO,GAAKK,EAAE84B,EAAI94B,EAAEklE,IACX,GAAK/pE,EAAE8lC,EACT,IAAK7hC,EAAE,MAAQ2+D,GAAG5iE,EAAE8lC,IAAK1gC,EAAI,EAAGA,EAAI6V,IAAK7V,EACvCw9D,GAAG5iE,EAAE8lC,GAAGxhC,EAAGG,EAAGP,EAAGM,EAAGH,EAAGD,EAAGQ,GACvBN,EAAID,EACJI,EAAIL,EACJA,GAAKQ,EACLJ,GAAKI,OAEV,IAAKQ,EAAI,EAAGA,EAAI6V,IAAK7V,EACnBV,EAAEL,EAAGD,EAAGF,EAAGM,EAAGI,GAAKN,EAAID,EAAKI,EAAIL,EAAKA,GAAKQ,EAAKJ,GAAKI,EACxDC,EAAEslE,GAAK7lE,EACPO,EAAEwlE,GAAK5lE,CAAA,KACF,IACLR,EAAE,MAAQjE,EAAE6tE,IACZjpE,EAAItK,EAAI2gB,EAERhX,EAAE,OADFmB,EAAIpF,EAAE6tE,KAEN5pE,EAAEW,GAAKQ,EAAE9K,GACL8K,EAAEo5B,GAAK55B,EAAGA,EAAI,OACb,GAAK5E,EAAE4tE,IAAM/zB,KAAM75C,EAAE4tE,GAAK,CACzB5tE,EAAIoF,EAAEo/B,EACRlgC,EAAIc,EAAEw8D,GACNn9D,EAAIW,EAAEjB,EAAA,IACNc,EAAIG,EAAE9K,EAMNyK,GALAb,EAAI,EACJM,EAAIY,EAAE4gC,EAAIvhC,EACVJ,EAAIe,EAAE4gC,EAAIvhC,EACVL,EAAIgB,EAAEX,EACNE,EAAIS,EAAEkY,EACFlY,EAAE4gC,GACNxI,EAAI/4B,EAAIQ,EACRw4B,EAAIh5B,EAAIG,EACRI,EAAIL,EAAEs+D,GACNxlE,EAAIsH,EAAI04B,EAAIgK,GAAG9iC,EAAGN,EAAGG,GAAK,KAC5BP,EAAEc,GAAKy4B,GACPv5B,EAAEW,GAAKK,GACPhB,EAAE+jC,GAAGrjC,IACLV,EAAG,OAAS,OACFG,EAAEpE,GAAK+E,EAAI04B,GAAK,IACtBp5B,EAAIW,IAAMvH,EAAIgqC,GAAG9iC,EAAGN,EAAGG,IACvBP,EAAE,MAAQxG,GACVigC,EAAGt5B,GAEC,KADJa,EAAIglB,GAAGxsB,EAAEgnC,EAAE,GAAIhnC,EAAE4mC,EAAE,GAAIjgC,IAEpBpE,EAAEsE,EAAIS,GAAKE,IACRF,IACAV,GACGI,IAAOJ,EAAI,IAAMG,GAAQI,KAAOJ,EAAI,KAAOskC,GAAG1jC,EAAGZ,QACrD,MAAI,IAAMS,GAiBR,CACLf,EAAI,QACED,CAAA,CAlBFgB,EAAIkiC,GAAGliC,EAAI,IAAKb,GAAA,IAMdu5B,EALFp5B,EAAI0lB,GAAGxsB,EAAEgnC,EAAE,GAAIhnC,EAAE4mC,EAAE,GAAIjgC,GAAA,GAC3Bs5B,EAAGt5B,KAGCW,IADJR,EAAI6iC,GAAG3iC,EADPF,EAAI4iC,GAAG5iC,EAAGH,MAEIo5B,EAAIz4B,GAAKE,GAGhB,CACLf,EAAI,QACED,CAAA,KAHD05B,EAAI,EAAGA,EAAI14B,IAAK04B,EAAG39B,EAAEsE,EAAIS,EAAI44B,GAAK39B,EAAEsE,EAAIS,EAAI44B,EAAIp5B,GAAA,IAKvDQ,GAAKE,EACAZ,GAAKY,EAAGZ,GAAKI,GACfJ,GAAKI,IAAMD,GAAQI,KAAOJ,EAAI,KAAOskC,GAAG1jC,EAAGZ,GAC9CO,EAAI04B,GAAKp5B,EAAIW,IAAMvH,EAAIgqC,GAAG9iC,EAAGN,EAAGG,GAAA,CAKlCP,EAAEG,EAAEpE,GAAKqF,EAAGjB,GAAA,CAEd0kC,GAAG1jC,EAAGZ,EAAII,EAAIA,EAAIJ,GAAA,MACZP,CAAA,EAEPC,GAAME,EAAEpE,GAAK+E,EAAIy4B,GAAOt5B,EAAI,EAAKkB,EAAED,EAAIf,EAAEpE,EAAI,EAAI,GAAOoF,EAAE4gC,EAAIjhC,EAC/DH,EAAIV,CAAA,MACCU,EAAIy+B,GAAGj+B,EAAGA,EAAEo/B,EAAGp/B,EAAEw8D,GAAIx8D,EAAEjB,EAAGiB,EAAE9K,EAAGsK,EAAGukC,IAAA,IACpCvkC,EAAG,CACNqW,EAAI,QACEpW,CAAA,EAGVvK,EAAI2gB,GAAK9W,IAAMU,EAAEilE,GAAK,GACtB7uD,EAAI,MAEDA,EAAG,OAAO,QAEbpW,EAAEilE,KACW,OAAX7uD,EAAIpW,EAAE+kE,MAAmB3uD,EAAE4yD,GAAK,MAAQhpE,EAAE+kE,GAAK,KAAO,EAAI/kE,EAAEulE,IAE9D,OAAO11B,MAAM,6BAA8B,YAExC7vC,EAAEqlE,GAAK5vE,EAAIgjB,CAAA,UAEXy0B,GAAGltC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,GAAA,KAClB,EAAI7K,KAAO,KAKd2gB,EAJEqC,EAAIzY,EACNV,EAAIF,GAAKW,EAAI,EAAI,GACjBQ,EAAIP,EACJ7E,EAAIiE,GAAKW,EAAI,EAAI,OAEdqW,EAAI,EAAGA,EAAIvW,IAAKuW,EAAG,KAClBzW,EAAIY,EAAEpF,EAAI,EAAIib,GAAA,KACXzW,IACHA,GAAK,MACN8Y,EAAEnZ,EAAI,EAAI8W,EAAI,GAAMqC,EAAEnZ,EAAI,EAAI8W,EAAI,GAAKzW,GAAM,GAC7C8Y,EAAEnZ,EAAI,EAAI8W,EAAI,GAAMqC,EAAEnZ,EAAI,EAAI8W,EAAI,GAAKzW,GAAM,GAC7C8Y,EAAEnZ,EAAI,EAAI8W,EAAI,GAAMqC,EAAEnZ,EAAI,EAAI8W,EAAI,GAAKzW,GAAM,IAElDP,GAAKkB,CAAA,WAGAq0C,GAAG30C,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,KACf,EAAIoK,KAAO,KACZS,EAAA,IACCA,EAAI,EAAGA,EAAIP,IAAKO,EAAG,KAClB8V,EAAIpW,EAAEZ,EAAI,EAAIkB,EAAI,GAEpBmY,EAAQ,IADRlY,EAAIP,EAAEZ,EAAI,EAAIkB,EAAI,IAElBhB,EAAI,KAAOmZ,EACXlY,GAAW,IAAJA,EAAYA,GAAK,GAAMjB,GAAM,GACtCU,EAAEZ,EAAI,EAAIkB,EAAI,IACH,IAAJ8V,EAAYA,GAAK,GAAM9W,GAAM,GAAM,KAC9B,GAAJ8W,EAAWA,GAAK,GAAM9W,GAAM,IAAO,EAAK,GAChDU,EAAEZ,EAAI,EAAIkB,EAAI,GAAU,IAAJC,EAAWkY,CAAA,CAEjCrZ,GAAK3J,CAAA,WAGAw3C,GAAGjtC,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAG6K,EAAG8V,EAAGqC,GAAA,IAE7BnZ,EACAiB,EAFEpF,EAAI,QAGHoF,EAAI,EAAGA,EAAI9K,IAAK8K,EAAG,KACjBjB,EAAI,EAAGA,EAAIO,IAAKP,EAAG,KAClBK,EAAIK,EAAEZ,EAAIE,GACdgB,EAAE8V,EAAI,EAAI9W,GAAKK,EACfxE,GAAKwE,CAAA,CAEPP,GAAKW,EACLqW,GAAKqC,CAAA,QAEA,KAAOtd,CAAA,UAEP25C,GAAG90C,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IAClB6K,EAAA,IACCA,EAAI,EAAGA,EAAI7K,IAAK6K,EAAGP,EAAEF,EAAIS,GAAKN,EAAEZ,EAAIkB,IAAM,WAExC00C,KACPylB,GAAKvtB,GACLuwB,GAAK9oB,GACL6lB,GAAKvtB,GACLsyB,GAAKzqB,EAAA,UAEEI,GAAGn1C,EAAGF,EAAGpK,GAChBuK,EAAKD,GAAK,SAASC,EAAGD,EAAGO,EAAG8V,EAAGqC,EAAGnZ,EAAGiB,EAAGpF,EAAGwE,EAAGH,EAAGD,EAAGO,EAAGL,EAAGG,EAAGK,EAAGZ,EAAGe,GAAA,IAC7DF,EACFy4B,EAAKv4B,EAAI,GAAM,EACbw4B,EAAIngB,EAAEnZ,EAAI,GAAMiB,EAAEpF,EAAI,IAAM,GAC5BqF,EAAIb,EAAEH,EAAI,GAAMD,EAAEO,EAAI,IAAM,GAChCV,EAAE,MAAQY,GAAA,IACNG,EAAK,EAAIy4B,EAAIp4B,EAAI,QAAW,MAChCX,EAAEG,EAAED,EAAI,GAAQ,IAAJI,EAASA,GAAK,GAAIV,EAAGG,GAAA,MACzBU,IACJH,EAAK,EAAIK,EAAIo4B,EAAI,QAAW,EAC9B/4B,EAAES,EAAE8V,EAAI,GAAQ,IAAJjW,EAASA,GAAK,GAAIF,EAAGZ,IAC9Ba,EAAI,EAAGA,GAAKy4B,IAAKz4B,EAAG,KACnB24B,EAAIpgB,EAAEnZ,EAAIY,GAAMK,EAAEpF,EAAI+E,IAAM,GAC5BtH,EAAI+G,EAAEH,EAAIU,GAAMX,EAAEO,EAAII,IAAM,GAC5B44B,EAAIF,EAAIC,EAAIr4B,EAAI5H,EAAI,OACpB8G,EAAKo5B,EAAI,GAAKD,EAAIr4B,IAAO,EAE7BL,EAAKT,EAAIk5B,GAAM,EACfA,GAFAE,EAAKA,EAAI,GAAKF,EAAIhgC,IAAO,GAEhBigC,GAAM,EACfh5B,EAAEG,EAAED,EAAI,EAAIG,EAAI,GAAQ,IAAJC,EAASA,GAAK,GAAIV,EAAGG,GAAK,EAAIM,EAAI,GAAKzK,GAC3DoK,EAAEG,EAAED,EAAI,EAAIG,EAAI,GAAQ,IAAJ04B,EAASA,GAAK,GAAIn5B,EAAGG,GAAK,EAAIM,EAAI,GAAKzK,GAAA,MACnD6K,IACJH,EAAK24B,EAAIt4B,GAAM,EAChBo4B,EAAKl5B,EAAI9G,GAAM,EAChBiH,EAAES,EAAE8V,EAAI,EAAIlW,EAAI,GAAQ,IAAJC,EAASA,GAAK,GAAIF,EAAGZ,GAAK,EAAIa,EAAI,GAAKzK,GAC3DoK,EAAES,EAAE8V,EAAI,EAAIlW,EAAI,GAAQ,IAAJ04B,EAASA,GAAK,GAAI34B,EAAGZ,GAAK,EAAIa,EAAI,GAAKzK,IAC7DmjC,EAAIC,EACJr4B,EAAI5H,CAAA,CAEF,EAAJwH,IACID,EAAK,EAAIy4B,EAAIp4B,EAAI,QAAW,EAC9BX,EAAEG,EAAED,EAAIK,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIV,EAAGG,GAAKQ,EAAI,GAAK3K,GACnD,MAAQ6K,IACJH,EAAK,EAAIK,EAAIo4B,EAAI,QAAW,EAC9B/4B,EAAES,EAAE8V,EAAIhW,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIF,EAAGZ,GAAKe,EAAI,GAAK3K,IAAA,WAGlDy8C,KACP4nB,GAAEqD,IAAM8L,GACRnP,GAAEa,IAAM5vC,GACR+uC,GAAEwD,IAAM4L,GACRpP,GAAEc,IAAMuO,GACRrP,GAAEQ,IAAM8O,GACRtP,GAAEe,IAAMwO,GACRvP,GAAE4D,IAAM4L,GACRxP,GAAE/B,IAAMhtC,GACR+uC,GAAE9B,IAAMmR,GACRrP,GAAE7B,IAAMmR,GACRtP,GAAE5B,IAAMmR,EAAA,UAEDl3B,GAAGnyC,GAAA,OACHA,GAAKupE,GAAM,EAAIvpE,EAAI,EAAI,IAAOA,GAAKwpE,EAAA,UAEnCl0B,GAAGt1C,EAAGZ,GAAA,OACN+yC,IAAK,MAAQnyC,GAAM,IAAO,MAAQZ,GAAM,GAAK,gBAE7Co2C,GAAGx1C,EAAGZ,EAAGW,GAAA,OACToyC,IACH,MAAQnyC,GAAM,IAAO,KAAOZ,GAAM,IAAO,MAAQW,GAAM,GAAK,eAGzDotC,GAAGntC,EAAGZ,GAAA,OACN+yC,IAAK,MAAQnyC,GAAM,IAAO,MAAQZ,GAAM,GAAK,gBAE7Cy2C,GAAG71C,EAAGZ,EAAGW,EAAGF,EAAGpK,GACtBoK,EAAEpK,EAAI,GAAK6/C,GAAGt1C,EAAGD,GACjBF,EAAEpK,EAAI,GAAK+/C,GAAGx1C,EAAGZ,EAAGW,GACpBF,EAAEpK,EAAI,GAAK03C,GAAGntC,EAAGZ,EAAA,UAEVmzC,GAAGvyC,EAAGZ,EAAGW,EAAGF,EAAGpK,GACtBoK,EAAEpK,EAAI,GAAK03C,GAAGntC,EAAGZ,GACjBS,EAAEpK,EAAI,GAAK+/C,GAAGx1C,EAAGZ,EAAGW,GACpBF,EAAEpK,EAAI,GAAK6/C,GAAGt1C,EAAGD,EAAA,UAEV+1C,GAAG91C,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IAClB6K,EAAIk1C,GAAGx1C,EAAGZ,EAAGW,GACjBX,EAAMkB,GAAK,EAAK,IAAQ6sC,GAAGntC,EAAGZ,IAAM,EACpCS,EAAEpK,EAAI,GAAiB,IAAX6/C,GAAGt1C,EAAGD,GAAaO,GAAK,EACpCT,EAAEpK,EAAI,GAAK2J,CAAA,UAEJqyC,GAAGzxC,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,IAClB6K,EAAgB,IAAX6sC,GAAGntC,EAAGZ,GAAY,GAC3BS,EAAEpK,EAAI,GAAiB,IAAX6/C,GAAGt1C,EAAGD,GAAay1C,GAAGx1C,EAAGZ,EAAGW,IAAM,EAC9CF,EAAEpK,EAAI,GAAK6K,CAAA,UAEJy1C,GAAG/1C,EAAGZ,EAAGW,EAAGF,EAAGpK,GACtBoK,EAAEpK,EAAI,GAAK,IACXogD,GAAG71C,EAAGZ,EAAGW,EAAGF,EAAGpK,EAAI,YAEZ23C,GAAGptC,EAAGZ,EAAGW,EAAGF,EAAGpK,GACtB88C,GAAGvyC,EAAGZ,EAAGW,EAAGF,EAAGpK,GACfoK,EAAEpK,EAAI,GAAK,aAEJ43C,GAAGrtC,EAAGZ,EAAGW,EAAGF,EAAGpK,GACtBogD,GAAG71C,EAAGZ,EAAGW,EAAGF,EAAGpK,GACfoK,EAAEpK,EAAI,GAAK,aAEJ8oC,GAAGv+B,EAAGZ,GAAA,OACN,EAAIY,EAAI,EAAIA,EAAIZ,EAAIA,EAAIY,CAAA,UAExB82C,GAAG13C,EAAGW,EAAGF,GAChBG,EAAKZ,GAAK,SAASY,EAAGZ,EAAG3J,EAAG6K,EAAG8V,EAAGqC,EAAGnZ,EAAGiB,EAAGpF,GAAA,IACpC,IAAIwE,EAAIY,IAAU,EAALpF,GAAU0E,EAAGU,GAAKZ,GAClCI,EAAEC,EAAEZ,EAAI,GAAI3J,EAAE6K,EAAI,GAAI8V,EAAEqC,EAAI,GAAInZ,EAAGiB,GACjCR,EAAEC,EAAEZ,EAAI,GAAI3J,EAAE6K,EAAI,GAAI8V,EAAEqC,EAAI,GAAInZ,EAAGiB,EAAIV,GACtCT,GAAK,IACJkB,IACAmY,EACDlY,GAAK,EAAIV,EACV,EAAJ1E,GAAS4E,EAAEC,EAAEZ,EAAI,GAAI3J,EAAE6K,EAAI,GAAI8V,EAAEqC,EAAI,GAAInZ,EAAGiB,EAAA,WAGvC8lC,GAAGrmC,EAAGZ,EAAGW,GAAA,OACT,GAAKA,EAAK,GAAKC,EAAK,GAAKZ,EAAI,EAAI,EAAK,GAAKA,EAAI,EAAI,EAAKW,CAAA,UAExDwmC,GAAGvmC,EAAGZ,EAAGW,EAAGF,EAAGpK,GAAA,OACduK,IAAM,SACP,EACH/E,GAAGmE,EAAGW,EAAGF,EAAGpK,EAAG,cAEZ,EACHwxE,GAAG7nE,EAAGW,EAAGF,EAAGpK,GAAA,WAET,EACHsxE,GAAG3nE,EAAGW,EAAGF,EAAGpK,GAAA,UAGTyhD,GAAGl3C,EAAGZ,GAAA,IACTW,EACFO,EACA8V,EAAIhX,EAAEm7B,EACN9hB,EAAIrZ,EAAE8iE,GACN5iE,EAAIU,EAAEkkE,GACN3jE,EAAIP,EAAEmkE,GAAK,GACXhpE,EAAI6E,EAAEkkE,GACNvkE,EAAIK,EAAEmkE,GAAK,IACX3kE,EAAIQ,EAAEkkE,GACN3kE,EAAIS,EAAEmkE,GAAK,QACRpkE,EAAI,EAAG,GAAKA,IAAKA,EAAGT,EAAEiB,EAAI,GAAKR,EAAI,GAAK,QACxCA,EAAI,EAAG,EAAIA,IAAKA,EAClB5E,EAAEwE,EAAI,GAAKI,EAAI,GAAK,IAAOP,EAAED,EAAI,GAAKQ,EAAI,GAAK,UAC9CqW,EACC9W,EAAEiB,EAAI,EAAI,IAAMpF,EAAEwE,EAAI,EAAI,IAAMH,EAAED,EAAI,EAAI,IAAM,KAChD9J,EAAE6J,EAAGiB,EAAI,GAAK,EAAG,IAAK,IACvB9K,EAAE0F,EAAGwE,EAAI,GAAK,EAAG,IAAK,GACtBlK,EAAE+J,EAAGD,EAAI,GAAK,EAAG,IAAK,IACrBe,EAAI,EAAGA,EAAIN,EAAEqjE,KAAM/iE,EAAG,KACrBR,EAAIV,EAAEgjE,GAAGhjE,EAAEijE,GAAK/hE,GAAA,GAChB,EAAIA,EAAG,KACJP,GAAK,EAAG,GAAKA,IAAKA,EAAGF,EAAEP,EAAGiB,EAAI,GAAKR,EAAI,EAAGT,EAAGiB,EAAI,GAAKR,EAAI,GAAI,OAC9DA,GAAK,EAAG,EAAIA,IAAKA,EACpBF,EAAE1E,EAAGwE,EAAI,GAAKI,EAAI,EAAG5E,EAAGwE,EAAI,GAAKI,EAAI,EAAG,GACtCF,EAAEL,EAAGD,EAAI,GAAKQ,EAAI,EAAGP,EAAGD,EAAI,GAAKQ,EAAI,EAAG,OAE1CN,EAAIO,EAAE8jE,GACRlkE,EAAII,EAAE+jE,GAAKzjE,EACXL,EAAIH,EAAE2hE,GACNpiE,EAAIS,EAAEiiE,GAAA,KACJ3rD,IACDvW,EAAEP,EAAGiB,EAAI,GAAId,EAAEG,GAAGQ,EAAG,EAAG,IACzBP,EAAE1E,EAAGwE,EAAI,GAAIF,EAAEG,GAAGJ,EAAG,EAAG,GACxBK,EAAEL,EAAGD,EAAI,GAAIE,EAAEG,GAAGw4D,GAAI,EAAG,IACvBt4D,EAAE4hE,GAAI,KACJthE,EAAId,EACJY,EAAIK,EAAI,GAAK,SACb6V,IACD9V,GAAKN,EAAEqjE,GAAK,EACT5tE,EAAE2K,EAAGF,EAAGT,EAAEG,GAAGQ,EAAE,IAAK,GACpBP,EAAEO,EAAGF,EAAGT,EAAEG,EAAI,GAAGQ,EAAG,EAAG,IACxBL,EAAI,EAAG,EAAIA,EAAGA,IACjBK,EAAEF,EAAI,IAAMH,GAAKK,EAAEF,EAAI,IAAMH,GAAKK,EAAEF,EAAI,IAAMH,GAAKK,EAAEF,EAAI,EAAIH,GAAA,IAC1DA,EAAI,EAAG,GAAKA,IAAKA,EAAGV,IAAM,EAC5Be,EAAId,EAAKY,EAAIK,EAAIkpE,GAAG1pE,GAAK8nE,GAAE/nE,EAAE6hE,GAAG5hE,IAAIK,EAAGF,GAAIqmC,GAAGlnC,EAAGY,EAAG,IAAMF,EAAGK,EAAGF,EAAA,MAC9D,GAAME,EAAIimC,GAAG/lC,EAAG8V,EAAGtW,EAAE6hE,GAAG,IAAMl5C,GAAEroB,GAAGd,EAAGiB,GAAI,GAAKlB,EACpD,IAAKU,EAAI,EAAG,GAAKA,IAAKA,EAAGV,IAAM,EAAGknC,GAAGlnC,EAAGY,EAAG,IAAMF,EAAGT,EAAGiB,EAAIkpE,GAAG1pE,IAAA,IAChEA,EAAID,EAAEgiE,GACN1hE,EAAIimC,GAAG/lC,EAAG8V,EAAGtW,EAAEkiE,IACfiG,GAAG7nE,GAAGjF,EAAGwE,GACTsoE,GAAG7nE,GAAGZ,EAAGD,GAETF,EAAIY,EACJG,EAAIjF,EACJ+E,EAAIP,EACA,KAJJG,EAAIC,GAAK,KAIO,IAAJD,EAAUgnE,GAAGznE,EAAG,IAAKe,EAAGF,GAAK8mE,GAAG3nE,EAAG,IAAKe,EAAGF,IAEvDJ,EAAIN,EACJH,EAAIE,EACA,KAHJQ,IAAM,KAGU,IAAJA,EAAU+mE,GAAG7mE,EAAG,IAAKH,EAAGT,GAAK2nE,GAAG/mE,EAAG,IAAKH,EAAGT,IACvD+W,EAAIpW,EAAEojE,GAAK,IACRvjE,EAAEJ,EAAEG,GAAGQ,EAAG,EAAGd,EAAGiB,EAAI,IAAK,IAC1BV,EAAEJ,EAAEG,GAAGJ,EAAG,EAAGrE,EAAGwE,EAAI,IAAK,GACzBE,EAAEJ,EAAEG,GAAGw4D,GAAI,EAAG54D,EAAGD,EAAI,IAAK,IAC5BQ,EAAI,EAAI0Y,EAAIzY,EAAEq6B,EACd56B,EAAIO,EAAEokE,GACNxkE,EAAII,EAAEqkE,GAAK,GAAK/jE,EAAI,GAAKmY,EAAIzY,EAAEm/B,EAC/Bl/B,EAAID,EAAEskE,GACNxkE,EAAIE,EAAEukE,GAAK,EAAIjkE,EAAIP,EACnBV,EAAIW,EAAEwkE,GACNpkE,EAAIJ,EAAEykE,GAAK,EAAInkE,EAAIP,EACdA,EAAI,EAAG,GAAKA,IAAKA,EAAGF,EAAEJ,EAAGG,EAAIG,EAAIC,EAAEm/B,EAAG7/B,EAAGiB,EAAI,GAAKR,EAAG,QACrDA,EAAI,EAAG,EAAIA,IAAKA,EACnBF,EAAEI,EAAGH,EAAIC,EAAIC,EAAEq6B,EAAGl/B,EAAGwE,EAAI,GAAKI,EAAG,GAC/BF,EAAER,EAAGe,EAAIL,EAAIC,EAAEq6B,EAAG76B,EAAGD,EAAI,GAAKQ,EAAG,aAGhConC,GAAGnnC,EAAGH,EAAGpK,EAAG6K,EAAG8V,EAAGqC,EAAGnZ,EAAGiB,EAAGpF,GAAA,IAC9BwE,EAAI,CAAC,GACPH,EAAI,CAAC,GACLD,EAAI,EACJO,EAAI,MAAQ3E,EAAIA,EAAEotE,GAAK,EACvB9oE,EAAI,MAAQtE,EAAIA,EAAI,IAAIo4C,GAAA,GACtB,MAAQvzC,GAAK,GAAKvK,EAAG,OAAO,EAChCgK,EAAE2H,KAAOpH,EACTP,EAAES,EAAIL,EACNJ,EAAEmmE,GAAKnwE,EACPoK,EAAI,CAACA,GACLpK,EAAI,CAACA,GACLgK,EAAEipE,GAAK,CAACjpE,EAAEipE,IACV1oE,EAAG,KACGJ,EAAIC,EACJR,EAAI5J,EACJ2K,EAAIX,EAAEipE,GAAA,GACVtpE,EAAE,MAAQY,GACVZ,EAAE,MAAQC,GACVD,EAAE,MAAQgB,GACVA,EAAE,GAAK,EACH,IAAMf,EAAE,KAAOU,EAAGC,EAAGJ,EAAE,GAAI,QAAS,IAClCG,EAAGC,EAAGJ,EAAE,GAAK,EAAG,QAAS,CAC3BQ,EAAI,QACEJ,CAAA,KAEJE,EAAI6iB,EAAG/iB,EAAGJ,EAAE,GAAK,MACjB,GAAKM,GAAK,WAAaA,EAAG,CAC5BE,EAAI,QACEJ,CAAA,IAEJF,GAAKI,EAAIb,EAAE,GAAK,EAAG,CACrBe,EAAI,QACEJ,CAAA,CAERI,EAAE,GAAKF,EACPN,EAAE,IAAM,GACRP,EAAE,IAAM,GAEVe,EAAI,KAEF,GAAKA,EAAG,OAAOA,EAAA,IACnBF,EAAI,EAAIT,EAAEipE,GAAG,GACRjzE,EAAIA,EAAE,KAAQ,CAGjBuK,EAAG,KACG44B,EAAI54B,EACRX,EAAIQ,EACJO,EAAI3K,EAAA,IAEF+K,EAAIb,EACJQ,EAAIX,EACJq5B,EATJj5B,EAAI,CAAC,OAMCF,EALNH,EAAI,CAACA,IASD,GAAK,EACH,EAAIa,EAAE,GAAIA,EAAI,MACb,KACEL,EAAG64B,EAAGv5B,EAAE,GAAI,QAAS,IACpB,IAAM0jB,EAAG6V,EAAGv5B,EAAE,GAAK,GAAI,CACzBe,EAAI,QACEJ,CAAA,IAEJ,GAAKI,EAAE,GAAI,CACbA,EAAI,QACEJ,CAAA,KAEJpH,EAAImqB,EAAG6V,EAAGv5B,EAAE,GAAK,GACjBy5B,EAAI,EAAIa,EAAGf,EAAGv5B,EAAE,GAAK,OAErB,YAAcy5B,GADlBF,EAAI,EAAIe,EAAGf,EAAGv5B,EAAE,GAAK,KACI,CACvBe,EAAI,QACEJ,CAAA,OAEA64B,IAAMA,EAAE,GAAKjgC,GAAA,MACb4H,IAAMA,EAAE,GAAKs4B,GAAA,MACb34B,IAAMA,EAAE,GAAKy4B,GACrBv5B,EAAE,IAAM,GACRe,EAAE,IAAM,GACRV,EAAE,GAAK,EAETU,EAAI,MAGRb,EAAIA,EAAE,GACNK,EAAIA,EAAE,GACF,GAAKQ,EAAG,OAAOA,EAAA,GACnBf,KAAW,EAAJO,IACFM,GAAKX,EAAG,OAAO,WACZkZ,IAAMA,EAAE,MAAY,GAAJ7Y,IAAA,MAChBN,IAAMA,EAAE,GAAKD,GAAA,MACbkB,IAAMA,EAAE,GAAK,GACrBjB,EAAIK,EAAE,GACNC,EAAIJ,EAAE,GACFD,GAAKF,GAAK,MAAQlE,EAAG,CACvBiF,EAAI,WAGF,EAAI3K,EAAG,CACT2K,EAAI,WAGDF,GAAKX,IAAQW,IAAMX,IAAMQ,EAAGC,EAAGH,EAAE,GAAI,QAAU,CAClDpK,EAAI,CAACA,GACLgK,EAAE+oE,GAAK,CAAC/oE,EAAE+oE,IACV/oE,EAAEq5B,EAAI,CAACr5B,EAAEq5B,GACTr5B,EAAEmpE,GAAK,CAACnpE,EAAEmpE,IACV5oE,EAAG,CACDpH,EAAIoH,EACJI,EAAIP,EACJK,EAAIzK,EAAA,IACAiK,EAAID,EAAEipE,GACRloE,EAAIf,EAAE+oE,GACNroE,EAAIV,EAAEq5B,EACND,EAAIp5B,EAAEmpE,GACR9vC,EAAI,GACJ15B,EAAE,MAAQxG,GACVwG,EAAE,MAAQc,GACV04B,EAAIx4B,EAAE,OACF84B,EAAIh5B,EAAE,OACVd,EAAE,MAAQoB,GACVpB,EAAE,MAAQy5B,GACVr4B,EAAE,GAAK,KACPL,EAAE,GAAK,KACF04B,EAAE,GAAK,IAAO,IACjBz4B,EAAE,GAAKw4B,EACP14B,EAAE,GAAKg5B,EACH,EAAIA,EAAG,CACT94B,EAAI,QACEJ,CAAA,KAEJ05B,EAAI3W,EAAGnqB,EAAGggC,EAAI,MACd,WAAac,EAAG,CAClBt5B,EAAI,QACEJ,CAAA,KAEJo5B,EAAK,EAAIM,EAAI,GAAM,KACvBZ,GAAKM,EACD,EAAI15B,GAAKo5B,EAAIp5B,EAAG,CAClBU,EAAI,QACEJ,CAAA,KAEHD,EAAGnH,EAAGggC,EAAG,UAAY74B,EAAGnH,EAAGggC,EAAG,QAAS,CAC1Cx4B,EAAI,QACEJ,CAAA,IAEJk5B,EAAE,GAAKE,EAAG,CACZh5B,EAAI,QACEJ,CAAA,CAERD,EAAGnH,EAAGggC,EAAG,UAAap4B,EAAE,GAAK5H,EAAKuH,EAAE,GAAKy4B,EAAI,EAAKC,EAAE,GAAKa,GACzDd,GAAKQ,EACLF,GAAKE,CAAA,KAGT3jC,EAAIA,EAAE,GACNgK,EAAE+oE,GAAK/oE,EAAE+oE,GAAG,GACZ/oE,EAAEq5B,EAAIr5B,EAAEq5B,EAAE,GACVr5B,EAAEmpE,GAAKnpE,EAAEmpE,GAAG,GACR,GAAKxoE,EAAG,MAEd3K,EAAI,CAACA,GACLgK,EAAEkpE,GAAK,CAAClpE,EAAEkpE,IACVlpE,EAAEgpE,GAAK,CAAChpE,EAAEgpE,IACVzoE,EAAG,GACCN,EAAIM,EACLI,EAAIP,EACJK,EAAIzK,EACJ+K,EAAIf,EAAEipE,GAAG,GACTvoE,EAAIV,EAAEkpE,GACN9vC,EAAIp5B,EAAEgpE,GACN7vE,EAAIwH,EAAE,GACNw4B,GAAK74B,EAAGL,EAAG9G,EAAG,QACdkgC,GAAK/4B,EAAGL,EAAG9G,EAAG,QACfwG,EAAE,MAAQM,GACVN,EAAE,MAAQc,GACVd,EAAE,MAAQe,GACVf,EAAE,MAAQy5B,GACV,EAAI34B,EAAE,GAENE,EAAI,MACD,IACCw4B,GAAKE,EAAG,IACVp5B,EAAIqjB,EAAGrjB,EAAG9G,EAAI,GACV,IAAM4H,GAAKd,EAAIc,EAAI,GAAI,CACzBJ,EAAI,QACEJ,CAAA,IAEJF,GAAKJ,EAAIQ,EAAE,GAAK,EAAG,CACrBE,EAAI,QACEJ,CAAA,CAERG,EAAE,GAAKT,EACPU,EAAE,IAAM,EACRF,EAAE,IAAM,EACR24B,EAAE,GAAKC,CAAA,MAEND,EAAE,GAAK,GAAK34B,EAAE,IAAM,IAAMR,EAAE9G,EAAI,MAAQ8G,EAAE9G,EAAI,IAAM,GAClDuH,EAAE,GAAKD,EAAE,GACdE,EAAI,KAEN3K,EAAIA,EAAE,GACNgK,EAAEkpE,GAAKlpE,EAAEkpE,GAAG,GACZlpE,EAAEgpE,GAAKhpE,EAAEgpE,GAAG,GACZ5oE,EAAIA,EAAE,GACF,GAAKO,EAAG,SACR,WAAaX,EAAEkpE,GAAI,OAAO,WACtBpoE,GAAKlB,IAAMkB,EAAE,GAAKd,EAAEgpE,GAAK,EAAI,GACrCnpE,EAAI,CAACA,GACLM,EAAI,CAACA,GACDH,EAAEgpE,GAAI,IACJ,EAAIhzE,EAAG,CACT2K,EAAI,QAGNG,EAAIjB,EACJQ,EAAIF,EACJP,EAAIoZ,EAAA,MACIzY,GAAK,EAAIvK,EACZuK,EAAI,EACL,GAAKvK,GAAK,IAAMuK,EAAEH,EAAI,MAAQG,EAAEH,EAAI,IAAM,IACxCK,EAAI,CAAC,GACNR,EAAI,CAAC,GACLc,EAAI,CAAC,GAENP,EADCE,EAAI,IAAIw4B,EACH34B,EAAGH,EAAGpK,GACZ4sC,GAAGliC,EAAGD,EAAGR,EAAGc,IACP,MAAQD,IAAMA,EAAE,GAAKL,EAAE,IACxB,MAAQJ,IAAMA,EAAE,GAAKJ,EAAE,IACvB,MAAQL,IAAMA,EAAE,GAAKmB,EAAE,IACtBR,EAAI,GACJA,EAAI,GACRA,EAAI,MACJ,IACD,GAAKvK,EAAG,CACV2K,EAAI,QAGNG,EAAIX,EAAA,MACII,GAAK,GAAKvK,IAAM8xC,GAAGvnC,EAAGH,EAAI,EAAGpK,EAAI,GACpCuK,EAAI,GACHF,EAAIE,EAAEH,EAAI,GAAMG,EAAEH,EAAI,IAAM,EAAMG,EAAEH,EAAI,IAAM,GAC/CR,EAAmC,OAA7BW,EAAEH,EAAI,IAAM,EAAKG,EAAEH,EAAI,IAC7BG,EAAmC,OAA7BA,EAAEH,EAAI,IAAM,EAAKG,EAAEH,EAAI,IAC1B,EAAJC,GACA,GAAMA,GAAK,EAAK,MACbA,GAAK,EAAK,IACbA,GAAK,GAAKL,EAAEkpE,KACXtpE,IACAW,EACIA,EAAI,GACJV,IAAMA,EAAE,GAAKD,GAAIkB,IAAMA,EAAE,GAAKP,GAAKA,EAAI,QAE7CA,EAAG,OAAO,KACfV,EAAIA,EAAE,GACNM,EAAIA,EAAE,GACFL,IAAMI,EAAE,IAAML,GAAKE,EAAE,IAAMI,GAAI,OAAO,QAClCzE,IACJA,EAAE,GAAKsE,EACRtE,EAAE2vC,OAASjrC,EAAI1E,EAAE+E,EAClBd,EAAE,WAAaS,EAAI1E,EAAE+E,GACrBd,EAAEjE,EAAE2vC,QAAU3vC,EAAEyqE,GAAKnwE,IAAA,aAGlB,GAAK2K,GAAM,GAAKA,GAAKb,GAAK,MAAQpE,GACpC,MAAQsd,IAAMA,EAAE,IAAM,MAAQhZ,EAAE+oE,IAAM,EAAI/oE,EAAE+oE,GAAG7yE,QAChD,MAAQ2K,IAAMA,EAAE,GAAKhB,GACrB,MAAQ8W,IAAMA,EAAE,GAAKxW,GACrB,GACAQ,CAAA,UAEGu3C,GAAG33C,EAAGZ,EAAGW,GAAA,IACZF,EAAIT,EAAE4K,MACRvU,EAAI2J,EAAEsQ,OACNpP,EAAI,EACJ8V,EAAI,EACJqC,EAAI5Y,EACJP,EAAI7J,EAAA,GACN2J,EAAEq6D,GAAK,MAAQz5D,GAAK,EAAIA,EAAEy5D,GAExBr6D,EAAEq6D,KACAhhD,EAAIzY,EAAEsjB,GACPhkB,EAAIU,EAAEw5D,GACNl5D,EAAIN,EAAEC,EACNmW,EAAIpW,EAAE+iB,EACP,GAAKhjB,IAAOO,IAAM,EAAK8V,IAAM,GAC7B,EAAI9V,GAAK,EAAI8V,GAAK,GAAKqC,GAAK,GAAKnZ,GAAKgB,EAAImY,EAAI5Y,GAAKuW,EAAI9W,EAAI7J,GAE3D,OAAO,KACT2J,EAAEa,EAAIK,EACNlB,EAAE2jB,EAAI3M,EACNhX,EAAE49D,GAAK18D,EAAImY,EACXrZ,EAAEgX,EAAIA,EAAI9W,EACVF,EAAEq6B,EAAIhhB,EACNrZ,EAAEigC,EAAI//B,EACNF,EAAEm6D,GAAK,MAAQv5D,GAAK,EAAIA,EAAEu5D,GACtBn6D,EAAEm6D,GAAI,KAGH1+B,EAAGpiB,EAAGnZ,EAFXS,EAAI,CAACC,EAAEs5D,IACPh5D,EAAI,CAACN,EAAEq5D,KACc,OAAO,EAC5Bj6D,EAAEk6D,GAAKv5D,EAAE,GACTX,EAAEi6D,GAAK/4D,EAAE,UAEXlB,EAAEu6D,GAAK,MAAQ35D,GAAKA,EAAE25D,GACtBv6D,EAAEm7D,GAAK,MAAQv6D,IAAMA,EAAE05D,GACvBt6D,EAAEm6D,KAAQn6D,EAAEu6D,GAAKv6D,EAAEk6D,GAAM,EAAIz5D,EAAK,GAAKT,EAAEi6D,GAAM,EAAI5jE,EAAK,EAAK2J,EAAEm7D,GAAK,GAC7D,WAEA/iB,GAAGx3C,GAAA,GACN,MAAQA,EAAG,OAAO,KAClB,GAAKA,EAAE64B,EAAG,KACRz5B,EAAIY,EAAER,EAAEs5D,KACZ15D,EAAE+4D,KAAOn4D,EAAE0P,OAAS,GAAKtQ,EAAEoB,EAC3BpB,EAAEoB,GAAKpB,EAAEoB,CAAA,MAERpB,EAAIY,EAAER,EAAEu5D,GACN/4D,EAAIA,EAAE0P,OACNtQ,EAAEg6B,IAAMp5B,EAAI,GAAKZ,EAAEw5D,GACnBx5D,EAAEw5D,IAAMx5D,EAAEw5D,GACVx5D,EAAEu5B,IAAO34B,EAAI,GAAM,GAAKZ,EAAEu5D,GAC1Bv5D,EAAEu5D,IAAMv5D,EAAEu5D,GACVv5D,EAAEsgC,IAAO1/B,EAAI,GAAM,GAAKZ,EAAEs5D,GAC1Bt5D,EAAEs5D,IAAMt5D,EAAEs5D,GACX,MAAQt5D,EAAEs6B,IAAOt6B,EAAE8gC,IAAMlgC,EAAI,GAAKZ,EAAEq5D,GAAMr5D,EAAEq5D,IAAMr5D,EAAEq5D,IAAA,OACjD,WAEArhB,GAAGp3C,EAAGZ,EAAGW,EAAGF,GAAA,GACf,MAAQA,GAAK,GAAKG,GAAK,GAAKZ,EAAG,OAAO,KACtC,MAAQW,EAAG,IACTA,EAAE05D,GAAI,KACJhkE,EAAIsK,EAAEujB,GACRlN,EAAIrW,EAAEy5D,GACN/gD,GAAW,EAAP1Y,EAAEE,EACNX,GAAW,EAAPS,EAAEgjB,EAAA,GACJ,EAAItK,GAAK,EAAInZ,GAAK,GAAK7J,GAAK,GAAK2gB,GAAKqC,EAAIhjB,EAAIuK,GAAKV,EAAI8W,EAAIhX,EAC7D,OAAO,EACTY,EAAIvK,EACJ2J,EAAIgX,CAAA,IAEFrW,EAAEw5D,GAAI,KAGH1+B,EAAG76B,EAAGZ,EAFX3J,EAAI,CAACsK,EAAEu5D,IACPljD,EAAI,CAACrW,EAAEs5D,KACc,OAAO,EAC5Br5D,EAAIvK,EAAE,GACN2J,EAAIgX,EAAE,IAGVvW,EAAEmK,MAAQhK,EACVH,EAAE6P,OAAStQ,EACXY,EAAG,KACGO,EAAIV,EAAEmK,MACN7O,EAAI0E,EAAE6P,OAAA,GACV1P,EAAIH,EAAEg5B,EACF,GAAKt4B,GAAK,GAAKpF,KAAO6E,GAAKm9D,IAAM,GAAKn9D,GAAIA,EAAI,MAC7C,IACC,GAAKH,EAAEg5D,IAAM,MAAQh5D,EAAEm5D,GAAI,CACzBvgD,EAAKrC,EAAI3gB,EAAI2J,EAAI,MAEnBO,GADAL,EAAIiB,EAAImpE,GAAG1pE,IACH7E,EAAA,MACL6E,IAEFoW,GAAMjb,EAAI,GAAK,GADdiE,GAAKmB,EAAI,GAAK,GAEhB,IAAMP,IAAgByY,GAAThjB,EAAI8K,GAAapF,IAE5B,OADJA,EAAImF,EAAEX,EAAI,EAAIyW,EAAIqC,IACH,CACbzY,EAAI,QACEA,CAAA,CAERH,EAAEm5D,GAAK79D,EAAA,GACF6E,IACCO,EAAIV,EAAEL,EAAEs5D,MACPh2C,GAAK3nB,EACPoF,EAAE43D,GAAK,EACP53D,EAAEC,EAAIlB,EACNiB,EAAEiP,KAAO7P,KACRY,EAAIV,EAAEL,EAAEu5D,IACP34D,EAAIjF,EACNoF,EAAE64B,EAAI,EACN74B,EAAEq4D,GAAKt5D,EACPiB,EAAEi4D,GAAK74D,EACPY,EAAEf,EAAIrE,EACNoF,EAAEo4B,EAAI,EAAIh5B,EACVY,EAAEo4D,GAAKv5D,EACPmB,EAAEg4D,GAAKniD,EACP7V,EAAE63D,GAAKj9D,EACPoF,EAAEm/B,EAAI,EAAI//B,EAAIyW,EACd7V,EAAEm4D,GAAKt5D,EACPmB,EAAE+3D,GAAKliD,EACR,IAAMpW,IAAOO,EAAEm5B,EAAIv+B,EAAKoF,EAAE2/B,EAAI,EAAIvgC,EAAI,EAAIyW,GACzC7V,EAAE83D,GAAK5/C,EACPlY,EAAEk4D,GAAKhjE,EAAA,IAEd2J,EAAI,EACJ3J,EAAIoK,EAAEg5B,EACNziB,EAAIvW,EAAEmK,MACNyO,EAAI5Y,EAAE6P,OACFja,GAAK0nE,IAAM,GAAK1nE,EAAA,GACd,GAAKA,EACNuK,EAAIH,EAAEL,EAAEs5D,KAEN15D,IADAE,EAAIgK,KAAKmX,IAAIzgB,EAAEQ,KACLiY,EAAI,GAAKrC,GAAKpW,EAAEwP,KAC1BpQ,GAAKE,GAAK8W,EAAIszD,GAAGj0E,GACjB2J,GAAK,MAAQY,EAAE8iB,OACf,CACH9iB,EAAIH,EAAEL,EAAEu5D,GACRz5D,GAAK8W,EAAI,GAAK,EACdzW,GAAK8Y,EAAI,GAAK,EACdlY,EAAI+I,KAAKmX,IAAIzgB,EAAE44D,IACXz9D,EAAImO,KAAKmX,IAAIzgB,EAAE24D,IAAA,IACjBn5D,EAAI8J,KAAKmX,IAAIzgB,EAAE04D,IACfn5D,EAAI+J,KAAKmX,IAAIzgB,EAAEy4D,IACf34D,EAAIP,GAAKkZ,EAAI,GAAKrC,EACpBhX,GAAKmB,GAAKkY,EAAI,GAAKrC,GAAKpW,EAAEw4D,GAC1Bp5D,GAAKjE,GAAKwE,EAAI,GAAKL,GAAKU,EAAEu4D,GAE1Bn5D,GADAA,GAAKI,GAAKG,EAAI,GAAKL,GAAKU,EAAEs4D,IACjB/3D,GAAK6V,EAAMjb,GAAKmE,EAAME,GAAKF,EACpCF,GAAK,MAAQY,EAAEI,EACfhB,GAAK,MAAQY,EAAER,EACfJ,GAAK,MAAQY,EAAEo4D,GAAA,IACT3iE,IAAO2J,GAAKG,GAAK6W,EAAKhX,GAAKU,GAAKE,EAAEq4D,GAAMj5D,GAAK,MAAQY,EAAE05B,EAAA,MAE5Dt6B,EAAI,EACTY,EAAIZ,EAAI,EAAI,UAGZ,GAAKY,GAAA,MACDD,GAAKA,EAAEmjB,KAAOljB,EAAIw3C,GAAG33C,IADVG,CAAA,KAIjBs3C,GAAK,GACP7Y,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEF8Y,GAAK,GACL+f,GAAK,GACLC,GAAK,EACLC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJr4B,EAAE,aAAc,iBAChBn/B,EAAK2pE,WAAa,kBACT,YAET3pE,EAAK4pE,WAAa,SAAS5pE,GAAA,OAClBA,CAAA,EAETA,EAAK6pE,WAAa,SAAS7pE,EAAGZ,EAAGW,GAAA,OACxBX,EAAEW,EAAI,IAEfC,EAAK8pE,WAAa,SAAS9pE,EAAGZ,EAAGW,GAAA,OACxBX,EAAEW,EAAI,IAEfC,EAAK+pE,WAAa,SAAS/pE,EAAGZ,EAAGW,GAAA,OACxBX,EAAEW,EAAI,IAEfC,EAAKgqE,WAAa,SAAShqE,EAAGZ,EAAGW,GAAA,OACxB05B,EAAGA,EAAGz5B,EAAGZ,EAAEW,EAAI,IAAKX,EAAEW,EAAI,KAEnCC,EAAKiqE,WAAa,SAASjqE,EAAGZ,EAAGW,GAAA,OACxB05B,EAAGz5B,EAAGZ,EAAEW,EAAI,KAErBC,EAAKkqE,WAAa,SAASlqE,EAAGZ,EAAGW,GAAA,OACxB05B,EAAGz5B,EAAGZ,EAAEW,EAAI,KAErBC,EAAKmqE,WAAa,SAASnqE,EAAGZ,EAAGW,GAAA,OACxB05B,EAAGr6B,EAAEW,EAAI,GAAIX,EAAEW,EAAI,KAE5BC,EAAKoqE,WAAa,SAASpqE,EAAGZ,EAAGW,GAAA,OACxB05B,EAAGr6B,EAAEW,EAAI,GAAIX,EAAEW,EAAI,KAE5BC,EAAKqqE,YAAc,SAASrqE,EAAGZ,EAAGW,GAAA,OACzB05B,EAAGA,EAAGz5B,EAAGZ,EAAEW,EAAI,IAAK05B,EAAGr6B,EAAEW,EAAI,GAAIX,EAAEW,EAAI,MAEhDC,EAAKsqE,YAAc,SAAStqE,EAAGZ,EAAGW,GAAA,IAC5BF,EAAIT,EAAEW,EAAI,UAEP,GACL2/B,EAAI7/B,GAAK,GAAM,IAAMG,GAAK,GAAM,KAFlCZ,EAAIA,EAAEW,EAAI,KAEmC,GAAM,KAC/C2/B,EAAI7/B,GAAK,GAAM,IAAMG,GAAK,GAAM,IAAMZ,GAAK,GAAM,KACjDsgC,EAAI7/B,GAAK,EAAK,IAAMG,GAAK,EAAK,IAAMZ,GAAK,EAAK,KAC9CsgC,EAAO,IAAJ7/B,EAAa,IAAJG,EAAa,IAAJZ,GACrBS,EACAG,CAAA,EAENA,EAAKuqE,YAAc,SAASvqE,EAAGZ,EAAGW,GAAA,IAC5BF,EAAIT,EAAEW,EAAI,UAGVM,GAAKL,GAAK,GAAM,MAASH,GAAK,GAAM,OAFxCT,EAAIA,EAAEW,EAAI,KAE4C,GAAM,OAAS,GAChEM,GAAKL,GAAK,GAAM,MAASH,GAAK,GAAM,MAAST,GAAK,GAAM,OACvD,GACDiB,GAAKL,GAAK,EAAK,MAASH,GAAK,EAAK,MAAST,GAAK,EAAK,OAAS,EAC/DiB,GAAQ,IAAJL,IAAgB,IAAJH,IAAgB,IAAJT,OAC9B,GAGJY,EAAKwqE,YAAc,SAASxqE,EAAGZ,EAAGW,GAAA,IAC5BF,EAAIT,EAAEW,EAAI,UAGVy/B,GAFJx/B,EAAIy5B,EAAGz5B,EAAGZ,EAAEW,EAAI,MAEH,GAAM,IAAMF,GAAK,GAAM,MAAQ,GACvC2/B,EAAIx/B,GAAK,GAAM,IAAMH,GAAK,GAAM,MAAQ,GACxC2/B,EAAIx/B,GAAK,EAAK,IAAMH,GAAK,EAAK,MAAQ,EACvC2/B,EAAIx/B,GAAK,EAAK,IAAMH,GAAK,EAAK,QAChC,OAGA68D,GAAK18D,EAAKyqE,cACdzqE,EAAK0qE,cAAgB/qC,EACrBR,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,sBACbw9B,GAAK38D,EAAK2qE,cACd/pC,EACE,6BACA,UACA,OACA,SAAS5gC,GAAA,OACCA,GAAK,EAAK,OAEpB,SAASA,GAAA,OACAA,CAAA,IAGX4gC,EACE,sCACA,WACA,MACA,SAAS5gC,GAAA,OACAA,CAAA,IAET,SAASA,GAAA,OACCA,GAAK,EAAK,WAOpBy8D,GAJEK,GAAK98D,EAAK4qE,2BACZhM,GAAK5+D,EAAK6qE,QACV5M,GAAKj+D,EAAK8qE,oCACVhM,GAAK9+D,EAAK+qE,SAEVnO,GAAM58D,EAAKgrE,kBAAoB,GACjCpO,GAAGjnE,OAAS,IACXqK,EAAKirE,eAAiB,IAAIt1E,OAAS,IACnCqK,EAAKkrE,oBAAsB,IAAIv1E,OAAS,IACxCqK,EAAKmrE,iBAAmB,IAAIx1E,OAAS,OAClCknE,GACFO,GACAC,GACAG,GACAG,GACAJ,GA+3BAsJ,GAIA5rE,GACAgsE,GACAH,GACAC,GACAC,GACA1/C,GACA3qB,GACAwqE,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIAnN,GACAgD,GACAjD,GACA+E,GAz5BAkH,GAAKnmE,EAAE,KACPomE,GAAKpmE,EAAE,MACPqmE,GAAKrmE,EAAE,KACPsmE,GAAKtmE,EAAE,KACPkmE,GAAK,EACL6B,GAAK3B,GACLrpB,GAAKspB,GACLyB,GAAIxB,GACJ0B,GAAI7B,GACJtJ,GAAK,EACLxC,GAAK,EACL2C,GAAK,EACL1C,GAAK,EACLN,GAAK,EACLO,GAAK,EACL6C,GAAK,EACL3F,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLkH,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZF,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEpD,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFkD,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFnzC,GAAK,EACLi6C,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFF,GAAK,KACLM,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IAAK,GACrB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1B,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAE1DC,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxD+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IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CAC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KACA,IACA,IACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KA8jBEW,EAAa,IAAIC,EAAM62E,eAAe,CAAEK,eAAA,IAoC5Cl3E,EAAMwF,IAAIyyC,OAAOniD,KAAK,CAAC,kBAlCE,SAASkK,GAAA,IAC5BZ,EAAOY,EAAKsG,KAGZzG,GAFIG,EAAKG,EACLH,EAAKI,EACCJ,EAAKxI,SAAW,CAAC,GAG3B/B,GAFQuK,EAAKgxC,MACNnxC,EAAQgyC,KACL,OAEdhyC,EAAQq3E,cAC2B,kBAA1Br3E,EAAQq3E,eAA8Br3E,EAAQq3E,cACvDn3E,EAAWg8C,WAAWl8C,GAEuB,mBAAzCzJ,OAAOC,UAAUF,SAASK,KAAK4I,GAA4B,KACzDkB,EAAI,MACR7K,EAAU,GACL6K,EAAI,EAAGA,EAAIlB,EAAKzJ,OAAQ2K,GAAK,EACgB,mBAA5ClK,OAAOC,UAAUF,SAASK,KAAK4I,EAAKkB,IACtC7K,EAAQK,KAAK,CACXiK,EAAWk3E,cAAc73E,EAAKkB,GAAG,IACjClB,EAAKkB,GAAG,GACRlB,EAAKkB,GAAG,KAGV7K,EAAQK,KAAK,CAACiK,EAAWk3E,cAAc73E,EAAK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7B,OAAO/D,IAAA,IAK9B0Y,EAAmB,kBAAazY,EAAqBD,EAAKqW,EAASg1B,GAAAl1C,WAAA,EAAAR,WAAA,SAGzE+iB,EAAiB6tP,WAAa,SAAAzmQ,GAAA,OAC5BT,EAAqBY,EAAsBD,EAAAK,GAAA,GAAUgW,EAAA,GAAYvW,GAAA,EAGnE4Y,EAAiBypE,MAAQ,SAAAriF,GAAA,OACvBT,EAAqBY,EAAsBD,EAAAK,GAAA,GACtCgW,EAAA,CACH8rE,MAAOnsF,MAAMM,UAAU0B,OAAOqe,EAAQ8rE,MAAOriF,GAAOxH,OAAOsjD,WAAA,EAGxDljC,CAAA,CDzBO,CAAqCwnB,GAAiB7gC,EAAA,EDJvD,CACb,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAGA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,WACA,SCnIUrG,SAAQ,SAAAqG,GAClBouC,GAAOpuC,GAAcouC,GAAOpuC,EAAA,KELT,oBAAAA,EAOPA,EAAgBY,GAAA,KACrBq0O,MAAQj1O,EAAA,KACRimQ,YAAcrlQ,EAAA,KACdolQ,SAAW18N,GAActpC,GAI9BwhC,GAAWgkO,WAAW1qQ,KAAKmrQ,YAAc,OAAArlQ,EAAAZ,EAAA/I,UAAA2J,EAG3CumQ,aAAA,SACEnnQ,EACAY,EACAH,EACAE,GAAA,IAGMqW,EAAMrW,EADI0T,GAAQvZ,KAAKm6O,MAAOr0O,EAAkBH,EAAYE,GACvCtJ,KAAK,IAAK,IAC/BgiB,EAAKve,KAAKmrQ,YAAcjmQ,EAG9BS,EAAWmkQ,YAAYvrP,EAAIA,EAAIrC,EAAA,EAAApW,EAGjCwmQ,aAAA,SAAapnQ,EAAkBY,GAC7BA,EAAWilQ,WAAW/qQ,KAAKmrQ,YAAcjmQ,EAAA,EAAAY,EAG3CymQ,aAAA,SACErnQ,EACAY,EACAH,EACAE,GAEIX,EAAW,GAAGwhC,GAAWgkO,WAAW1qQ,KAAKmrQ,YAAcjmQ,GAAA,KAGtDonQ,aAAapnQ,EAAUS,GAAA,KACvB0mQ,aAAannQ,EAAUY,EAAkBH,EAAYE,EAAA,EA7CzC,GCEN,SAAS6uC,GACtBxvC,GAWI,QAAAY,EAAAtK,UAAAC,OAVDkK,EAAA,IAAA9J,MAAAiK,EAAA,EAAAA,EAAA,KAAAD,EAAA,EAAAA,EAAAC,EAAAD,IAAAF,EAAAE,EAAA,GAAArK,UAAAqK,GAAA,IAcGqW,EAAQg1B,GAAAl1C,WAAA,GAAIkJ,GAAArH,OAAY8H,IAAgBpJ,KAAK,IAC7CgiB,EAAOw1B,GAAoB73B,GAAA,OAC1B,IAAIi1B,GAAU5yB,EAAMrC,EAAA,ECbR,oBAAAhX,IAAA,IAAAA,EAAA,UAYnBsnQ,cAAgB,eACR1mQ,EAAMZ,EAAKgtC,SAASj2C,WAAA,IACrB6J,EAAK,MAAO,OAEXH,EAAQigC,KAAA,gBACA,CAACjgC,GAAA,UAAmBA,EAAA,IAAa84B,GAAA,UAAqB,gCAC7CtgC,OAAOsjD,SAASllD,KAAK,SAEfuJ,EAAA,iBAW/B2mQ,aAAe,kBACTvnQ,EAAKwnQ,OACA7nO,GAAiB,GAGnB3/B,EAAKsnQ,eAAA,OAGdG,gBAAkB,eAAA7mQ,EAAA,GACZZ,EAAKwnQ,OAAA,OACA7nO,GAAiB,OAGpBl/B,IAAAG,EAAA,IACH24B,IAAU,GAAA34B,ErC9Cc,uBACL,SAAAA,EqC+CpBq7G,wBAAyB,CACvB0O,OAAQ3qH,EAAKgtC,SAASj2C,YAAA6J,GAIpBoW,EAAQ0pB,KAAA,OACV1pB,IACDvW,EAAYsyO,MAAQ/7N,GAIhB,CAACrW,EAAAA,cAAA,QAAAK,GAAA,GAAWP,EAAA,CAAOtJ,IAAI,mBAsDhCuwQ,KAAO,WACL1nQ,EAAKwnQ,QAAA,CAAS,OAzGTx6N,SAAW,IAAIxL,GAAW,CAAE4jO,UAAA,IAAU,KACtCoC,QAAA,CAAS,KAAA5mQ,EAAAZ,EAAA/I,UAAA2J,EAchB+mQ,cAAA,SAAc3nQ,GAAA,OACRlF,KAAK0sQ,OACA7nO,GAAiB,GAGnBh/B,EAAAA,cAAC6rC,GAAA,CAAkB0mM,MAAOp4O,KAAKkyC,UAAWhtC,EAAA,EAAAY,EAkCnDgnQ,yBAAA,SAAyB5nQ,GAAA,OAEd2/B,GAAiB,IAhET,GDaQ,IERzBkoO,GAAkBC,GCmCoB,MDrDtCC,GAA8D,SAAUC,EAAQ5vP,GAEhF,OADIphB,OAAOmI,eAAkBnI,OAAOmI,eAAe6oQ,EAAQ,MAAO,CAAEtwQ,MAAO0gB,IAAiB4vP,EAAO5vP,IAAMA,EAClG4vP,CACX,EAII5oP,GAAM,iBAENq5N,GAAOwvB,GAAUJ,KAAqBA,GAAmBE,GAAqB,CAAC,sCAAuC,OAAQ,gCAAiC,+CAAgD,OAAQ,gCAAiC,6CAA8C,OAAQ,gCAAiC,cAAe,CAAC,sCAAuC,OAAQ,gCAAiC,+CAAgD,OAAQ,gCAAiC,6CAA8C,OAAQ,gCAAiC,gBAAuB,IAAN3oP,GAAYA,GAAW,IAANA,GAAkB,IAANA,GAAYA,GAAW,IAANA,GAAkB,IAANA,GAAYA,GAAW,IAANA,IE6B/rB,IF5BW8oP,GAAOpzN,KAAKgzN,KAAqBA,GAAmBC,GAAqB,CAAC,yBAA0B,OAAQ,4CAA6C,IAAK,wBAAyB,CAAC,yBAA0B,OAAQ,4CAA6C,IAAK,0BAAiC,IAAN3oP,GAAYA,GAAKq5N,GAFxT,KEEA,SAAc3jM,EAAMjqC,GAC7B,OAAO,WACL,IAAImtG,EAAQ1hH,UAAUC,OAAS,QAAsB0M,IAAjB3M,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEjF,GAA2B,qBAAhB0hH,EAAMljE,GACf,OAAOkjE,EAAMljE,GAGf,GAAIA,GAAQA,EAAKtmC,QAAQ,KAAO,EAAG,CAMjC,IALA,IAAI8+J,EAAQx4H,EAAK5rC,MAAM,KACnB3S,EAAS+2K,EAAM/2K,OACf+C,EAAS0+G,EAAMs1D,EAAM,IACrB1pK,EAAQ,EAEK,MAAVtK,GAAkBsK,EAAQrN,GAC/B+C,EAASA,EAAOg0K,EAAM1pK,IACtBA,GAAS,EAGX,GAAsB,qBAAXtK,EACT,OAAOA,CAEX,CAEA,OAAOuR,CACT,CACF,GC/BA,ICyBIg9P,GAAkBC,GAAkBK,GA9BpCJ,GAA8D,SAAUC,EAAQ5vP,GAEhF,OADIphB,OAAOmI,eAAkBnI,OAAOmI,eAAe6oQ,EAAQ,MAAO,CAAEtwQ,MAAO0gB,IAAiB4vP,EAAO5vP,IAAMA,EAClG4vP,CACX,EAgBII,GAAOH,GAAUJ,KAAqBA,GAAmBE,GAAqB,CAAC,kDAAmD,CAAC,qDAE7HG,GAAOG,IAAIP,KAAqBA,GAAmBC,GAAqB,CAAC,kBAAmB,0DAA2D,QAAS,CAAC,kBAAmB,0DAA2D,UAAWK,GAAM30P,GAAK,QAAS,SACzQy0P,GAAOI,SAASH,KAAqBA,GAAmBJ,GAAqB,CAAC,qBAAsB,urBAAwrB,CAAC,qBAAsB,0rBAA0rB,SAAU/vJ,GAAS,OAAOA,EAAMptG,KAAO,ICtB5hD,IC6BHi9P,GAAkBC,GAAkBK,GD7B7BI,GAAkB,SAAUC,GAAW,MAAQ,CACtD/2P,QAAS+2P,EAAU,OAAS,OAC5B,EEFAl8E,GAAsC,WAStC,OARAA,GAAWt1L,OAAO8b,QAAU,SAASlS,GACjC,IAAK,IAAIyY,EAAGhjB,EAAI,EAAGoK,EAAInK,UAAUC,OAAQF,EAAIoK,EAAGpK,IAE5C,IAAK,IAAIqK,KADT2Y,EAAI/iB,UAAUD,GACOW,OAAOC,UAAUf,eAAekB,KAAKiiB,EAAG3Y,KACzDE,EAAEF,GAAK2Y,EAAE3Y,IAEjB,OAAOE,CACX,EACO0rL,GAASx1L,MAAMgE,KAAMxE,UAChC,EAoBA,GAhBsB,SAAUqR,GAC5B,IAAImD,EAAKnD,EAAG2I,OAAQA,OAAgB,IAAPxF,EAAgB,GAAKA,EAAIC,EAAKpD,EAAGiD,MAAOA,OAAe,IAAPG,EAAgB,GAAKA,EAAIC,EAAKrD,EAAGkkD,OAAQA,OAAgB,IAAP7gD,EAAgB,EAAIA,EAAIqJ,EAAK1M,EAAGoF,MAAOA,OAAe,IAAPsH,EvDfvJ,UuDeuLA,EAAIC,EAAK3M,EAAGs+H,UAAWA,OAAmB,IAAP3xH,EAAgB,oBAAsBA,EAAIm0P,EAAe9gQ,EAAG8gQ,aAAcC,EAAe/gQ,EAAG+gQ,aAAcn0P,EAAK5M,EAAG6gQ,QAASA,OAAiB,IAAPj0P,GAAuBA,EAC7Y,OAAQmiK,EAAAA,cAAoB,MAAO4V,GAAS,CAAEh/K,MAAOg/K,GAASA,GAAS,CAAC,EAAGi8E,GAAgBC,IAAWC,GAAep6M,UAAWq6M,EAAc,cAAe,oBAAqB,aAAcziI,GAAag+H,IACzMvtF,EAAAA,cAAoB,MAAO,CAAE9rK,MAAOA,EAAO0F,OAAQA,EAAQgiP,QAAS,YAAavlE,MAAO,6BAA8B,cAAe,iBACjIrW,EAAAA,cAAoB,OAAQ,KACxBA,EAAAA,cAAoB,iBAAkB,CAAE/4J,GAAI,SAAUC,GAAI,KAAMC,GAAI,UAAWC,GAAI,UAAWzH,GAAI,KAC9FqgK,EAAAA,cAAoB,OAAQ,CAAEiyF,UAAW57P,EAAOsxG,YAAa,IAAK3yE,OAAQ,OAC1EgrI,EAAAA,cAAoB,OAAQ,CAAEiyF,UAAW57P,EAAOsxG,YAAa,OAAQ3yE,OAAQ,YAC7EgrI,EAAAA,cAAoB,OAAQ,CAAEiyF,UAAW57P,EAAO2+B,OAAQ,WAChEgrI,EAAAA,cAAoB,IAAK,CAAE5iI,KAAM,OAAQ80N,SAAU,WAC/ClyF,EAAAA,cAAoB,IAAK,CAAE3sH,UAAW,kBAClC2sH,EAAAA,cAAoB,OAAQ,CAAEv2K,EAAG,8BAA+BkW,GAAI,SAAUs8B,OAAQ5lC,EAAO0xG,YAAa,KACtGi4D,EAAAA,cAAoB,mBAAoB,CAAE18D,cAAe,YAAa57G,KAAM,SAAUwd,KAAM,UAAWnC,GAAI,YAAaovP,IAAK,OAAQC,YAAa,gBACtJpyF,EAAAA,cAAoB,SAAU,CAAE5iI,KAAM,OAAQy+M,GAAI,KAAMz/K,GAAI,KAAMnyE,EAAGkrD,GACjE6qH,EAAAA,cAAoB,mBAAoB,CAAE18D,cAAe,YAAa57G,KAAM,SAAUwd,KAAM,UAAWnC,GAAI,YAAaovP,IAAK,OAAQC,YAAa,mBAC1K,ED7BIf,GAA8D,SAAUC,EAAQ5vP,GAEhF,OADIphB,OAAOmI,eAAkBnI,OAAOmI,eAAe6oQ,EAAQ,MAAO,CAAEtwQ,MAAO0gB,IAAiB4vP,EAAO5vP,IAAMA,EAClG4vP,CACX,EAgBIlqH,GAAOmqH,GAAUJ,KAAqBA,GAAmBE,GAAqB,CAAC,+CAAgD,CAAC,kDACtHG,GAAOa,QAAQjB,KAAqBA,GAAmBC,GAAqB,CAAC,2CAA4C,0DAA2D,CAAC,2CAA4C,4DAA6DjqH,IAClSoqH,GAAOG,IAAIF,KAAqBA,GAAmBJ,GAAqB,CAAC,oCAAqC,CAAC,uCErBzH,ICoCIiB,GCgxDG,SAASC,GAAQjxJ,GACtB,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,EAAI,kBAAkB,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,mSAAjJA,CAAqb10E,EAC9b,CAylQO,SAASkxJ,GAAkClxJ,GAChD,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,EAAI,kBAAkB,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,sDAAsD,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,oDAAjOA,CAAsR10E,EAC/R,CCt5RO,SAASmxJ,GAAQnxJ,GACtB,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,SAAW,UAAU,EAAI,yEAA5GA,CAAsL10E,EAC/L,CC3YO,SAASoxJ,GAAUpxJ,GACxB,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,YAAY,KAAO,OAAO,OAAS,eAAe,YAAc,IAAI,cAAgB,QAAQ,eAAiB,SAAS,MAAQ,CAAC,CAAC,IAAM,SAAS,KAAO,CAAC,GAAK,KAAK,GAAK,KAAK,EAAI,MAAM,CAAC,IAAM,OAAO,KAAO,CAAC,GAAK,KAAK,GAAK,KAAK,GAAK,QAAQ,GAAK,YAAxRA,CAAqS10E,EAC9S,CC6lCO,SAASqxJ,GAA0BrxJ,GACxC,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,khBAAzFA,CAA4mB10E,EACrnB,CJntDA,SAASgyB,GAAQxmI,GAAkC,OAAOwmI,GAAU,mBAAqB/xI,QAAU,iBAAmBA,OAAOyiH,SAAW,SAAUl3G,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBvL,QAAUuL,EAAI7G,cAAgB1E,QAAUuL,IAAQvL,OAAOhB,UAAY,gBAAkBuM,CAAK,EAAGwmI,GAAQxmI,EAAM,CAiBxU,SAAS8lQ,GAAkB17P,GAChC2E,SAAS9L,KAAK6G,MAAMQ,aAAeF,EAAU,EAAI,GAAGjV,OAAOiV,EAAS,MAAQ,IAC9E,CAQO,SAAS27P,KACd,IAAIC,EAxBC,WACL,IAAIlU,EAAY/iP,SAASgc,cAAc,OAEvC+mO,EAAUhoP,MAAMkiD,SAAW,WAC3B8lM,EAAUhoP,MAAMrC,IAAM,UACtBqqP,EAAUhoP,MAAM1C,MAAQ,OACxB0qP,EAAUhoP,MAAMgD,OAAS,OACzBglP,EAAUhoP,MAAMzB,SAAW,SAC3B0G,SAAS9L,KAAKwpD,YAAYqlM,GAC1B,IAAIkU,EAAiBlU,EAAU1lM,YAAc0lM,EAAU5lM,YAEvD,OADAn9C,SAAS9L,KAAKqqD,YAAYwkM,GACnBkU,CACT,CAYuBlT,GAEjBmT,EAAel3P,SAAS2vH,iBAAiB,qDAAqD,GAC9FwnI,EAAcD,EAAez8P,SAASy8P,EAAan8P,MAAMQ,cAAgB,EAAG,IAAM,EAV/EyE,SAAS9L,KAAKipD,YAAcz0D,OAAO46P,YAYxCyT,GAAkBI,EAAcF,EAEpC,CAKO,SAASG,KACd,IAAIt7M,EAAY/3D,UAAUC,OAAS,QAAsB0M,IAAjB3M,UAAU,GAAmBA,UAAU,GAAK,GAChFszQ,EAAYtzQ,UAAUC,OAAS,QAAsB0M,IAAjB3M,UAAU,GAAmBA,UAAU,GAAK0yQ,GACpF,OAAKY,EACEv7M,EAAUnlD,MAAM,KAAKtQ,KAAI,SAAUsH,GACxC,OAAO0pQ,EAAU1pQ,IAAMA,CACzB,IAAG7I,KAAK,KAHeg3D,CAIzB,CAKO,SAASsmF,GAAKnxI,EAAKolJ,GACxB,IAAIr7I,EAAS,CAAC,EAMd,OALAvW,OAAO+B,KAAKyK,GAAK7J,SAAQ,SAAUxC,IACF,IAA3ByxJ,EAASp6I,QAAQrX,KACnBoW,EAAOpW,GAAOqM,EAAIrM,GAEtB,IACOoW,CACT,CAyCA,IAAI9L,GAA8E,YAAjD,qBAAXxG,OAAyB,YAAc+uI,GAAQ/uI,UAAyBA,OAAOwG,SAAW,WAAa,EAMtH,IAAIooQ,GAAiBhwJ,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,KAL5D,SAAoB7B,EAAOC,EAAUC,GAC1C,KAAMF,EAAMC,aAAqBx2G,IAC/B,OAAO,IAAItH,MAAM,iBAAmB89G,EAAW,kBAAoBC,EAAgB,oEAEvF,EAC+F2B,KAAAA,MAAgB,CAC7GjnG,QAASinG,KAAAA,QAEAiwJ,GAAcjwJ,KAAAA,UAAoB,CAACA,KAAAA,KAAgBA,KAAAA,OAAkBA,KAAAA,MAAgB,CAC9FhiH,SAAUgiH,KAAAA,OACV56G,OAAQ46G,KAAAA,OACNA,KAAAA,QAAkBA,KAAAA,UAAoB,CAACA,KAAAA,KAAgBA,KAAAA,OAAkBA,KAAAA,MAAgB,CAC3FhiH,SAAUgiH,KAAAA,OACV56G,OAAQ46G,KAAAA,YAKCkwJ,GACH,IADGA,GAKF,IAUEC,GAAyB,CAAC,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,UAAW,aAAc,YAAa,SAAU,YAAa,YAOpKC,GACJ,GAYI3yG,KAAiC,qBAAXr8J,SAA0BA,OAAOsX,WAAYtX,OAAOsX,SAASgc,eAO9F,SAAS22O,GAAOxtQ,GACd,OAAa,MAATA,OACeuL,IAAVvL,EAAsB,qBAAuB,gBAE/CV,OAAOC,UAAUF,SAASK,KAAKM,EACxC,CACO,SAASqsF,GAASrsF,GACvB,IAAI0G,EAAO4rI,GAAQtyI,GACnB,OAAgB,MAATA,IAA2B,WAAT0G,GAA8B,aAATA,EAChD,CA4BO,SAAS8rQ,GAAgBzxQ,GAC9B,GA5CK,SAAuBA,GAC5B,SAAIA,GAA8B,WAApBuxI,GAAQvxI,KACb,YAAaA,CAGxB,CAuCM0xQ,CAAc1xQ,GAChB,OAAOA,EAAOma,QAEhB,GAXK,SAAoBlb,GACzB,IAAKqsF,GAASrsF,GACZ,OAAO,EAET,IAAIojF,EAAMoqL,GAAOxtQ,GACjB,MAAe,sBAARojF,GAAuC,2BAARA,GAA4C,+BAARA,GAAgD,mBAARA,CACpH,CAKMv+E,CAAW9D,GACb,OAAOA,IAET,GAAsB,kBAAXA,GAAuB6+J,GAAW,CAC3C,IAAIv5E,EAAYxrE,SAAS2vH,iBAAiBzpI,GAI1C,GAHKslF,EAAUxnF,SACbwnF,EAAYxrE,SAAS2vH,iBAAiB,IAAIvpI,OAAOF,MAE9CslF,EAAUxnF,OACb,MAAM,IAAI4D,MAAM,eAAexB,OAAOF,EAAQ,8DAEhD,OAAOslF,CACT,CACA,OAAOtlF,CACT,CACO,SAAS2xQ,GAAkBC,GAChC,OAAY,OAARA,IAGG1zQ,MAAMC,QAAQyzQ,IAAQ/yG,IAAmC,kBAAf+yG,EAAI9zQ,OACvD,CA2CO,IAAI+zQ,GAAoB,CAAC,UAAW,aAAc,2CAA4C,yBAA0B,2BAA4B,yBAA0B,SAAU,QAAS,yCAA0C,kBAAmB,kBAAmB,oDK1QxR,SAAStgI,GAAQxmI,GAAkC,OAAOwmI,GAAU,mBAAqB/xI,QAAU,iBAAmBA,OAAOyiH,SAAW,SAAUl3G,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBvL,QAAUuL,EAAI7G,cAAgB1E,QAAUuL,IAAQvL,OAAOhB,UAAY,gBAAkBuM,CAAK,EAAGwmI,GAAQxmI,EAAM,CAE/U,SAASmnI,GAAkBlyI,EAAQu/G,GAAS,IAAK,IAAI3hH,EAAI,EAAGA,EAAI2hH,EAAMzhH,OAAQF,IAAK,CAAE,IAAI0J,EAAai4G,EAAM3hH,GAAI0J,EAAW+iB,WAAa/iB,EAAW+iB,aAAc,EAAO/iB,EAAW85C,cAAe,EAAU,UAAW95C,IAAYA,EAAWu8C,UAAW,GAAMtlD,OAAOmI,eAAe1G,EAAQsH,EAAW5I,IAAK4I,EAAa,CAAE,CAG5T,SAAS6qI,GAAgB5zH,EAAGtW,GAA6I,OAAxIkqI,GAAkB5zI,OAAOuN,eAAiBvN,OAAOuN,eAAe80B,OAAS,SAAyBriB,EAAGtW,GAAsB,OAAjBsW,EAAExS,UAAY9D,EAAUsW,CAAG,EAAU4zH,GAAgB5zH,EAAGtW,EAAI,CACvM,SAASmqI,GAAaC,GAAW,IAAIC,EAGrC,WAAuC,GAAuB,qBAAZnwB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAU8rB,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFrqF,QAAQtlD,UAAUmtF,QAAQhtF,KAAKwjH,QAAQC,UAAUt+D,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOv8C,IAAK,OAAO,CAAO,CAAE,CAHvQgrI,GAA6B,OAAO,WAAkC,IAAsCz9H,EAAlC09H,EAAQC,GAAgBJ,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYD,GAAgBpwI,MAAM6B,YAAa4Q,EAASqtG,QAAQC,UAAUowB,EAAO30I,UAAW60I,EAAY,MAAS59H,EAAS09H,EAAMn0I,MAAMgE,KAAMxE,WAAc,OACpX,SAAoC6E,EAAM/D,GAAQ,GAAIA,IAA2B,WAAlB4yI,GAAQ5yI,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIqN,UAAU,4DAA+D,OAC1P,SAAgCtJ,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIurI,eAAe,6DAAgE,OAAOvrI,CAAM,CAD4FiwI,CAAuBjwI,EAAO,CAD4FkwI,CAA2BvwI,KAAMyS,EAAS,CAAG,CAIxa,SAAS29H,GAAgBl0H,GAA+J,OAA1Jk0H,GAAkBl0I,OAAOuN,eAAiBvN,OAAOsI,eAAe+5B,OAAS,SAAyBriB,GAAK,OAAOA,EAAExS,WAAaxN,OAAOsI,eAAe0X,EAAI,EAAUk0H,GAAgBl0H,EAAI,CAKnN,IAAI7Y,GAAY,CACd20D,SAAU+mD,KAAAA,KAAe9B,WACzBuB,KAAMO,KAAAA,KAEJj4G,GAAsB,SAAU8uJ,IAfpC,SAAmBjlB,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIjnI,UAAU,sDAAyDgnI,EAASx0I,UAAYD,OAAO4N,OAAO8mI,GAAcA,EAAWz0I,UAAW,CAAE0F,YAAa,CAAEjF,MAAO+zI,EAAUnvF,UAAU,EAAMzC,cAAc,KAAW7iD,OAAOmI,eAAessI,EAAU,YAAa,CAAEnvF,UAAU,IAAcovF,GAAYd,GAAgBa,EAAUC,EAAa,CAgBjcC,CAAU/pI,EAAQ8uJ,GAClB,IAlBoB9kB,EAAaC,EAAYC,EAkBzCxmI,EAASulI,GAAajpI,GAC1B,SAASA,IAEP,OAvBJ,SAAyBorC,EAAU4+F,GAAe,KAAM5+F,aAAoB4+F,GAAgB,MAAM,IAAInnI,UAAU,oCAAwC,CAsBpJsnI,CAAgBjxI,KAAM8G,GACf0D,EAAOxO,MAAMgE,KAAMxE,UAC5B,CAsBA,OA5CoBs1I,EAuBPhqI,GAvBoBiqI,EAuBZ,CAAC,CACpB10I,IAAK,uBACLO,MAAO,WACDoD,KAAKyvQ,aACPh4P,SAAS9L,KAAKqqD,YAAYh2D,KAAKyvQ,aAEjCzvQ,KAAKyvQ,YAAc,IACrB,GACC,CACDpzQ,IAAK,SACLO,MAAO,WACL,OAAK4/J,IAGAx8J,KAAKk9G,MAAMsB,MAASx+G,KAAKyvQ,cAC5BzvQ,KAAKyvQ,YAAch4P,SAASgc,cAAc,OAC1Chc,SAAS9L,KAAKwpD,YAAYn1D,KAAKyvQ,cAEbjmF,GAAAA,aAAsBxpL,KAAKk9G,MAAMllD,SAAUh4D,KAAKk9G,MAAMsB,MAAQx+G,KAAKyvQ,cAN9E,IAOX,MA1C0E5/H,GAAkBiB,EAAY30I,UAAW40I,GAAiBC,GAAanB,GAAkBiB,EAAaE,GAAc90I,OAAOmI,eAAeysI,EAAa,YAAa,CAAEtvF,UAAU,IA4CrP16C,CACT,CA7B0B,CA6BxB80K,EAAAA,WACF90K,GAAOzD,UAAYA,GACnB,UClDI2/K,GAAY,CAAC,MAAO,YAAa,kBAAmB,YAAa,YAAa,WAAY,YAC9F,SAASpzC,KAAiS,OAApRA,GAAW1zI,OAAO8b,OAAS9b,OAAO8b,OAAOumB,OAAS,SAAU5gC,GAAU,IAAK,IAAIpC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIqC,EAASpC,UAAUD,GAAI,IAAK,IAAIc,KAAOuB,EAAc1B,OAAOC,UAAUf,eAAekB,KAAKsB,EAAQvB,KAAQsB,EAAOtB,GAAOuB,EAAOvB,GAAU,CAAE,OAAOsB,CAAQ,EAAUiyI,GAAS5zI,MAAMgE,KAAMxE,UAAY,CAClV,SAAS+5J,GAAyB33J,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAAkEvB,EAAKd,EAAnEoC,EACzF,SAAuCC,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAA2DvB,EAAKd,EAA5DoC,EAAS,CAAC,EAAO83J,EAAav5J,OAAO+B,KAAKL,GAAqB,IAAKrC,EAAI,EAAGA,EAAIk6J,EAAWh6J,OAAQF,IAAOc,EAAMo5J,EAAWl6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,IAAasB,EAAOtB,GAAOuB,EAAOvB,IAAQ,OAAOsB,CAAQ,CADhN+3J,CAA8B93J,EAAQ43J,GAAuB,GAAIt5J,OAAOgC,sBAAuB,CAAE,IAAIy3J,EAAmBz5J,OAAOgC,sBAAsBN,GAAS,IAAKrC,EAAI,EAAGA,EAAIo6J,EAAiBl6J,OAAQF,IAAOc,EAAMs5J,EAAiBp6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,GAAkBH,OAAOC,UAAUkC,qBAAqB/B,KAAKsB,EAAQvB,KAAgBsB,EAAOtB,GAAOuB,EAAOvB,GAAQ,CAAE,OAAOsB,CAAQ,CAE3e,SAASi4I,GAAQp3I,EAAQq3I,GAAkB,IAAI53I,EAAO/B,OAAO+B,KAAKO,GAAS,GAAItC,OAAOgC,sBAAuB,CAAE,IAAI43I,EAAU55I,OAAOgC,sBAAsBM,GAASq3I,IAAmBC,EAAUA,EAAQ33I,QAAO,SAAUkuB,GAAO,OAAOnwB,OAAOqI,yBAAyB/F,EAAQ6tB,GAAKrE,UAAY,KAAK/pB,EAAKrC,KAAKI,MAAMiC,EAAM63I,EAAU,CAAE,OAAO73I,CAAM,CACpV,SAAS83I,GAAcp4I,GAAU,IAAK,IAAIpC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIqC,EAAS,MAAQpC,UAAUD,GAAKC,UAAUD,GAAK,CAAC,EAAGA,EAAI,EAAIq6I,GAAQ15I,OAAO0B,IAAS,GAAIiB,SAAQ,SAAUxC,GAAOm0I,GAAgB7yI,EAAQtB,EAAKuB,EAAOvB,GAAO,IAAKH,OAAO85I,0BAA4B95I,OAAO+5I,iBAAiBt4I,EAAQzB,OAAO85I,0BAA0Bp4I,IAAWg4I,GAAQ15I,OAAO0B,IAASiB,SAAQ,SAAUxC,GAAOH,OAAOmI,eAAe1G,EAAQtB,EAAKH,OAAOqI,yBAAyB3G,EAAQvB,GAAO,GAAI,CAAE,OAAOsB,CAAQ,CACzf,SAAS6yI,GAAgB9nI,EAAKrM,EAAKO,GAAiK,OAApJP,KAAOqM,EAAOxM,OAAOmI,eAAeqE,EAAKrM,EAAK,CAAEO,MAAOA,EAAOorB,YAAY,EAAM+2B,cAAc,EAAMyC,UAAU,IAAkB94C,EAAIrM,GAAOO,EAAgB8L,CAAK,CAMhN,IAAIrF,GAAY0yI,GAAcA,GAAc,CAAC,EAAGuyC,GAAWjlL,WAAY,CAAC,EAAG,CACzE20D,SAAU+mD,KAAAA,UAAoB,CAACA,KAAAA,QAAkBA,KAAAA,MAAiBA,KAAAA,OAClE/+B,IAAKgvL,GACLU,UAAW3wJ,KAAAA,OACX4wJ,gBAAiB5wJ,KAAAA,OACjBxrD,UAAWwrD,KAAAA,OACX+vJ,UAAW/vJ,KAAAA,OACX6wJ,SAAU7wJ,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAAkBA,KAAAA,SAEjEh8G,GAAegzI,GAAcA,GAAc,CAAC,EAAGuyC,GAAWvlL,cAAe,CAAC,EAAG,CAC/EqvK,QAAS68F,GACTzmF,QAAQ,EACRE,OAAO,EACPW,MAAM,EACN,IAAM,IAER,SAASk4E,GAAKrkJ,GACZ,IAAInvD,GAAM+tE,EAAAA,EAAAA,QAAO,MACb+zI,EAAa3yJ,EAAMl9B,IACrB6lG,OAAqB,IAAfgqF,EAAwB,MAAQA,EACtCC,EAAmB5yJ,EAAMwyJ,UACzBA,OAAiC,IAArBI,EAA8B,OAASA,EACnDC,EAAwB7yJ,EAAMyyJ,gBAC9BA,OAA4C,IAA1BI,EAAmC,OAASA,EAC9Dx8M,EAAY2pD,EAAM3pD,UAClBu7M,EAAY5xJ,EAAM4xJ,UAClB92M,EAAWklD,EAAMllD,SACjBg4M,EAAkB9yJ,EAAM0yJ,SACxBA,OAA+B,IAApBI,EAA6BjiN,EAAMiiN,EAC9CC,EAAa16G,GAAyBr4C,EAAO8lE,IAC3CktF,ENuBC,SAAcxnQ,EAAKzK,GAKxB,IAJA,IAEI5B,EAFA8zQ,EAAWt0Q,MAAMC,QAAQmC,GAAQA,EAAO,CAACA,GACzCxC,EAAS00Q,EAAS10Q,OAElBgX,EAAS,CAAC,EACPhX,EAAS,GAGdgX,EADApW,EAAM8zQ,EADN10Q,GAAU,IAEIiN,EAAIrM,GAEpB,OAAOoW,CACT,CMlCwB29P,CAAKr6H,GAAc,CACvChzI,aAAcA,IACbktQ,GAAaf,IACZlkF,EAAanxC,GAAKo2H,EAAYf,IAClC,OAAoBtzF,EAAAA,cAAoB0M,GAAY14C,GAAS,CAC3D25C,QAASqmF,GACRM,IAAkB,SAAUl9O,GAC7B,IAAIm5G,EAAsB,YAAXn5G,EACX13B,EAAUuzQ,GAAgBxzQ,KAAWk4D,EAAWm8M,EAAWvjI,GAAYwjI,GAAkBb,GAC7F,OAAoBlzF,EAAAA,cAAoBiK,EAAKj2C,GAAS,CACpDr8E,UAAWj4D,GACV0vL,EAAY,CACbj9H,IAAK6hN,IACH53M,EACN,GACF,CACAupM,GAAKl+P,UAAYA,GACjBk+P,GAAKx+P,aAAeA,GACpB,UC5DA,SAASmsI,GAAQxmI,GAAkC,OAAOwmI,GAAU,mBAAqB/xI,QAAU,iBAAmBA,OAAOyiH,SAAW,SAAUl3G,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBvL,QAAUuL,EAAI7G,cAAgB1E,QAAUuL,IAAQvL,OAAOhB,UAAY,gBAAkBuM,CAAK,EAAGwmI,GAAQxmI,EAAM,CAC/U,SAASktI,GAAQp3I,EAAQq3I,GAAkB,IAAI53I,EAAO/B,OAAO+B,KAAKO,GAAS,GAAItC,OAAOgC,sBAAuB,CAAE,IAAI43I,EAAU55I,OAAOgC,sBAAsBM,GAASq3I,IAAmBC,EAAUA,EAAQ33I,QAAO,SAAUkuB,GAAO,OAAOnwB,OAAOqI,yBAAyB/F,EAAQ6tB,GAAKrE,UAAY,KAAK/pB,EAAKrC,KAAKI,MAAMiC,EAAM63I,EAAU,CAAE,OAAO73I,CAAM,CACpV,SAAS83I,GAAcp4I,GAAU,IAAK,IAAIpC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIqC,EAAS,MAAQpC,UAAUD,GAAKC,UAAUD,GAAK,CAAC,EAAGA,EAAI,EAAIq6I,GAAQ15I,OAAO0B,IAAS,GAAIiB,SAAQ,SAAUxC,GAAOm0I,GAAgB7yI,EAAQtB,EAAKuB,EAAOvB,GAAO,IAAKH,OAAO85I,0BAA4B95I,OAAO+5I,iBAAiBt4I,EAAQzB,OAAO85I,0BAA0Bp4I,IAAWg4I,GAAQ15I,OAAO0B,IAASiB,SAAQ,SAAUxC,GAAOH,OAAOmI,eAAe1G,EAAQtB,EAAKH,OAAOqI,yBAAyB3G,EAAQvB,GAAO,GAAI,CAAE,OAAOsB,CAAQ,CACzf,SAASiyI,KAAiS,OAApRA,GAAW1zI,OAAO8b,OAAS9b,OAAO8b,OAAOumB,OAAS,SAAU5gC,GAAU,IAAK,IAAIpC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIqC,EAASpC,UAAUD,GAAI,IAAK,IAAIc,KAAOuB,EAAc1B,OAAOC,UAAUf,eAAekB,KAAKsB,EAAQvB,KAAQsB,EAAOtB,GAAOuB,EAAOvB,GAAU,CAAE,OAAOsB,CAAQ,EAAUiyI,GAAS5zI,MAAMgE,KAAMxE,UAAY,CAClV,SAASg1I,GAAgB9nI,EAAKrM,EAAKO,GAAiK,OAApJP,KAAOqM,EAAOxM,OAAOmI,eAAeqE,EAAKrM,EAAK,CAAEO,MAAOA,EAAOorB,YAAY,EAAM+2B,cAAc,EAAMyC,UAAU,IAAkB94C,EAAIrM,GAAOO,EAAgB8L,CAAK,CAEhN,SAASmnI,GAAkBlyI,EAAQu/G,GAAS,IAAK,IAAI3hH,EAAI,EAAGA,EAAI2hH,EAAMzhH,OAAQF,IAAK,CAAE,IAAI0J,EAAai4G,EAAM3hH,GAAI0J,EAAW+iB,WAAa/iB,EAAW+iB,aAAc,EAAO/iB,EAAW85C,cAAe,EAAU,UAAW95C,IAAYA,EAAWu8C,UAAW,GAAMtlD,OAAOmI,eAAe1G,EAAQsH,EAAW5I,IAAK4I,EAAa,CAAE,CAG5T,SAAS6qI,GAAgB5zH,EAAGtW,GAA6I,OAAxIkqI,GAAkB5zI,OAAOuN,eAAiBvN,OAAOuN,eAAe80B,OAAS,SAAyBriB,EAAGtW,GAAsB,OAAjBsW,EAAExS,UAAY9D,EAAUsW,CAAG,EAAU4zH,GAAgB5zH,EAAGtW,EAAI,CACvM,SAASmqI,GAAaC,GAAW,IAAIC,EAGrC,WAAuC,GAAuB,qBAAZnwB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAU8rB,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFrqF,QAAQtlD,UAAUmtF,QAAQhtF,KAAKwjH,QAAQC,UAAUt+D,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOv8C,IAAK,OAAO,CAAO,CAAE,CAHvQgrI,GAA6B,OAAO,WAAkC,IAAsCz9H,EAAlC09H,EAAQC,GAAgBJ,GAAkB,GAAIC,EAA2B,CAAE,IAAII,EAAYD,GAAgBpwI,MAAM6B,YAAa4Q,EAASqtG,QAAQC,UAAUowB,EAAO30I,UAAW60I,EAAY,MAAS59H,EAAS09H,EAAMn0I,MAAMgE,KAAMxE,WAAc,OACpX,SAAoC6E,EAAM/D,GAAQ,GAAIA,IAA2B,WAAlB4yI,GAAQ5yI,IAAsC,oBAATA,GAAwB,OAAOA,EAAa,QAAa,IAATA,EAAmB,MAAM,IAAIqN,UAAU,4DAA+D,OAAO2mI,GAAuBjwI,EAAO,CAD4FkwI,CAA2BvwI,KAAMyS,EAAS,CAAG,CAExa,SAAS69H,GAAuBjwI,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIurI,eAAe,6DAAgE,OAAOvrI,CAAM,CAErK,SAAS+vI,GAAgBl0H,GAA+J,OAA1Jk0H,GAAkBl0I,OAAOuN,eAAiBvN,OAAOsI,eAAe+5B,OAAS,SAAyBriB,GAAK,OAAOA,EAAExS,WAAaxN,OAAOsI,eAAe0X,EAAI,EAAUk0H,GAAgBl0H,EAAI,CAOnN,SAAS+vI,KAAQ,CACjB,IAAIokH,GAAgBtxJ,KAAAA,MAAgBwiJ,GAAKl+P,WACrCA,GAAY,CAEdw9H,UAAW9hB,KAAAA,KAEXo+I,SAAUp+I,KAAAA,UAAoB,CAACA,KAAAA,KAAgBA,KAAAA,MAAgB,CAAC,aAEhEukJ,kBAAmBvkJ,KAAAA,OACnBg/I,mBAAoBsS,GAEpBxO,SAAU9iJ,KAAAA,KAEV/mD,SAAU+mD,KAAAA,KAEV6iJ,iBAAkB7iJ,KAAAA,OAClBxrD,UAAWwrD,KAAAA,OACXlrD,UAAWk7M,GACXD,UAAW/vJ,KAAAA,OACXuxJ,SAAUvxJ,KAAAA,KAEVoyC,KAAMpyC,KAAAA,KAEN+iJ,WAAY/iJ,KAAAA,UAAoB,CAACA,KAAAA,KAAgBA,KAAAA,MAAgB,CAAC,KAAM,KAAM,KAAM,SACpF6wJ,SAAU7wJ,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAAkBA,KAAAA,OAEnEwxJ,OAAQxxJ,KAAAA,KAERyuE,SAAUzuE,KAAAA,KAEVyxJ,WAAYzxJ,KAAAA,OACZ0xJ,eAAgB1xJ,KAAAA,OAChB2xJ,gBAAiBL,GAEjBM,SAAU5xJ,KAAAA,KAEVorE,QAASprE,KAAAA,KAETurE,OAAQvrE,KAAAA,KAER6xJ,SAAU7xJ,KAAAA,KAEV8xJ,sBAAuB9xJ,KAAAA,KAEvBqsB,KAAMrsB,KAAAA,OAENgjJ,WAAYhjJ,KAAAA,KAEZzpG,KAAMypG,KAAAA,OAEN+xJ,OAAQ/xJ,KAAAA,KACRgyJ,UAAWhyJ,KAAAA,KAEXiyJ,eAAgBjyJ,KAAAA,KAChBkyJ,cAAelyJ,KAAAA,OACfppD,OAAQopD,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,UAE7CmyJ,GAAch1Q,OAAO+B,KAAKoF,IAC1BN,GAAe,CACjBwtQ,QAAQ,EACR1vI,WAAW,EACXghI,UAAU,EACVE,YAAY,EACZ32H,KAAM,SACN+xH,UAAU,EACV3vE,UAAU,EACV73H,OAAQ,KACRw7F,MAAM,EACNy/G,SAAU3kH,GACV0kH,SAAU1kH,GACVykH,gBAAiB,CACft+F,QAAS68F,IAEXlR,mBAAoB,CAClBj1E,cAAc,EACd1W,QAAS68F,IAGX+B,gBAAgB,EAChBH,uBAAuB,EACvBh9M,UAAW,OACXk9M,WAAW,GAETxT,GAAqB,SAAU3nG,IAhGnC,SAAmBjlB,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIjnI,UAAU,sDAAyDgnI,EAASx0I,UAAYD,OAAO4N,OAAO8mI,GAAcA,EAAWz0I,UAAW,CAAE0F,YAAa,CAAEjF,MAAO+zI,EAAUnvF,UAAU,EAAMzC,cAAc,KAAW7iD,OAAOmI,eAAessI,EAAU,YAAa,CAAEnvF,UAAU,IAAcovF,GAAYd,GAAgBa,EAAUC,EAAa,CAiGjcC,CAAU0sH,EAAO3nG,GACjB,IAnGoB9kB,EAAaC,EAAYC,EAmGzCxmI,EAASulI,GAAawtH,GAC1B,SAASA,EAAMrgJ,GACb,IAAItyG,EAoBJ,OA3HJ,SAAyBsnC,EAAU4+F,GAAe,KAAM5+F,aAAoB4+F,GAAgB,MAAM,IAAInnI,UAAU,oCAAwC,CAwGpJsnI,CAAgBjxI,KAAMu9P,IACtB3yP,EAAQJ,EAAOlO,KAAK0D,KAAMk9G,IACpBtsG,SAAW,KACjBhG,EAAMumQ,qBAAuB,KAC7BvmQ,EAAMwmQ,qBAAuBxmQ,EAAMwmQ,qBAAqB7yO,KAAK+xG,GAAuB1lI,IACpFA,EAAMs1P,oBAAsBt1P,EAAMs1P,oBAAoB3hO,KAAK+xG,GAAuB1lI,IAClFA,EAAMymQ,wBAA0BzmQ,EAAMymQ,wBAAwB9yO,KAAK+xG,GAAuB1lI,IAC1FA,EAAM0mQ,aAAe1mQ,EAAM0mQ,aAAa/yO,KAAK+xG,GAAuB1lI,IACpEA,EAAM2mQ,8BAAgC3mQ,EAAM2mQ,8BAA8BhzO,KAAK+xG,GAAuB1lI,IACtGA,EAAM4mQ,UAAY5mQ,EAAM4mQ,UAAUjzO,KAAK+xG,GAAuB1lI,IAC9DA,EAAMgmQ,SAAWhmQ,EAAMgmQ,SAASryO,KAAK+xG,GAAuB1lI,IAC5DA,EAAM+lQ,SAAW/lQ,EAAM+lQ,SAASpyO,KAAK+xG,GAAuB1lI,IAC5DA,EAAM6mQ,sBAAwB7mQ,EAAM6mQ,sBAAsBlzO,KAAK+xG,GAAuB1lI,IACtFA,EAAM8mQ,8BAAgC9mQ,EAAM8mQ,8BAA8BnzO,KAAK+xG,GAAuB1lI,IACtGA,EAAMmmQ,UAAYnmQ,EAAMmmQ,UAAUxyO,KAAK+xG,GAAuB1lI,IAC9DA,EAAMspD,MAAQ,CACZq8M,QAAQ,EACRoB,6BAA6B,GAExB/mQ,CACT,CA0WA,OApeoBkmI,EA2HPysH,EA3HoBxsH,EA2Hb,CAAC,CACnB10I,IAAK,oBACLO,MAAO,WACL,IAAIy1I,EAAcryI,KAAKk9G,MACrBqzJ,EAASl+H,EAAYk+H,OACrB1vI,EAAYwR,EAAYxR,UACxBspD,EAAU93C,EAAY83C,QACpBomF,IACFvwQ,KAAK4/I,OACL5/I,KAAKosI,SAAS,CACZmkI,QAAQ,IAEN1vI,GACF7gI,KAAKi3O,YAGL9sD,GACFA,IAIF1yK,SAAS29C,iBAAiB,QAASp1D,KAAK+wQ,WAAW,GACnD/wQ,KAAK4xQ,YAAa,CACpB,GACC,CACDv1Q,IAAK,qBACLO,MAAO,SAA4Bw3I,EAAW2hB,GAC5C,GAAI/1J,KAAKk9G,MAAMqzJ,SAAWn8H,EAAUm8H,OAMlC,OALAvwQ,KAAK4/I,YACL5/I,KAAKosI,SAAS,CACZmkI,QAAQ,IAORvwQ,KAAKk9G,MAAM2jB,WAAa7gI,KAAKk0D,MAAMq8M,SAAWx6G,EAAUw6G,QAC1DvwQ,KAAKi3O,WAEHj3O,KAAK4Q,UAAYwjI,EAAUz+E,SAAW31D,KAAKk9G,MAAMvnD,SACnD31D,KAAK4Q,SAAS4B,MAAMmjD,OAAS31D,KAAKk9G,MAAMvnD,OAE5C,GACC,CACDt5D,IAAK,uBACLO,MAAO,WACLoD,KAAK0xQ,gCACD1xQ,KAAKk9G,MAAMotE,QACbtqL,KAAKk9G,MAAMotE,SAETtqL,KAAK4Q,WACP5Q,KAAKmB,WACDnB,KAAKk9G,MAAMqzJ,QAAUvwQ,KAAKk0D,MAAMq8M,SAClCvwQ,KAAK+4C,SAGTthC,SAAS+sG,oBAAoB,QAASxkH,KAAK+wQ,WAAW,GACtD/wQ,KAAK4xQ,YAAa,CACpB,GAGC,CACDv1Q,IAAK,sBACLO,MAAO,SAA6BsI,GAClC,GAAIA,EAAEvH,SAAWqC,KAAK6xQ,kBAAmB,CACvC3sQ,EAAE2hH,kBACF,IAAIs2I,EAAWn9P,KAAK8xQ,QAAU9xQ,KAAK8xQ,QAAQliN,WAAa,KAIxD,GAHIutM,GAAYj4P,EAAEvH,SAAWw/P,GAAoC,WAAxBn9P,KAAKk9G,MAAMigJ,UAClDn9P,KAAKuxQ,iCAEFvxQ,KAAKk9G,MAAMqzJ,SAAkC,IAAxBvwQ,KAAKk9G,MAAMigJ,SAAmB,OACpDA,GAAYj4P,EAAEvH,SAAWw/P,GAAYn9P,KAAKk9G,MAAM4zJ,QAClD9wQ,KAAKk9G,MAAM4zJ,OAAO5rQ,EAEtB,CACF,GACC,CACD7I,IAAK,YACLO,MAAO,SAAmBsI,GACxB,GAAgB,IAAZA,EAAEulH,SACFzqH,KAAK+xQ,WAAaxU,EAAMyU,UAAY,GAAxC,CAEA,IAAIC,EAAoBjyQ,KAAKoxQ,uBACzBc,EAAiBD,EAAkBx2Q,OACvC,GAAuB,IAAnBy2Q,EAAJ,CAGA,IAFA,IAAIC,EAAenyQ,KAAKoyQ,kBACpBC,EAAe,EACV92Q,EAAI,EAAGA,EAAI22Q,EAAgB32Q,GAAK,EACvC,GAAI02Q,EAAkB12Q,KAAO42Q,EAAc,CACzCE,EAAe92Q,EACf,KACF,CAEE2J,EAAEsjH,UAA6B,IAAjB6pJ,GAChBntQ,EAAEoiH,iBACF2qJ,EAAkBC,EAAiB,GAAGtkJ,SAC5B1oH,EAAEsjH,UAAY6pJ,IAAiBH,EAAiB,IAC1DhtQ,EAAEoiH,iBACF2qJ,EAAkB,GAAGrkJ,QAdS,CAJiB,CAoBnD,GACC,CACDvxH,IAAK,0BACLO,MAAO,SAAiCsI,GACtClF,KAAK6xQ,kBAAoB3sQ,EAAEvH,MAC7B,GACC,CACDtB,IAAK,eACLO,MAAO,SAAsBsI,GACvBlF,KAAKk9G,MAAMqzJ,QAAUrrQ,EAAE4hH,UAAYqoJ,IAAgBnvQ,KAAKk9G,MAAM4zJ,SAC5D9wQ,KAAKk9G,MAAMswE,UACbtoL,EAAEoiH,iBACFpiH,EAAE2hH,kBACF7mH,KAAKk9G,MAAM4zJ,OAAO5rQ,IACe,WAAxBlF,KAAKk9G,MAAMigJ,WACpBj4P,EAAEoiH,iBACFpiH,EAAE2hH,kBACF7mH,KAAKuxQ,iCAGX,GACC,CACDl1Q,IAAK,gCACLO,MAAO,WACL,IAAIy3I,EAASr0I,KACbA,KAAK0xQ,gCACL1xQ,KAAKosI,SAAS,CACZulI,6BAA6B,IAE/B3xQ,KAAKsyQ,0BAA4Bt+O,YAAW,WAC1CqgH,EAAOjI,SAAS,CACdulI,6BAA6B,GAEjC,GAAG,IACL,GACC,CACDt1Q,IAAK,WACLO,MAAO,SAAkB4hH,EAAMkjJ,GAC7B1hQ,KAAKk9G,MAAM0zJ,YACV5wQ,KAAKk9G,MAAMwzJ,gBAAgBxmF,WAAaj+B,IAAMztC,EAAMkjJ,EACvD,GACC,CACDrlQ,IAAK,WACLO,MAAO,SAAkB4hH,GACvB,IAAIwyJ,EAAiBhxQ,KAAKk9G,MAAM8zJ,eAEhChxQ,KAAKk9G,MAAMyzJ,YACV3wQ,KAAKk9G,MAAMwzJ,gBAAgBlmF,UAAYv+B,IAAMztC,GAC1CwyJ,GACFhxQ,KAAKmB,UAEPnB,KAAK+4C,QACD/4C,KAAK4xQ,YACP5xQ,KAAKosI,SAAS,CACZmkI,QAAQ,GAGd,GACC,CACDl0Q,IAAK,WACLO,MAAO,WACDoD,KAAK8xQ,SAAW9xQ,KAAK8xQ,QAAQliN,YAAuD,oBAAlC5vD,KAAK8xQ,QAAQliN,WAAWg+D,OAC5E5tH,KAAK8xQ,QAAQliN,WAAWg+D,OAE5B,GACC,CACDvxH,IAAK,uBACLO,MAAO,WACL,OAAOoD,KAAK4Q,SAASw2H,iBAAiBooI,GAAkBjzQ,KAAK,MAC/D,GACC,CACDF,IAAK,kBACLO,MAAO,WACL,IAAIu1Q,EACAF,EAAoBjyQ,KAAKoxQ,uBAC7B,IACEe,EAAe16P,SAAS+oG,aAC1B,CAAE,MAAOzC,GACPo0J,EAAeF,EAAkB,EACnC,CACA,OAAOE,CACT,GACC,CACD91Q,IAAK,YACLO,MAAO,SAAmB21Q,GACxB,GAAKvyQ,KAAKk9G,MAAM6zJ,WAGX/wQ,KAAK4Q,YAIN5Q,KAAK8xQ,SAAW9xQ,KAAK8xQ,QAAQliN,aAAe2iN,EAAG50Q,WAI/CqC,KAAK+xQ,WAAaxU,EAAMyU,UAAY,GAAxC,CAKA,IADA,IAAIh6M,EAAWh4D,KAAKoxQ,uBACX71Q,EAAI,EAAGA,EAAIy8D,EAASv8D,OAAQF,GAAK,EAExC,GAAIy8D,EAASz8D,KAAOg3Q,EAAG50Q,OAAQ,OAE7Bq6D,EAASv8D,OAAS,IAEpB82Q,EAAGjrJ,iBACHirJ,EAAG1rJ,kBACH7uD,EAAS,GAAG41D,QAVd,CAYF,GACC,CACDvxH,IAAK,OACLO,MAAO,WACL,IACEoD,KAAKwyQ,mBAAqB/6P,SAAS+oG,aACrC,CAAE,MAAOzC,GACP/9G,KAAKwyQ,mBAAqB,IAC5B,CACKxyQ,KAAK4Q,WACR5Q,KAAK4Q,SAAW6G,SAASgc,cAAc,OACvCzzB,KAAK4Q,SAASs3E,aAAa,WAAY,MACvCloF,KAAK4Q,SAAS4B,MAAMkiD,SAAW,WAC/B10D,KAAK4Q,SAAS4B,MAAMmjD,OAAS31D,KAAKk9G,MAAMvnD,OACxC31D,KAAKyyQ,gBPpIN,SAAmB90Q,EAAQ+0Q,GAChC,IAAInD,EAAMH,GAAgBzxQ,GAC1B,OAAI+0Q,EACEpD,GAAkBC,GACbA,EAEG,OAARA,EACK,GAEF,CAACA,GAEND,GAAkBC,GACbA,EAAI,GAENA,CACT,COqH+BoD,CAAU3yQ,KAAKk9G,MAAMrpD,WAC5C7zD,KAAKyyQ,gBAAgBt9M,YAAYn1D,KAAK4Q,WAExC5Q,KAAKmxQ,qBPhVJ,WACL,IAAI3+P,EAAQrS,OAAOyS,iBAAiB6E,SAAS9L,KAAM,MACnD,OAAOuG,SAASM,GAASA,EAAMm0K,iBAAiB,kBAAoB,EAAG,GACzE,CO6UkCisF,GACxBrV,EAAMyU,UAAY,IACpBzU,EAAMsV,qBAAuB1yQ,OAAOyS,iBAAiB6E,SAAS9L,MAAMoF,UAEtE09P,KACwB,IAApBlR,EAAMyU,YACRv6P,SAAS9L,KAAK4nD,UAAYl4D,KAAWoc,SAAS9L,KAAK4nD,UAAWs7M,GAAgB,aAAc7uQ,KAAKk9G,MAAM4xJ,YACvGr3P,SAAS9L,KAAK6G,MAAMzB,SAAW,UAEjC/Q,KAAK+xQ,WAAaxU,EAAMyU,UACxBzU,EAAMyU,WAAa,CACrB,GACC,CACD31Q,IAAK,UACLO,MAAO,WACDoD,KAAK4Q,WACP5Q,KAAKyyQ,gBAAgBz8M,YAAYh2D,KAAK4Q,UACtC5Q,KAAK4Q,SAAW,MAElB5Q,KAAKyxQ,uBACP,GACC,CACDp1Q,IAAK,wBACLO,MAAO,WACL,GAAIoD,KAAKwyQ,mBAAoB,CAC3B,IAAI3B,EAAwB7wQ,KAAKk9G,MAAM2zJ,sBACnC7wQ,KAAKwyQ,mBAAmB5kJ,OAASijJ,GAAuB7wQ,KAAKwyQ,mBAAmB5kJ,QACpF5tH,KAAKwyQ,mBAAqB,IAC5B,CACF,GACC,CACDn2Q,IAAK,QACLO,MAAO,WACL,GAAI2gQ,EAAMyU,WAAa,EAAG,CACxB,IAAIc,EAAqBjE,GAAgB,aAAc7uQ,KAAKk9G,MAAM4xJ,WAE9DiE,EAA0B,IAAIlgN,OAAO,QAAQh1D,OAAOi1Q,EAAoB,UAC5Er7P,SAAS9L,KAAK4nD,UAAY97C,SAAS9L,KAAK4nD,UAAUjrD,QAAQyqQ,EAAyB,KAAK37P,OACxFK,SAAS9L,KAAK6G,MAAMzB,SAAWwsP,EAAMsV,oBACvC,CACA7yQ,KAAKyxQ,wBACLlU,EAAMyU,UAAY5iQ,KAAKC,IAAI,EAAGkuP,EAAMyU,UAAY,GAChDxD,GAAkBxuQ,KAAKmxQ,qBACzB,GACC,CACD90Q,IAAK,gCACLO,MAAO,WACDoD,KAAKsyQ,4BACPx3M,aAAa96D,KAAKsyQ,2BAClBtyQ,KAAKsyQ,+BAA4BnqQ,EAErC,GACC,CACD9L,IAAK,oBACLO,MAAO,WACL,IAAI+lO,EACFztF,EAASl1I,KACPs6I,EAAaT,GAAK75I,KAAKk9G,MAAOg0J,IAC9B8B,EAAkB,eACtB,OAAoBp3F,EAAAA,cAAoB,MAAOhsC,GAAS,CAAC,EAAG0K,EAAY,CACtE/mF,UAAWs7M,GAAgBxzQ,KAAW23Q,EAAiBhzQ,KAAKk9G,MAAM3pD,WAAYovK,EAAc,CAAC,EAAGnyF,GAAgBmyF,EAAa,SAAS9kO,OAAOmC,KAAKk9G,MAAM5nG,MAAOtV,KAAKk9G,MAAM5nG,MAAOk7H,GAAgBmyF,EAAa,GAAG9kO,OAAOm1Q,EAAiB,aAAchzQ,KAAKk9G,MAAM2kJ,UAAWrxH,GAAgBmyF,EAAa,GAAG9kO,OAAOm1Q,EAAiB,eAAgBhzQ,KAAKk9G,MAAM6kJ,YAAavxH,GAAgBmyF,EAAa,oBAA8C,IAA1B3iO,KAAKk9G,MAAM4kJ,YAAsBtxH,GAAgBmyF,EAAa,oBAAoB9kO,OAAOmC,KAAKk9G,MAAM4kJ,WAAY,SAA2C,kBAA1B9hQ,KAAKk9G,MAAM4kJ,YAA0Bn/B,IAAe3iO,KAAKk9G,MAAM4xJ,WAC9lB1jI,KAAM,WACNr9E,IAAK,SAAa3oD,GAChB8vI,EAAO48H,QAAU1sQ,CACnB,IACew2K,EAAAA,cAAoB,MAAO,CAC1CroH,UAAWs7M,GAAgBxzQ,KAAW,gBAAiB2E,KAAKk9G,MAAM0kJ,kBAAmB5hQ,KAAKk9G,MAAM4xJ,YAC/F9uQ,KAAKk9G,MAAMllD,UAChB,GACC,CACD37D,IAAK,SACLO,MAAO,WACL,IAAIo0Q,EAAiBhxQ,KAAKk9G,MAAM8zJ,eAChC,GAAMhxQ,KAAK4Q,WAAa5Q,KAAKk0D,MAAMq8M,SAAWS,GAAiB,CAC7D,IAAIiC,IAAkBjzQ,KAAK4Q,WAAa5Q,KAAKk0D,MAAMq8M,SAAWS,EAC9DhxQ,KAAK4Q,SAAS4B,MAAMmE,QAAUs8P,EAAgB,OAAS,QACvD,IAAIlgI,EAAe/yI,KAAKk9G,MACtB+zJ,EAAgBl+H,EAAak+H,cAC7BR,EAAiB19H,EAAa09H,eAC9BnN,EAAoBvwH,EAAauwH,kBACjCwL,EAAY/7H,EAAa+7H,UACzByB,EAASx9H,EAAaw9H,OACtBpT,EAAWpqH,EAAaoqH,SACxB/xH,EAAO2H,EAAa3H,KACpBolI,EAAaz9H,EAAay9H,WAC1BF,EAAWv9H,EAAau9H,SACxBV,EAAW78H,EAAa68H,SACtBsD,EAAkB,CACpBxyI,QAAS1gI,KAAKkgQ,oBACd/kG,YAAan7J,KAAKqxQ,wBAClB8B,QAASnzQ,KAAKsxQ,aACd31G,UAAW37J,KAAKwxQ,UAChBh/P,MAAO,CACLmE,QAAS,SAEX,kBAAmB65P,EACnB,cAAc,EACdplI,KAAMA,EACNC,SAAU,MAER+nI,EAAgBpzQ,KAAKk9G,MAAMi0C,KAC3Bu/G,EAAkB36H,GAAcA,GAAcA,GAAc,CAAC,EAAGwrH,GAAKx+P,cAAe/C,KAAKk9G,MAAMwzJ,iBAAkB,CAAC,EAAG,CACvHhB,UAAW0D,EAAgBpzQ,KAAKk9G,MAAMwzJ,gBAAgBhB,UAAY,GAClEt9F,QAASghG,EAAgBpzQ,KAAKk9G,MAAMwzJ,gBAAgBt+F,QAAU,IAE5D2rF,EAAqBhoH,GAAcA,GAAcA,GAAc,CAAC,EAAGwrH,GAAKx+P,cAAe/C,KAAKk9G,MAAM6gJ,oBAAqB,CAAC,EAAG,CAC7H2R,UAAW0D,EAAgBpzQ,KAAKk9G,MAAM6gJ,mBAAmB2R,UAAY,GACrEt9F,QAASghG,EAAgBpzQ,KAAKk9G,MAAM6gJ,mBAAmB3rF,QAAU,IAE/DihG,EAAWlW,IAAaiW,EAA6Bx3F,EAAAA,cAAoB2lF,GAAM3xH,GAAS,CAAC,EAAGmuH,EAAoB,CAClH,GAAMwS,KAAYpT,EAClB2R,UAAWA,EACXv7M,UAAWs7M,GAAgBxzQ,KAAW,iBAAkBioQ,GAAoBwL,MAC3DlzF,EAAAA,cAAoB,MAAO,CAC5CroH,UAAWs7M,GAAgBxzQ,KAAW,iBAAkB,OAAQioQ,GAAoBwL,MAEtF,OAAoBlzF,EAAAA,cAAoB90K,GAAQ,CAC9C03G,KAAMx+G,KAAK4Q,UACGgrK,EAAAA,cAAoB,MAAO,CACzCroH,UAAWs7M,GAAgBoC,IACbr1F,EAAAA,cAAoB2lF,GAAM3xH,GAAS,CAAC,EAAGsjI,EAAiBxC,EAAiB,CACvF,GAAMH,EACNrmF,UAAWlqL,KAAK4wQ,SAChBpmF,SAAUxqL,KAAK2wQ,SACf7B,UAAWA,EACXv7M,UAAWs7M,GAAgBxzQ,KAAW,QAASo1Q,EAAgBzwQ,KAAKk0D,MAAMy9M,6BAA+B,gBAAiB7C,GAC1Hc,SAAUA,IACRU,EAAUtwQ,KAAKszQ,qBAAsBD,GAC3C,CACA,OAAO,IACT,IAle8DtiI,GAAYlB,GAAkBiB,EAAY30I,UAAW40I,GAAiBC,GAAanB,GAAkBiB,EAAaE,GAAc90I,OAAOmI,eAAeysI,EAAa,YAAa,CAAEtvF,UAAU,IAoerP+7M,CACT,CApYyB,CAoYvB3hF,EAAAA,WACF2hF,GAAMl6P,UAAYA,GAClBk6P,GAAMx6P,aAAeA,GACrBw6P,GAAMyU,UAAY,EAClBzU,GAAMsV,qBAAuB,KAC7B,UCjfI7vF,GAAY,CAAC,YAAa,YAAa,OAC3C,SAASpzC,KAAiS,OAApRA,GAAW1zI,OAAO8b,OAAS9b,OAAO8b,OAAOumB,OAAS,SAAU5gC,GAAU,IAAK,IAAIpC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIqC,EAASpC,UAAUD,GAAI,IAAK,IAAIc,KAAOuB,EAAc1B,OAAOC,UAAUf,eAAekB,KAAKsB,EAAQvB,KAAQsB,EAAOtB,GAAOuB,EAAOvB,GAAU,CAAE,OAAOsB,CAAQ,EAAUiyI,GAAS5zI,MAAMgE,KAAMxE,UAAY,CAClV,SAAS+5J,GAAyB33J,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAAkEvB,EAAKd,EAAnEoC,EACzF,SAAuCC,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAA2DvB,EAAKd,EAA5DoC,EAAS,CAAC,EAAO83J,EAAav5J,OAAO+B,KAAKL,GAAqB,IAAKrC,EAAI,EAAGA,EAAIk6J,EAAWh6J,OAAQF,IAAOc,EAAMo5J,EAAWl6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,IAAasB,EAAOtB,GAAOuB,EAAOvB,IAAQ,OAAOsB,CAAQ,CADhN+3J,CAA8B93J,EAAQ43J,GAAuB,GAAIt5J,OAAOgC,sBAAuB,CAAE,IAAIy3J,EAAmBz5J,OAAOgC,sBAAsBN,GAAS,IAAKrC,EAAI,EAAGA,EAAIo6J,EAAiBl6J,OAAQF,IAAOc,EAAMs5J,EAAiBp6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,GAAkBH,OAAOC,UAAUkC,qBAAqB/B,KAAKsB,EAAQvB,KAAgBsB,EAAOtB,GAAOuB,EAAOvB,GAAQ,CAAE,OAAOsB,CAAQ,CAM3e,IAAI0F,GAAY,CAEdkwD,UAAWwrD,KAAAA,OAEX+vJ,UAAW/vJ,KAAAA,OAEX/+B,IAAKgvL,IAEP,SAAS/J,GAAU/nJ,GACjB,IAAI3pD,EAAY2pD,EAAM3pD,UACpBu7M,EAAY5xJ,EAAM4xJ,UAClBe,EAAa3yJ,EAAMl9B,IACnB6lG,OAAqB,IAAfgqF,EAAwB,MAAQA,EACtCv1H,EAAaib,GAAyBr4C,EAAO8lE,IAC3C1nL,EAAUuzQ,GAAgBxzQ,KAAWk4D,EAAW,cAAeu7M,GACnE,OAAoBlzF,EAAAA,cAAoBiK,EAAKj2C,GAAS,CAAC,EAAG0K,EAAY,CACpE/mF,UAAWj4D,IAEf,CACA2pQ,GAAU5hQ,UAAYA,GACtB,UC5BI2/K,GAAY,CAAC,YAAa,YAAa,UAAW,YACtD,SAASpzC,KAAiS,OAApRA,GAAW1zI,OAAO8b,OAAS9b,OAAO8b,OAAOumB,OAAS,SAAU5gC,GAAU,IAAK,IAAIpC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIqC,EAASpC,UAAUD,GAAI,IAAK,IAAIc,KAAOuB,EAAc1B,OAAOC,UAAUf,eAAekB,KAAKsB,EAAQvB,KAAQsB,EAAOtB,GAAOuB,EAAOvB,GAAU,CAAE,OAAOsB,CAAQ,EAAUiyI,GAAS5zI,MAAMgE,KAAMxE,UAAY,CAClV,SAASo6I,GAAQp3I,EAAQq3I,GAAkB,IAAI53I,EAAO/B,OAAO+B,KAAKO,GAAS,GAAItC,OAAOgC,sBAAuB,CAAE,IAAI43I,EAAU55I,OAAOgC,sBAAsBM,GAASq3I,IAAmBC,EAAUA,EAAQ33I,QAAO,SAAUkuB,GAAO,OAAOnwB,OAAOqI,yBAAyB/F,EAAQ6tB,GAAKrE,UAAY,KAAK/pB,EAAKrC,KAAKI,MAAMiC,EAAM63I,EAAU,CAAE,OAAO73I,CAAM,CAEpV,SAASuyI,GAAgB9nI,EAAKrM,EAAKO,GAAiK,OAApJP,KAAOqM,EAAOxM,OAAOmI,eAAeqE,EAAKrM,EAAK,CAAEO,MAAOA,EAAOorB,YAAY,EAAM+2B,cAAc,EAAMyC,UAAU,IAAkB94C,EAAIrM,GAAOO,EAAgB8L,CAAK,CAChN,SAAS6sJ,GAAyB33J,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAAkEvB,EAAKd,EAAnEoC,EACzF,SAAuCC,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAA2DvB,EAAKd,EAA5DoC,EAAS,CAAC,EAAO83J,EAAav5J,OAAO+B,KAAKL,GAAqB,IAAKrC,EAAI,EAAGA,EAAIk6J,EAAWh6J,OAAQF,IAAOc,EAAMo5J,EAAWl6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,IAAasB,EAAOtB,GAAOuB,EAAOvB,IAAQ,OAAOsB,CAAQ,CADhN+3J,CAA8B93J,EAAQ43J,GAAuB,GAAIt5J,OAAOgC,sBAAuB,CAAE,IAAIy3J,EAAmBz5J,OAAOgC,sBAAsBN,GAAS,IAAKrC,EAAI,EAAGA,EAAIo6J,EAAiBl6J,OAAQF,IAAOc,EAAMs5J,EAAiBp6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,GAAkBH,OAAOC,UAAUkC,qBAAqB/B,KAAKsB,EAAQvB,KAAgBsB,EAAOtB,GAAOuB,EAAOvB,GAAQ,CAAE,OAAOsB,CAAQ,CAM3e,IAAI0F,GAAY,CAEdsnL,OAAQ5rE,KAAAA,KAER,aAAcA,KAAAA,OAEd2hB,QAAS3hB,KAAAA,KAETxzD,QAASwzD,KAAAA,MAAgB,CAAC,UAC1BxrD,UAAWwrD,KAAAA,OACX+vJ,UAAW/vJ,KAAAA,OACX6wJ,SAAU7wJ,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OAAkBA,KAAAA,QAErE,SAASmjJ,GAAYhlJ,GACnB,IAAI3pD,EAAY2pD,EAAM3pD,UAEpBhI,GADY2xD,EAAM4xJ,UACR5xJ,EAAM3xD,SAChBqkN,EAAW1yJ,EAAM0yJ,SACjBt1H,EAAaib,GAAyBr4C,EAAO8lE,IAC3C1nL,EAAUuzQ,GAAgBxzQ,KAAWk4D,EAAW,YAAahI,GAAW,aAAa1tD,OAAO0tD,KAChG,OAAoBqwH,EAAAA,cAAoB,SAAUhsC,GAAS,CACzD7hF,IAAK6hN,EACLtsQ,KAAM,SACNiwD,UAAWj4D,GA/Bf,SAAuBqC,GAAU,IAAK,IAAIpC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIqC,EAAS,MAAQpC,UAAUD,GAAKC,UAAUD,GAAK,CAAC,EAAGA,EAAI,EAAIq6I,GAAQ15I,OAAO0B,IAAS,GAAIiB,SAAQ,SAAUxC,GAAOm0I,GAAgB7yI,EAAQtB,EAAKuB,EAAOvB,GAAO,IAAKH,OAAO85I,0BAA4B95I,OAAO+5I,iBAAiBt4I,EAAQzB,OAAO85I,0BAA0Bp4I,IAAWg4I,GAAQ15I,OAAO0B,IAASiB,SAAQ,SAAUxC,GAAOH,OAAOmI,eAAe1G,EAAQtB,EAAKH,OAAOqI,yBAAyB3G,EAAQvB,GAAO,GAAI,CAAE,OAAOsB,CAAQ,CAgCpfo4I,CAAc,CACf,aAAc,SACbuE,IACL,CACA4nH,GAAY7+P,UAAYA,GACxB,UCxCI2/K,GAAY,CAAC,SAAU,aAAc,QAAS,YAAa,QAAS,YAAa,QAAS,UAAW,OAAQ,MAAO,YACxH,SAASpzC,KAAiS,OAApRA,GAAW1zI,OAAO8b,OAAS9b,OAAO8b,OAAOumB,OAAS,SAAU5gC,GAAU,IAAK,IAAIpC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIqC,EAASpC,UAAUD,GAAI,IAAK,IAAIc,KAAOuB,EAAc1B,OAAOC,UAAUf,eAAekB,KAAKsB,EAAQvB,KAAQsB,EAAOtB,GAAOuB,EAAOvB,GAAU,CAAE,OAAOsB,CAAQ,EAAUiyI,GAAS5zI,MAAMgE,KAAMxE,UAAY,CAClV,SAAS+5J,GAAyB33J,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAAkEvB,EAAKd,EAAnEoC,EACzF,SAAuCC,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAA2DvB,EAAKd,EAA5DoC,EAAS,CAAC,EAAO83J,EAAav5J,OAAO+B,KAAKL,GAAqB,IAAKrC,EAAI,EAAGA,EAAIk6J,EAAWh6J,OAAQF,IAAOc,EAAMo5J,EAAWl6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,IAAasB,EAAOtB,GAAOuB,EAAOvB,IAAQ,OAAOsB,CAAQ,CADhN+3J,CAA8B93J,EAAQ43J,GAAuB,GAAIt5J,OAAOgC,sBAAuB,CAAE,IAAIy3J,EAAmBz5J,OAAOgC,sBAAsBN,GAAS,IAAKrC,EAAI,EAAGA,EAAIo6J,EAAiBl6J,OAAQF,IAAOc,EAAMs5J,EAAiBp6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,GAAkBH,OAAOC,UAAUkC,qBAAqB/B,KAAKsB,EAAQvB,KAAgBsB,EAAOtB,GAAOuB,EAAOvB,GAAQ,CAAE,OAAOsB,CAAQ,CAO3e,IAAI0F,GAAY,CAEdsnL,OAAQ5rE,KAAAA,KAER,aAAcA,KAAAA,OACdw0J,MAAOx0J,KAAAA,KAEP/mD,SAAU+mD,KAAAA,KAEVxrD,UAAWwrD,KAAAA,OAEX+vJ,UAAW/vJ,KAAAA,OAEXhmE,MAAOgmE,KAAAA,KAEP9sG,MAAO8sG,KAAAA,OAEPmC,SAAUnC,KAAAA,KACV6wJ,SAAU7wJ,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,KAAgBA,KAAAA,SAEjE2hB,QAAS3hB,KAAAA,KAETjnD,QAASinD,KAAAA,KAETzpG,KAAMypG,KAAAA,OAEN/+B,IAAKgvL,IAEP,SAASlqN,GAAOo4D,GACd,IAAIwjB,GAAUpF,EAAAA,EAAAA,cAAY,SAAUp2H,GAClC,IAAIg4G,EAAMgE,SAIV,OAAIhE,EAAMwjB,QACDxjB,EAAMwjB,QAAQx7H,QADvB,EAHEA,EAAEoiH,gBAMN,GAAG,CAACpK,EAAMwjB,QAASxjB,EAAMgE,WACrBypE,EAASztE,EAAMytE,OACjBx/C,EAAYjuB,EAAM,cAClBq2J,EAAQr2J,EAAMq2J,MACdhgN,EAAY2pD,EAAM3pD,UAClBxa,EAAQmkE,EAAMnkE,MACd+1N,EAAY5xJ,EAAM4xJ,UAClB0E,EAAet2J,EAAMjrG,MACrBA,OAAyB,IAAjBuhQ,EAA0B,YAAcA,EAChD17M,EAAUolD,EAAMplD,QAChBxiD,EAAO4nG,EAAM5nG,KACbu6P,EAAa3yJ,EAAMl9B,IACnB6lG,OAAqB,IAAfgqF,EAAwB,SAAWA,EACzCD,EAAW1yJ,EAAM0yJ,SACjBt1H,EAAaib,GAAyBr4C,EAAO8lE,IAC/C,GAAIjqI,EACF,OAAoB6iI,EAAAA,cAAoBsmF,GAAa5nH,GAEvD,IAAIm5H,EAAkB,MAAM51Q,OAAOi6D,EAAU,WAAa,GAAI,KAAKj6D,OAAOoU,GACtE3W,EAAUuzQ,GAAgBxzQ,KAAWk4D,EAAW,MAAOkgN,IAAiBn+P,GAAO,OAAOzX,OAAOyX,KAAei+P,GAAQ,gBAAyB,CAC/I5oF,OAAQA,EACRzpE,SAAUhE,EAAMgE,WACd4tJ,GAIJ,OAHIx0H,EAAW1mH,MAAgB,WAARiyJ,IACrBA,EAAM,KAEYjK,EAAAA,cAAoBiK,EAAKj2C,GAAS,CACpDtsI,KAAc,WAARuiL,GAAoBvrC,EAAW5Z,QAAU,cAAWv4H,GACzDmyI,EAAY,CACb/mF,UAAWj4D,EACXyyD,IAAK6hN,EACLlvI,QAASA,EACT,aAAcyK,IAElB,CACArmF,GAAOzhD,UAAYA,GACnB,kLCkkDA,GA1lDe,WACb,IAAAihL,GACEvoD,EAAAA,EAAAA,UAAS,MAAKyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GADTovF,EAAyBllF,EAAA,GAAEmlF,EAA4BnlF,EAAA,GAExDumC,EAAe7W,IAAY,SAAChqJ,GAAK,OAAKA,EAAM8gK,WAAWvV,SAAS,IAEhE5kF,EAAWukF,KACjB1wB,GAA4B3yD,EAAAA,EAAAA,UAAS,IAAG4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAAjCoR,EAAMnR,EAAA,GAAEilF,EAASjlF,EAAA,GAElBzR,EAAWR,KAEjBoS,GAA8C/yD,EAAAA,EAAAA,WAAS,GAAMgzD,GAAAlxC,EAAAA,EAAAA,GAAAixC,EAAA,GAAtD+kF,EAAe9kF,EAAA,GAAE+kF,EAAkB/kF,EAAA,GAEpCglF,EAA2B,WAC/BD,GAAmB,SAAC/9G,GAAS,OAAMA,CAAS,GAC9C,EAEAm5B,GAAwDnzD,EAAAA,EAAAA,WAAS,GAAMozD,GAAAtxC,EAAAA,EAAAA,GAAAqxC,EAAA,GAAhE8kF,EAAoB7kF,EAAA,GAAE8kF,EAAuB9kF,EAAA,GAEpDgzB,GAAoCpmF,EAAAA,EAAAA,YAAUqmF,GAAAvkE,EAAAA,EAAAA,GAAAskE,EAAA,GAAvC+xD,EAAU9xD,EAAA,GAAE+xD,EAAa/xD,EAAA,GAE1BgyD,EAAgC,WACpCH,GAAwB,SAACl+G,GAAS,OAAMA,CAAS,GACnD,EAEAwsD,GAA8CxmF,EAAAA,EAAAA,WAAS,GAAMymF,GAAA3kE,EAAAA,EAAAA,GAAA0kE,EAAA,GAAtD8xD,EAAe7xD,EAAA,GAAE8xD,EAAkB9xD,EAAA,GACpC+xD,EAAmB,WAAH,OAASD,GAAoBD,EAAiB,EACpE1xD,GAA4B5mF,EAAAA,EAAAA,WAAS,GAAM6mF,GAAA/kE,EAAAA,EAAAA,GAAA8kE,EAAA,GAApCkN,EAAMjN,EAAA,GAAE4xD,EAAS5xD,EAAA,GACxBG,GAAsChnF,EAAAA,EAAAA,UAAS,GAAEinF,GAAAnlE,EAAAA,EAAAA,GAAAklE,EAAA,GAA1C0xD,EAAWzxD,EAAA,GAAE0xD,EAAc1xD,EAAA,GAClCG,GAAoCpnF,EAAAA,EAAAA,UAAS,IAAGqnF,GAAAvlE,EAAAA,EAAAA,GAAAslE,EAAA,GAAzC0Q,EAAUzQ,EAAA,GAAE0Q,EAAa1Q,EAAA,GAChCC,GAAwCtnF,EAAAA,EAAAA,UAAS,IAAGunF,GAAAzlE,EAAAA,EAAAA,GAAAwlE,EAAA,GAA7CsxD,EAAYrxD,EAAA,GAAEsxD,EAAetxD,EAAA,GACpCG,GAAkD1nF,EAAAA,EAAAA,UAAS,GAAE2nF,GAAA7lE,EAAAA,EAAAA,GAAA4lE,EAAA,GAAtDoxD,EAAiBnxD,EAAA,GAAEoxD,EAAoBpxD,EAAA,GAC9CG,GAAkC9nF,EAAAA,EAAAA,UAAS,CAAC,GAAE+nF,IAAAjmE,EAAAA,EAAAA,GAAAgmE,EAAA,GAAvCpE,GAASqE,GAAA,GAAEixD,GAAYjxD,GAAA,GAC9BG,IAAgDloF,EAAAA,EAAAA,UAAS,IAAGmoF,IAAArmE,EAAAA,EAAAA,GAAAomE,GAAA,GAArDw0C,GAAgBv0C,GAAA,GAAEw0C,GAAmBx0C,GAAA,GAC5CG,IAAoCtoF,EAAAA,EAAAA,YAAUuoF,IAAAzmE,EAAAA,EAAAA,GAAAwmE,GAAA,GAAvC4kB,GAAU3kB,GAAA,GAAE0wD,GAAa1wD,GAAA,GAChCG,IAAkC1oF,EAAAA,EAAAA,WAAS,GAAM2oF,IAAA7mE,EAAAA,EAAAA,GAAA4mE,GAAA,GACjDI,IADgBH,GAAA,GAAcA,GAAA,IACM3oF,EAAAA,EAAAA,WAAS,IAAM+oF,IAAAjnE,EAAAA,EAAAA,GAAAgnE,GAAA,GAA5CowD,GAAUnwD,GAAA,GAAEowD,GAAapwD,GAAA,GAChCG,IAAwBlpF,EAAAA,EAAAA,WAAS,GAAMmpF,IAAArnE,EAAAA,EAAAA,GAAAonE,GAAA,GACvCI,IADWH,GAAA,GAASA,GAAA,IACInpF,EAAAA,EAAAA,WAAS,IAAMupF,IAAAznE,EAAAA,EAAAA,GAAAwnE,GAAA,GAAhC3yL,GAAI4yL,GAAA,GAAE6vD,GAAO7vD,GAAA,GACpBG,IAAoC1pF,EAAAA,EAAAA,WAAS,GAAM2pF,IAAA7nE,EAAAA,EAAAA,GAAA4nE,GAAA,GAA5C2vD,GAAU1vD,GAAA,GAAE2vD,GAAa3vD,GAAA,GAE1B4vD,KADax5I,EAAAA,EAAAA,QAAO,OACVA,EAAAA,EAAAA,QAAO,OAEjBotG,KADYptG,EAAAA,EAAAA,WACDA,EAAAA,EAAAA,QAAO,OACxB8pF,IAAoD7pF,EAAAA,EAAAA,WAAS,GAAM8pF,IAAAhoE,EAAAA,EAAAA,GAAA+nE,GAAA,GAA5D2vD,GAAkB1vD,GAAA,GAAE2vD,GAAqB3vD,GAAA,GAChDG,IAAkDjqF,EAAAA,EAAAA,UAAS,MAAKkqF,IAAApoE,EAAAA,EAAAA,GAAAmoE,GAAA,GAAzDyvD,GAAiBxvD,GAAA,GAAEyvD,GAAoBzvD,GAAA,GAC9CG,IACErqF,EAAAA,EAAAA,UAAS,MAAKsqF,IAAAxoE,EAAAA,EAAAA,GAAAuoE,GAAA,GADTuvD,GAAwBtvD,GAAA,GAAEuvD,GAA2BvvD,GAAA,IAW5D7qF,EAAAA,EAAAA,YAAU,WAER,OADA/jH,SAAS29C,iBAAiB,YAAaygN,IAChC,WACLp+P,SAAS+sG,oBAAoB,YAAaqxJ,GAC5C,CACF,GAAG,IAEH,IAAMA,GAAqB,SAACzpJ,GACtB88G,GAASpxN,UAAYoxN,GAASpxN,QAAQg+C,SAASs2D,EAAMzuH,SACvDq3Q,GAAc,IACdK,IAAc,IACLC,GAAQx9P,UAAYw9P,GAAQx9P,QAAQg+C,SAASs2D,EAAMzuH,SAC5Dw3Q,IAAQ,EAEZ,EAEAh1Q,OAAOi1D,iBAAiB,SAAS,SAAClwD,GAC5BowQ,GAAQx9P,UAAYw9P,GAAQx9P,QAAQg+C,SAAS5wD,EAAEvH,SACjDw3Q,IAAQ,EAEZ,IAEA,IAKMlgD,GAAgB/W,IAAY,SAAChqJ,GAAK,OAAKA,EAAM8gK,WAAWxV,OAAO,IAIrEgH,IAFoBtI,IAAY,SAAChqJ,GAAK,OAAKA,EAAM4hN,YAAYl6D,WAAW,KAE9C7/E,EAAAA,EAAAA,WAAS,IAAM0qF,IAAA5oE,EAAAA,EAAAA,GAAA2oE,GAAA,GAAlCnE,GAAKoE,GAAA,GAAEnE,GAAQmE,GAAA,GACtB0lC,IAAsCpwH,EAAAA,EAAAA,WAAS,GAAMqwH,IAAAvuG,EAAAA,EAAAA,GAAAsuG,GAAA,GACrDQ,IADkBP,GAAA,GAAgBA,GAAA,IACFrwH,EAAAA,EAAAA,WAAS,IAAM6wH,IAAA/uG,EAAAA,EAAAA,GAAA8uG,GAAA,GAEzCmkB,IAFSlkB,GAAA,GAAaA,GAAA,GAEb,WAAH,OAAStqC,IAAUD,GAAO,GAchC0zD,GAAoB,SAACrxP,GAGzBw4J,EAAS,kBAADr/K,OAAmB6mB,EAAKu9L,IAAG,KAAApkN,OAAI6mB,EAAKzG,MAAM3V,QAAQ,KAAM,MAClE,GAEAkzH,EAAAA,EAAAA,YAAU,WAI6B,MAAnC29E,aAAaC,QAAQ,YACc,GAAnCD,aAAaC,QAAQ,WAErBv+E,EAAS2kF,IAAQ,IAEjB3kF,EAAS2kF,IAAQ,IAGnB3kF,EAASinD,IAAO,IAChBjnD,EvRrJF,WAD0B,IACzB7mE,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAA86I,GAAA01B,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MACpB,SAAAipC,EAAOn+E,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA3sD,GAAA,cAAAA,EAAAzgH,KAAAygH,EAAAxgH,MAAA,cAAAwgH,EAAAxgH,KAAA,EACMg8M,GAAOtnI,QAAQ2kI,GAAU,gBAAgBxlJ,MAC1D,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAMutG,EAAA0uD,KAGV16G,EAASvhD,GAAQ,wBAAAutG,EAAAk0B,OAAA,GAAA8kE,EAAA,KAClB,gBAAAhoC,GAAA,OAAA16B,EAAAt6I,MAAA,KAAAR,UAAA,EANmB,EAMnB,CuRgJGw6Q,EAAgB,SAACvjQ,GACXA,EAAOugB,SACT4gP,EAAUnhQ,EAAOvF,MACjB2tH,EAASinD,IAAO,IAEpB,KAGmC,MAAnCq3B,aAAaC,QAAQ,YACc,GAAnCD,aAAaC,QAAQ,WAErBv+E,EAAS2kF,IAAQ,IAEjB3kF,EAAS2kF,IAAQ,IAGnB3kF,EACEklF,IAAqB,SAAC3iD,GAChBA,EAAKpqI,QACP+hP,GAAa33G,EAAKlwJ,MAClB2tH,EAASinD,IAAO,KAEhBjnD,EAASinD,IAAO,GAGpB,KAGFjnD,EAASmlF,IAAmB,SAAC5iD,GAAU,KAEvCviC,EvRvDF,WADuB,IACtB7mE,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAo2O,GAAA5lE,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MACpB,SAAAk+E,EAAOpzH,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAuhF,GAAA,cAAAA,EAAA3uP,KAAA2uP,EAAA1uP,MAAA,cAAA0uP,EAAA1uP,KAAA,EACMg8M,GAAOtnI,QAAQ2kI,GAAU,cAAcxlJ,MACxD,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAMy7O,EAAAx/E,KAGV16G,EAASvhD,GAAQ,wBAAAy7O,EAAAh6G,OAAA,GAAA+5G,EAAA,KAClB,gBAAA1yC,GAAA,OAAAq2B,EAAA51O,MAAA,KAAAR,UAAA,EANmB,EAMnB,CuRkDGorN,EAAa,SAACxpD,GACRA,EAAKpqI,QACP0lO,GAAoBt7F,EAAKlwJ,MACzB2tH,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,GAAG,CAACi1L,EAAcE,GAAe0/C,IAEjC,IAAAsB,IAAsCl6I,EAAAA,EAAAA,UAAS,GAAEm6I,IAAAr4H,EAAAA,EAAAA,GAAAo4H,GAAA,GAA1CE,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GAE5BG,GAAoB,WACxBx7I,EAASinD,IAAO,IAChBs0F,GAAe32D,GAAU62D,eACzBz7I,EtQnMF,WAD4B,IAC3B7mE,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAA2rJ,GAAA6kB,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MACpB,SAAAypC,EAAO3+E,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA8sC,GAAA,cAAAA,EAAAl6M,KAAAk6M,EAAAj6M,MAAA,cAAAi6M,EAAAj6M,KAAA,EACMg8M,GAAOtnI,QAAQ2kI,GAAU,sBAAsBxlJ,MAChE,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAMgnM,EAAA/qC,KAGV16G,EAASvhD,GAAQ,wBAAAgnM,EAAAvlE,OAAA,GAAAslE,EAAA,KAClB,gBAAAH,GAAA,OAAAlyD,EAAAnrJ,MAAA,KAAAR,UAAA,EANmB,EAMnB,CsQ8LG+6Q,EAAkB,SAACn5G,GACbA,EAAKpqI,QACP4hP,EAAgBx3G,EAAKlwJ,MACrBioQ,IAASziP,IACTmoG,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,EACM02O,GAA2B,SAACj7P,EAAIzS,GACpC,IAAIoE,EAAO,CAAC,EAEZA,EAAS,GAAIqO,EACbs/G,EtQ3MF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAsvL,GAAA9e,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAA8pC,EAAOh/E,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAmtC,GAAA,cAAAA,EAAAv6M,KAAAu6M,EAAAt6M,MAAA,cAAAs6M,EAAAt6M,KAAA,EACMg8M,GAAO1C,SACxBD,GAAU,4BACV3rM,GACAmmD,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAH/BuF,EAAMqnM,EAAAprC,KAIV16G,EAASvhD,GAAQ,wBAAAqnM,EAAA5lE,OAAA,GAAA2lE,EAAA,KAClB,gBAAAH,GAAA,OAAA5uB,EAAA9uL,MAAA,KAAAR,UAAA,EAPyB,EAOzB,CsQqMGi7Q,CAAsBvpQ,GAAM,SAACkwJ,GAC3B,GAAIA,EAAKpqI,OAAQ,CACf,IAAM0jP,GAAoBx+H,EAAAA,EAAAA,GAAOy8H,GACjC+B,EAAqBt1Q,OAAO0H,EAAO,GACnC8rQ,EAAgB8B,GAChB/C,GAA8B,GAC9B94I,EAASinD,IAAO,GAClB,MACEjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,QAErB,IAEJ,EACM62O,GAAkB,WAEtB97I,EjP1NF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAo/K,GAAA5O,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAqqC,EAAOv/E,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA0tC,GAAA,cAAAA,EAAA96M,KAAA86M,EAAA76M,MAAA,OACY,OAAzBiM,QAAQymB,IAAIhlB,EAAM,QAAOmtM,EAAA76M,KAAA,EACNg8M,GAAO1C,SACxBD,GAAO,yBAA6B3rM,GACpCmmD,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAF/BuF,EAAM4nM,EAAA3rC,KAGV16G,EAASvhD,GAAQ,wBAAA4nM,EAAAnmE,OAAA,GAAAkmE,EAAA,KAClB,gBAAAJ,GAAA,OAAAp/B,EAAA5+K,MAAA,KAAAR,UAAA,EAPyB,EAOzB,CiPoNGo7Q,CAFW,CAAE1qJ,OAAQ+8G,KAEK,SAAC7rE,GACzBviC,EAASinD,IAAO,IACZ1kB,EAAKpqI,QACP8gM,EAAc12D,EAAKlwJ,MACnB2tH,EAASinD,IAAO,MAEhB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SACjB+6F,EAASinD,IAAO,IAEpB,IAEJ,EAEA+0F,IAAsC96I,EAAAA,EAAAA,WAAS,GAAM+6I,IAAAj5H,EAAAA,EAAAA,GAAAg5H,GAAA,GAA9CE,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GAClCG,IAAkDl7I,EAAAA,EAAAA,WAAS,GAAMm7I,IAAAr5H,EAAAA,EAAAA,GAAAo5H,GAAA,GACjEE,IADwBD,GAAA,GAAsBA,GAAA,IACFn7I,EAAAA,EAAAA,WAAS,IAAMq7I,IAAAv5H,EAAAA,EAAAA,GAAAs5H,GAAA,GAErDE,IAFeD,GAAA,GAAmBA,GAAA,GAEhBl5D,IAAY,SAAChqJ,GAAK,OAAKA,EAAM4hN,YAAYp6D,WAAW,KACtE47D,GAAgBp5D,IAAY,SAAChqJ,GAAK,OAAKA,EAAM4hN,YAAYn6D,SAAS,IAMlE47D,IAJmBr5D,IACvB,SAAChqJ,GAAK,OAAKA,EAAM4hN,YAAY0B,aAAa,IAGvB,WAAH,OAASR,IAAgBD,GAAa,GAExDne,GAOIxhB,GAAQ,CAAE9jH,KAAM,WANRmkJ,GAAS7e,GAAnB92P,SACqB41Q,GAAO9e,GAA5B5zB,UAAajmD,OACN97B,GAAK21G,GAAZ31G,MACcynG,GAAakO,GAA3B9jB,aAIFuV,IAHqBuO,GAAnBv4I,SACqBu4I,GAArBxmB,UAOEgF,GAAQ,CAAE9jH,KAAM,YAJRqkJ,GAASttB,GAAnBvoP,SACqB81Q,GAAOvtB,GAA5BrlB,UAAajmD,OACN84F,GAAMxtB,GAAbpnG,MACc0nG,GAAaN,GAA3BvV,aAEFgjC,GAKI1gC,GAAQ,CAAE9jH,KAAM,WAJRykJ,GAASD,GAAnBh2Q,SACqBk2Q,GAAOF,GAA5B9yC,UAAajmD,OACNk5F,GAAMH,GAAb70H,MACc2nG,GAAaktB,GAA3BhjC,aAGFojC,GAKI9gC,GAAQ,CAAE9jH,KAAM,WAJR6kJ,GAASD,GAAnBp2Q,SACqBs2Q,GAAOF,GAA5BlzC,UAAajmD,OACNs5F,GAAMH,GAAbj1H,MACcq1H,GAAaJ,GAA3BpjC,aAEFyjC,GAIInhC,GAAQ,CAAE9jH,KAAM,WAHRklJ,GAASD,GAAnBz2Q,SACqB22Q,GAAOF,GAA5BvzC,UAAajmD,OACC25F,GAAaH,GAA3BzjC,aAEF6jC,GAKIvhC,GAAQ,CAAE9jH,KAAM,WAJRslJ,GAASD,GAAnB72Q,SACAkkO,GAAK2yC,GAAL3yC,MACqB6yC,GAAOF,GAA5B3zC,UAAajmD,OACC+5F,GAAaH,GAA3B7jC,aAoJIikC,GAAa,SAACzR,GAClB,IAEM3W,EAFc,IAAI/pN,KACF,IAAIA,KAAK0gO,GAIzB/xK,EAAUnmF,KAAKmS,MAAMovO,EAAiB,KAE5C,GAAIp7J,EAAU,GACZ,MAAM,GAAN13F,OAAU03F,EAAO,SAGnB,IAAMN,EAAU7lF,KAAKmS,MAAMg0E,EAAU,IACrC,GAAIN,EAAU,GACZ,MAAM,GAANp3F,OAAUo3F,EAAO,SAGnB,IAAMJ,EAAQzlF,KAAKmS,MAAM0zE,EAAU,IACnC,GAAIJ,EAAQ,GACV,MAAM,GAANh3F,OAAUg3F,EAAK,SAGjB,IAAMT,EAAOhlF,KAAKmS,MAAMszE,EAAQ,IAChC,MAAM,GAANh3F,OAAUu2F,EAAI,QAChB,EA8BA,OACE68F,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,OAAMyE,SAAA,EACnBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,OAAMyE,UACnBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,OAAMyE,UACnBwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,UACVwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKokM,GAAMjoC,IAAI,GAAG12J,UAAU,qBAIvCiwH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,oBAAmByE,UAChCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,kBAAiByE,SAAA,EAC9BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,WAAUyE,UACvBi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CACG,KACDwrH,EAAAA,GAAAA,KAAC2qF,GAAM,IAAI,UAGfl9E,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,aAAYyE,SAAA,EACzBwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,aACHwrH,EAAAA,GAAAA,KAAA,KAAG5vJ,KAAK,oBAAmBokC,SAAC,6BAKlCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCi5H,EAAAA,GAAAA,MAAA,OAAK+nF,MAAM,cAAcjrN,IAAKm7K,GAASlxK,SAAA,EACrCwrH,EAAAA,GAAAA,KAAA,SACElgL,KAAK,OACL01Q,MAAM,sBACNzoD,YAAY,SACZ3zN,MAAOqsO,GACPzY,SA9Zc,SAACtrN,GAC/B,IAAM02M,EAAc12M,EAAEvH,OAAOf,MAC7Bo4Q,GAAcp5D,GACVA,EAAYngN,QAAU,GACxB45Q,IAAc,GACdsB,GAAgB/6D,KAEhBy5D,IAAc,GACdvhD,EAAc,IAElB,KAuZgBtwC,EAAAA,GAAAA,KAAA,UAAQw1F,MAAM,4BAA4B11Q,KAAK,SAAQ00D,UACrDwrH,EAAAA,GAAAA,KAAC8qF,GAAQ,OAEX9qF,EAAAA,GAAAA,KAAA,OAAAxrH,SACGo9M,KACC5xF,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,SACzB67J,EAAW/1N,KAAI,SAAC4mB,EAAM5b,GAAK,OAC1BmoL,EAAAA,GAAAA,MAAA,OAEE19H,UAAU,WACVmtE,QAAS,kBAAMq1I,GAAkBrxP,EAAK,EAACszC,SAAA,EAEvCwrH,EAAAA,GAAAA,KAAA,OACE11H,IAAKppC,EAAKslM,UACVC,IAAI,mBACJ12J,UAAU,kBACV/gD,MAAO,CACL1C,MAAO,OACP0F,OAAQ,OACRwE,OAAQ,WAGZi3K,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAUyE,SAAA,EACvBwrH,EAAAA,GAAAA,KAAA,QACEhxK,MAAO,CACLsB,WAAY,OACZkkD,SAEDtzC,EAAKzG,SAERulK,EAAAA,GAAAA,KAAA,QACEhxK,MAAO,CACLsB,WAAY,WACZkkD,SAEDtzC,EAAKkzM,iBA3BLlzM,EAAKu9L,IA8BN,cAQlBz+B,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,mBAAkByE,SAC9Bi9J,IACChkC,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAl5H,SAAA,EACEi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,qBAAoByE,SAAA,EACjCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,QAAOyE,UACpBi5H,EAAAA,GAAAA,MAAA,KACE+nF,MAAM,eACNt4I,QAAS,kBAAM21I,IAAmB,EAACr+M,SAAA,EAEnCwrH,EAAAA,GAAAA,KAAA,QAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC+qF,GAAwB,OAE3B/qF,EAAAA,GAAAA,KAAA,QAAMw1F,MAAM,QAAOhhN,SAChBm+M,KAAgB12D,GAAU62D,cACvB72D,GAAU62D,cACV,UAKT5jP,KACCu+J,EAAAA,GAAAA,MAAA,OAAKljI,IAAKunN,GAAS/hN,UAAU,aAAYyE,SAAA,EACvCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,UAASyE,SAAA,CAAC,iBAEvBwrH,EAAAA,GAAAA,KAAA,QAAMjwH,UAAU,qBAAoByE,SACjCynJ,GAAU62D,mBAGd3B,EAAa72Q,KAAI,SAAC4mB,EAAM5b,GAAK,OAC5B06K,EAAAA,GAAAA,KAAA,OAEEjwH,UAAS,qBAAA11D,OACP61Q,IAA8B5qQ,EAC1B,SACA,IAEN43H,QAAS,WACPizI,EAA6B7qQ,GAC7B0tQ,GAAyB9xP,EAAKu9L,IAAKn5M,EACrC,EAAEkvD,UAEFi5H,EAAAA,GAAAA,MAAA,OACE19H,UAAS,UAAA11D,OACP61Q,IAA8B5qQ,EAC1B,mBACA,IACHkvD,SAAA,EAEHi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CACGtzC,EAAKob,QAAS,KACf0jJ,EAAAA,GAAAA,KAAA,QAAMjwH,UAAU,UAASyE,SACtB+gN,GAAWr0P,EAAKikM,gBAEhB,QAvBFjkM,EAAKu9L,IAyBN,QAKZz+B,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBi5H,EAAAA,GAAAA,MAAC+B,GAAI,CAACr0K,GAAG,YAAYq6P,MAAM,eAAchhN,SAAA,EACvCwrH,EAAAA,GAAAA,KAAA,QAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC2S,GAAc,OAEjB3S,EAAAA,GAAAA,KAAA,QAAMw1F,MAAM,QAAOhhN,SAChBynJ,GAAU2uC,wBAIjB5qE,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBi5H,EAAAA,GAAAA,MAAC+B,GAAI,CAACr0K,GAAG,QAAQq6P,MAAM,eAAchhN,SAAA,EACnCwrH,EAAAA,GAAAA,KAAA,QAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6S,GAAqB,OAExB7S,EAAAA,GAAAA,KAAA,QAAMw1F,MAAM,QAAOhhN,SAAEynJ,GAAU8Y,uBAIrC/0C,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,UACE19H,UAAU,aACVmtE,QAAS,WACPw8C,EAAS,WACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACgT,GAAa,OAEhBhT,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,SAAEynJ,GAAU0rC,oBAK5Cl6D,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAl5H,SAAA,EACEi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,qBAAoByE,SAAA,EACjCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBi5H,EAAAA,GAAAA,MAAA,KACE+nF,MAAM,eACNt4I,QAAS,WACPmmF,GAAM3+M,MAAM,0BACd,EAAE8vD,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,QAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC2S,GAAc,OAEjB3S,EAAAA,GAAAA,KAAA,QAAMw1F,MAAM,QAAOhhN,SAAC,YAGxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBi5H,EAAAA,GAAAA,MAAA,KACE+nF,MAAM,eACNt4I,QAAS,WACPmmF,GAAM3+M,MAAM,0BACd,EAAE8vD,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,QAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6S,GAAqB,OAExB7S,EAAAA,GAAAA,KAAA,QAAMw1F,MAAM,QAAOhhN,SAAC,eAK1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,UACEr9J,KAAK,IACL2/B,UAAU,aACVmtE,QAAS,WACPg0I,EAAe,GACf6C,IACF,EAAEv/M,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACgT,GAAa,MACX,KACLhT,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,SAAC,6CAW/CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,OAAMyE,UACnBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,GAAEyE,UACfwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,IAAGyE,UAChBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,OAAMyE,SAAA,EACnBi5H,EAAAA,GAAAA,MAAA,MACE19H,UACEs8J,EAAS,kBAAoB,gCAE/BnvF,QAAS,kBAAM8zI,GAAU,EAAM,EAACx8M,SAAA,EAEhCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,SAAC,YAEfi5H,EAAAA,GAAAA,MAAA,MAAI19H,UAAU,WAAUyE,SAAA,EACtBwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,SAAC,YAEbi5H,EAAAA,GAAAA,MAAA,MAAI19H,UAAU,mBAAkByE,SAAA,EAC9BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,QAAM9iD,QAAS,kBAAMw8C,EAAS,UAAU,EAACllH,SAAC,iBADpC,eAKPygM,GACEt6P,QAAO,SAACumB,GAAI,OAAKA,EAAKi+G,QAAQ,IAC9B7kI,KAAI,SAAC4mB,GAAI,OACR8+J,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,QACE9iD,QAAS,kBACPw8C,EAAS,UAAW,CAClBhpH,MAAO,CAAEm2J,WAAY3lM,EAAKu9L,MAC1B,EACHjqJ,SAEAtzC,EAAKlhB,QARDkhB,EAAKu9L,IAUT,WAIbz+B,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,mBAAkBq5C,SAAC,uBAE9BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,GAAEq5C,SAAC,qBAEdwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,QAAOq5C,SAAC,aAEnBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,OAAMq5C,SAAC,WAElBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,SAAQq5C,SAAC,gBAEpBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,WAAUq5C,SAAC,kBAEtBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,YAAWq5C,SAAC,wBAMvBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,aAAYq5C,SAAC,yBAExBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAC1BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHr0K,GAAG,sCACHhhB,OAAO,SAAQq6D,UAEfwrH,EAAAA,GAAAA,KAACyR,GAAW,SAGhBzR,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHr0K,GAAG,+CACHhhB,OAAO,SAAQq6D,UAEfwrH,EAAAA,GAAAA,KAAC2R,GAAY,SAGjB3R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHr0K,GAAG,wCACHhhB,OAAO,SAAQq6D,UAEfwrH,EAAAA,GAAAA,KAAC0R,GAAiB,SAQtB1R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHr0K,GAAG,iDACHhhB,OAAO,SAAQq6D,UAEfwrH,EAAAA,GAAAA,KAAC4R,GAAS,eAKlB5R,EAAAA,GAAAA,KAAA,UACEjwH,UAAU,cACVmtE,QAAS,kBAAM8zI,GAAW3kD,EAAO,EAAC73J,SAEjC63J,GAASrsC,EAAAA,GAAAA,KAACuS,GAAc,KAAMvS,EAAAA,GAAAA,KAACwyE,GAAe,kBAU3DxyE,EAAAA,GAAAA,KAAC+5E,GAAK,CAACgT,OAAQluD,GAAOyuD,OAAQA,GAAQv9M,UAAU,WAAUyE,UACxDi5H,EAAAA,GAAAA,MAACg0E,GAAS,CAAAjtM,SAAA,EACRi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,mBAAkByE,SAAA,EAC/BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,eAAcyE,UAC3BwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKmrN,GAAO1lN,UAAU,iBAE7B09H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,aAAYyE,SAAA,EACzBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,OAAMyE,UACnBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKokM,GAAMjoC,IAAI,GAAG12J,UAAU,gBAGnB,GAAfkhN,GACCjxF,EAAAA,GAAAA,KAAA,QAAMysC,SAAUy6B,IAjgBV,SAACx9O,GACnB,GAAsB,WAAlBA,EAAKizM,SAAuB,CAC9B,IAAKs1D,GAEH,YADA5uD,GAAM3+M,MAAM,yCAGdgF,EAAKuoQ,kBAAoBA,GACzB56I,EAAS6gF,GAAYxuM,IACrBwnQ,EAAe,EACjB,MAEE75I,EAAS6gF,GAAYxuM,IACrBwnQ,EAAe,EAEnB,IAmfyD18M,UACzCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,aACJwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,uCACHi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,yBAAwByE,SAAA,EACrCwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,QACL1G,MAAM,UACN4G,KAAK,YACDi0Q,GAAU,WAAY,CACxBz/F,SAAU,yBAGdwL,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,aACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,QACL1G,MAAM,sBACN4G,KAAK,YACDi0Q,GAAU,WAAY,CACxBz/F,SAAU,yBAGdwL,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,0BAEPwrH,EAAAA,GAAAA,KAAA,SACCk0F,GAAQv3D,WACP38B,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAOswJ,UAAW,SAAUvqG,SAChD0/M,GAAQv3D,SAASrgL,cAKxBmxJ,EAAAA,GAAAA,MAAA,OACE19H,UAAU,yBACV/gD,MAAO,CACL+vJ,UAAW,QACXvqG,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,QACL1G,MAAM,SACN4G,KAAK,YACDi0Q,GAAU,WAAY,CACxBz/F,SAAU,oBACVw4C,SAlaK,SAACtrN,GACL,WAAnBA,EAAEvH,OAAOf,MACX44Q,IAAsB,GAEtBA,IAAsB,EAE1B,OA+ZoBhyF,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,YAEPwrH,EAAAA,GAAAA,KAAA,SACCk0F,GAAQv3D,WACP38B,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAOswJ,UAAW,SAAUvqG,SAChD0/M,GAAQv3D,SAASrgL,cAKxBmxJ,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXw6E,YAAY,WACZ,aAAW,WACX,mBAAiB,eACjB/sN,KAAK,WACL+X,GAAG,YACCk8P,GAAU,WAAY,CACxBz/F,SAAU,uBAEV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,qEAIR0jJ,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAACgT,GAAa,SAGjBkhF,GAAQvsB,WACP3nE,EAAAA,GAAAA,KAAA,SACEhxK,MAAO,CACLP,MAAO,MACP4jD,MAAO,OACP0sG,UAAW,SACXvqG,SAED0/M,GAAQvsB,SAASrrN,WAGtBmxJ,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXw6E,YAAY,QACZ,aAAW,QACX,mBAAiB,eACjB/sN,KAAK,QACL+X,GAAG,SACCk8P,GAAU,QAAS,CACrBz/F,SAAU,oBACV1pB,QAAS,CACP1xJ,MACE,sHACFkjC,QAAS,uBAIf0jJ,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC6qF,GAAM,SAGVqJ,GAAQ1rJ,QACPw3D,EAAAA,GAAAA,KAAA,SACEhxK,MAAO,CACLP,MAAO,MACP4jD,MAAO,OACP0sG,UAAW,SACXvqG,SAED0/M,GAAQ1rJ,MAAMlsF,WAGnBmxJ,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXw6E,YAAY,gBACZ,aAAW,gBACX,mBAAiB,eACjB/sN,KAAK,cACL+X,GAAG,eACCk8P,GAAU,cAAe,CAC3Bz/F,SAAU,4BACV1pB,QAAS,CACP1xJ,MACE,oDACFkjC,QACE,2DAIR0jJ,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC2qF,GAAM,SAGVuJ,GAAQtsB,cACP5nE,EAAAA,GAAAA,KAAA,SACEhxK,MAAO,CACLP,MAAO,MACP4jD,MAAO,OACP0sG,UAAW,SACXvqG,SAED0/M,GAAQtsB,YAAYtrN,UAGxBy1O,KACCtkF,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAl5H,SAAA,EAEEwrH,EAAAA,GAAAA,KAAC23C,GAAU,CAAC5nK,UAAU,kCAAiCyE,UACrDi5H,EAAAA,GAAAA,MAACytC,GAAKM,OAAMjpF,GAAAA,GAAA,CACVvjI,MAAO,CACLM,QAAS,QAEX,aAAW,kBACP2kQ,GAAU,iBAAkB,CAC9Bz/F,SAAU,uCACV,IAAAhgH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,GAAEo7D,SAAC,0BA37Bb,CAC5B,qBACA,mBACA,uBACA,MACA,UAu7B+Cl6D,KAAI,SAACmoM,EAAQn9L,GAAK,OACvC06K,EAAAA,GAAAA,KAAA,UAAoB5mL,MAAOqpM,EAAOjuI,SAC/BiuI,GADUn9L,EAEJ,UAIdysQ,IAAsBmC,GAAQwB,iBAC7B11F,EAAAA,GAAAA,KAAA,SACEhxK,MAAO,CACLP,MAAO,MACP4jD,MAAO,OACP0sG,UAAW,SACXvqG,SAED0/M,GAAQwB,eAAep5O,WAK5BmxJ,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXzyI,KAAK,OACL61Q,OAAO,uBACP5oD,YAAY,4BACZ,aAAW,6BACPknD,GAAU,oBAAqB,CACjCz/F,SAAU,iCACVw4C,SAvvBI,SAACtrN,GAC/B,IAAMioP,EAAejoP,EAAEvH,OAAO0vO,MAAM,GACpC,GAAI8f,EAAc,CAQhB,IANmB,CACjB,aACA,YACA,YACA,mBAEc/wP,SAAS+wP,EAAa7pP,MAEpC,YADAujN,GAAM3+M,MAAM,4CAKd,GAAIilP,EAAa73O,KAAO,QAEtB,YADAuxM,GAAM3+M,MAAM,qCAKd,GAAIilP,EAAa7pP,KAAK+zK,WAAW,UAAW,CAC1C,IAAM+1E,EAAS,IAAI14N,WACnB04N,EAAOz4N,UAAY,WACjBihP,GAA4BxoB,EAAO36O,OACrC,EACA26O,EAAOx4N,cAAcu4N,EACvB,MACEyoB,GAA4B,MAI9B,IAAI7vE,EAAW,IAAI5C,SACnB4C,EAASnR,OAAO,aAAcu4D,GAC9BtyH,EAASinD,IAAO,IAChBjnD,EtQlMJ,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAw3O,GAAAhnE,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAqpG,EAAOv+I,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA0sG,GAAA,cAAAA,EAAA95Q,KAAA85Q,EAAA75Q,MAAA,cAAA65Q,EAAA75Q,KAAA,EACMg8M,GAAOtB,aACxBrB,GAAU,yBACV3rM,GACAmmD,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAH/BuF,EAAM4mQ,EAAA3qG,KAIV16G,EAASvhD,GAAQ,wBAAA4mQ,EAAAnlI,OAAA,GAAAklI,EAAA,KAClB,gBAAAxlC,GAAA,OAAAZ,EAAAh3O,MAAA,KAAAR,UAAA,EAPyB,EAOzB,CsQ4LK89Q,CAAgBvzE,GAAU,SAAC3oC,GACrBA,EAAKpqI,QACP6nG,EAASinD,IAAO,IACZ1kB,EAAKlwJ,MACPwoQ,GAAqBt4G,EAAKlwJ,QAG5B2tH,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,CACF,OAwsBwB0jJ,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC+S,GAAe,UAGpB/S,EAAAA,GAAAA,KAAA,SACEjwH,UAAU,aACV/gD,MAAO,CAAEqjD,MAAO,OAAQ0sG,UAAW,SAAUvqG,SAC9C,qDAKA29M,KACCnyF,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,SACvBy9M,IACDA,GAAkBnyQ,MAClBmyQ,GAAkBnyQ,KAAK+zK,WAAW,WAChCmM,EAAAA,GAAAA,KAAA,OACE11H,IAAK6nN,GACL1rD,IAAI,sBACJz3M,MAAO,CACLhE,SAAU,QACV+qQ,UAAW,QACXC,UAAW,cAIfvoF,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAC1BwrH,EAAAA,GAAAA,KAAA,KAAGjwH,UAAU,0BACbiwH,EAAAA,GAAAA,KAAA,QAAAxrH,SACGy9M,GACGA,GAAkBjyQ,KAClB,8BAQlBggL,EAAAA,GAAAA,KAAA,UAAQvxK,MAAM,UAAU3O,KAAK,SAAQ00D,SAAC,UAItCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAG,+BAC4B,KAC7BwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHtyD,QAAS,WACP62I,KACAzG,IACF,EAAE94M,SACH,sBAOQ,GAAfy8M,GACFjxF,EAAAA,GAAAA,KAAA,QAAcysC,SAAU06B,IAnvBjB,SAACz9O,GACpB2tH,EAAS8gF,GAAUzuM,IACnBwnQ,EAAe,EACjB,IAgvBkE18M,UAClDi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,mBAAkByE,SAAA,EAC/BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,wBACJwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,uCACHwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,uBAAsByE,SAC5B,OAAN8nI,QAAM,IAANA,OAAM,EAANA,EAAQhiM,KAAI,SAAC4mB,GACZ,OACEusK,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,YAAWyE,SAAA,EACxBwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,QACLE,KAAK,WACL5G,MAAW,OAAJ8nB,QAAI,IAAJA,OAAI,EAAJA,EAAMu9L,KACT01D,GAAU,WAAY,CACxB3/F,SAAU,qBAGdwL,EAAAA,GAAAA,KAAA,SAAAxrH,SAAY,OAAJtzC,QAAI,IAAJA,OAAI,EAAJA,EAAMo7K,UACdtc,EAAAA,GAAAA,KAAA,WAGN,MAEDo0F,GAAQ6B,WACPj2F,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAOswJ,UAAW,SAAUvqG,SAChD4/M,GAAQ6B,SAAS35O,WAItB0jJ,EAAAA,GAAAA,KAAA,UAAQlgL,KAAK,SAAQ00D,SAAC,UACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAG,+BAC4B,KAC7BwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHtyD,QAAS,WACPowI,KACAyG,IACF,EAAEv/M,SACH,qBArCE,GA4CM,GAAfy8M,GACFjxF,EAAAA,GAAAA,KAAA,QAAcysC,SAAU26B,IA5xBlB,SAAC19O,GACnB,IAAM45P,EAAO/wH,GAAAA,GAAAA,GAAA,GAAQ7oI,GAASmqQ,IAAoBC,IAClDz8I,EAASinD,IAAO,IAChBjnD,EvR3WF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAA2rJ,GAAA6kB,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAypC,EAAO3+E,GAAQ,IAAA72G,EAAA6O,EAAA,OAAAs5I,EAAAA,GAAAA,KAAAQ,MAAA,SAAA8sC,GAAA,cAAAA,EAAAl6M,KAAAk6M,EAAAj6M,MAAA,OASV,OATUi6M,EAAAl6M,KAAA,EAELykB,EAAS,CACbykL,QAAS,CACP,eACEv7L,aAAgBi2L,SACZ,sBACA,qBAETsW,EAAAj6M,KAAA,EAEsBg8M,GAAO1C,SAC5BD,GAAU,gBACV3rM,EACA8W,GACA,KAAD,EAJK6O,EAAQ4mL,EAAA/qC,KAKd16G,EAASnhC,EAAS3lB,MAAMusM,EAAAj6M,KAAA,gBAAAi6M,EAAAl6M,KAAA,EAAAk6M,EAAA6G,GAAA7G,EAAA,SAExBzlJ,EAAS,CAAEhhC,QAAQ,EAAO8M,QAAS25K,EAAA6G,GAAMxgL,UAAW,yBAAA25K,EAAAvlE,OAAA,GAAAslE,EAAA,kBAEvD,gBAAAH,GAAA,OAAAlyD,EAAAnrJ,MAAA,KAAAR,UAAA,EArByB,EAqBzB,CuRuVGk+Q,CAAe5S,GAAS,SAACr0P,GACvBooH,EAASinD,IAAO,IACZrvK,EAAOugB,QACT6zL,GAAMyJ,QAAQ79M,EAAOqtB,SACrBmjH,KACA40H,KACAI,KACAnH,KACAyG,OAEA1wD,GAAM3+M,MAAMuK,EAAOqtB,SACnB40O,EAAe,GAEnB,IAEJ,IAywBiE18M,UACjDi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,0BACJwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,uCACHi5H,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXzyI,KAAMuwQ,EAAkB,OAAS,WACjCtjD,YAAY,WACZ,aAAW,WACX,mBAAiB,eACjB/sN,KAAK,WACL+X,GAAG,iBACCw8P,GAAU,WAAY,CACxB//F,SAAU,uBACV1pB,QAAS,CACP1xJ,MACE,+DACFkjC,QACE,qHAKR0jJ,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CACd//M,GAAG,eACHmlH,QAASqzI,EACTvhQ,MAAO,CAAErI,OAAQ,WAAY6tD,SAE5B67M,GACCrwF,EAAAA,GAAAA,KAAC0S,GAAY,KAEb1S,EAAAA,GAAAA,KAACyS,GAAqB,OAG1BzS,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC4S,GAAa,SAIjB4hF,GAAQ90N,WACPsgI,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3CggN,GAAQ90N,SAASpjB,WAGtBmxJ,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXzyI,KAAM0wQ,EAAuB,OAAS,WACtCzjD,YAAY,mBACZ,aAAW,gBACX,mBAAiB,eACjB/sN,KAAK,kBACL+X,GAAG,mBACCw8P,GAAU,kBAAmB,CAC/B//F,SAAU,8BACV1pB,QAAS,CACP1xJ,MACE,+DACFkjC,QACE,qHAIR0jJ,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CACd//M,GAAG,eACHmlH,QAAS0zI,EACT5hQ,MAAO,CAAErI,OAAQ,WAAY6tD,SAE5Bg8M,GACCxwF,EAAAA,GAAAA,KAAC0S,GAAY,KAEb1S,EAAAA,GAAAA,KAACyS,GAAqB,OAG1BzS,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC4S,GAAa,SAGjB4hF,GAAQpqB,kBACPpqE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3CggN,GAAQpqB,gBAAgB9tN,WAK7BmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,GAAEyE,SAAA,EACfwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,WACLiwD,UAAU,mBACVh4C,GAAG,cACCw8P,GAAU,gBAAiB,CAC7B//F,SAAU,8CACV,IACFxlK,MAAO,CACL1C,MAAO,OACP0F,OAAQ,OACRg4O,YAAa,YAGjBv8D,EAAAA,GAAAA,MAAA,SAAO19H,UAAU,mBAAmB8jK,QAAQ,aAAYr/J,SAAA,CAAC,eAC1C,KACbwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,eAAehhB,OAAO,SAAQq6D,SAAC,4BAIzCggN,GAAQ7d,gBACP32E,EAAAA,GAAAA,KAAA,SAAOjwH,UAAU,UAAU/gD,MAAO,CAAEP,MAAO,OAAQ+lD,SAChDggN,GAAQ7d,cAAcr6N,cAK7B0jJ,EAAAA,GAAAA,KAAA,UAAQvxK,MAAM,UAAU3O,KAAK,SAASiwD,UAAU,OAAMyE,SAAC,aAGvDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAG,+BAC4B,KAC7BwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHtyD,QAAS,WACP62I,KACAzG,IACF,EAAE94M,SACH,qBA1HE,GAiIT,YAGRwrH,EAAAA,GAAAA,KAAA,eAMJA,EAAAA,GAAAA,KAAC+5E,GAAK,CAACgT,OAAQwG,GAAajG,OAAQyG,GAAav/M,UAC/CwrH,EAAAA,GAAAA,KAACyhF,GAAS,CAAAjtM,UACRi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,mBAAkByE,SAAA,EAC/Bi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,OAAMyE,UACnBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKokM,GAAMjoC,IAAI,GAAG12J,UAAU,iBAEnCiwH,EAAAA,GAAAA,KAAA,QAAMysC,SAAUqoD,IAx5BX,SAACprQ,GAChB2tH,EAASinD,IAAO,IAChBjnD,EvRvWF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAsvL,GAAA9e,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAA8pC,EAAOh/E,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAmtC,GAAA,cAAAA,EAAAv6M,KAAAu6M,EAAAt6M,MAAA,cAAAs6M,EAAAt6M,KAAA,EACMg8M,GAAO1C,SAASD,GAAU,aAAc3rM,GAAMmmD,MAC/D,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAMqnM,EAAAprC,KAGV16G,EAASvhD,GAAQ,wBAAAqnM,EAAA5lE,OAAA,GAAA2lE,EAAA,KAClB,gBAAAH,GAAA,OAAA5uB,EAAA9uL,MAAA,KAAAR,UAAA,EANyB,EAMzB,CuRkWGm+Q,CAAYzsQ,GAAM,SAACuF,GACjBooH,EAASinD,IAAO,IACZrvK,EAAOugB,QACT6zL,GAAMyJ,QAAQ79M,EAAOqtB,SACrBq5K,aAAaiH,QAAQ,QAAS,UAAY3tM,EAAOohB,QACjDslL,aAAaiH,QAAQ,WAAW,GAChCvlF,EAAS2kF,IAAQ,IACjB+3D,KACAc,MAEAxxD,GAAM3+M,MAAMuK,EAAOqtB,QAEvB,IAEJ,IAu4BoDk4B,UACtCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,gBAAeyE,SAAA,EAC5BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,aACJwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,4CACHi5H,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXw6E,YAAY,QACZ,aAAW,QACX,mBAAiB,eACjB/sN,KAAK,QACL+X,GAAG,cACC48P,GAAU,QAAS,CAAEngG,SAAU,yBAErCwL,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC6qF,GAAM,SAGV+J,GAAQpsJ,QACPw3D,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3CogN,GAAQpsJ,MAAMlsF,WAGnBmxJ,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXw6E,YAAY,WACZ,aAAW,WACX,mBAAiB,eACjB/sN,KAAK,WACL+X,GAAG,gBACHjY,KAAMuwQ,EAAkB,OAAS,YAC7BsE,GAAU,WAAY,CACxBngG,SAAU,4BAGdwL,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CACd//M,GAAG,eACHmlH,QAASqzI,EACTvhQ,MAAO,CAAErI,OAAQ,WAAY6tD,SAE5B67M,GACCrwF,EAAAA,GAAAA,KAAC0S,GAAY,KAEb1S,EAAAA,GAAAA,KAACyS,GAAqB,OAG1BzS,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC4S,GAAa,SAGjBgiF,GAAQl1N,WACPsgI,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3CogN,GAAQl1N,SAASpjB,WAGtB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gBAAeyE,UAC5BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,OAAMyE,UACnBwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHtyD,QAAS,WACP62I,KACAhD,IACAO,EAAqB,EACvB,EAAE98M,SACH,yBAKLwrH,EAAAA,GAAAA,KAAA,UAAQvxK,MAAM,UAAUshD,UAAU,OAAOjwD,KAAK,SAAQ00D,SAAC,aAGvDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAG,6BAC0B,KAC3BwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHtyD,QAAS,WACP62I,KACAzG,KACA4D,EAAe,EACjB,EAAE18M,SACH,0BAQXwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAK8rN,GAAQrmN,UAAU,wBASpCiwH,EAAAA,GAAAA,KAAC+5E,GAAK,CAACgT,OAAQ8D,EAAiBvD,OAAQyD,EAAiBv8M,UACvDi5H,EAAAA,GAAAA,MAACg0E,GAAS,CAAAjtM,SAAA,EACRi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,mBAAkByE,SAAA,EAC/Bi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,aAAYyE,SAAA,EACzBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,OAAMyE,UACnBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKokM,GAAMjoC,IAAI,GAAG12J,UAAU,gBAGb,GAArBshN,GACCrxF,EAAAA,GAAAA,KAAA,QAAMysC,SAAUyoD,IA/+BT,SAACxrQ,GACpB2tH,EvRhXF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAo/K,GAAA5O,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAqqC,EAAOv/E,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA0tC,GAAA,cAAAA,EAAA96M,KAAA86M,EAAA76M,MAAA,cAAA66M,EAAA76M,KAAA,EACMg8M,GAAO1C,SACxBD,GAAU,sBACV3rM,GACAmmD,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAH/BuF,EAAM4nM,EAAA3rC,KAIV16G,EAASvhD,GAAQ,wBAAA4nM,EAAAnmE,OAAA,GAAAkmE,EAAA,KAClB,gBAAAJ,GAAA,OAAAp/B,EAAA5+K,MAAA,KAAAR,UAAA,EAPyB,EAOzB,CuR0WGq+Q,CAAiB3sQ,GAAM,SAACuF,GACtBooH,EAASinD,IAAO,IACZrvK,EAAOugB,QACT8hP,EAAqB,GACrBX,EAAc1hQ,EAAO++E,OACrBqpC,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMuK,EAAOqtB,SACnBg1O,EAAqB,GAEzB,IAEJ,IAg+B0D98M,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,qBACJwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,gDAEHi5H,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,kCAAiCyE,SAAA,EACrDwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXw6E,YAAY,QACZ,aAAW,QACX,mBAAiB,eACjB/sN,KAAK,QACL+X,GAAG,SACCi9P,GAAU,QAAS,CACrBxgG,SAAU,yBAGdwL,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC6qF,GAAM,SAGVoK,GAAQzsJ,QACPw3D,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3CygN,GAAQzsJ,MAAMlsF,WAGnB0jJ,EAAAA,GAAAA,KAAC1+H,GAAM,CAAC7yC,MAAM,UAAU3O,KAAK,SAAQ00D,SAAC,UAGtCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAG,6BAC0B,KAC3BwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHtyD,QAAS,WACP6zI,IACAzD,KACA4D,EAAe,EACjB,EAAE18M,SACH,sBAOc,GAArB68M,GACFrxF,EAAAA,GAAAA,KAAA,QAAMysC,SAAU6oD,IA5gCZ,SAAC5rQ,GACjB2tH,EAASinD,IAAO,IAChB,IAAIglF,EAAO/wH,GAAA,CAAKvkD,MAAO0iL,GAAehnQ,GACtC2tH,EvRxXF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAglL,GAAAxU,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAA0qC,EAAO5/E,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA+tC,GAAA,cAAAA,EAAAn7M,KAAAm7M,EAAAl7M,MAAA,cAAAk7M,EAAAl7M,KAAA,EACMg8M,GAAO1C,SACxBD,GAAU,uBACV3rM,GACAmmD,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAH/BuF,EAAMioM,EAAAhsC,KAIV16G,EAASvhD,GAAQ,wBAAAioM,EAAAxmE,OAAA,GAAAumE,EAAA,KAClB,gBAAAR,GAAA,OAAAz5B,EAAAxkL,MAAA,KAAAR,UAAA,EAPyB,EAOzB,CuRkXGs+Q,CAAoBhT,GAAS,SAACr0P,GAC5BooH,EAASinD,IAAO,IACZrvK,EAAOugB,QACT6zL,GAAMyJ,QAAQ79M,EAAOqtB,SACrBy0O,IACA15I,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMuK,EAAOqtB,SACnBg1O,EAAqB,GAEzB,IAEJ,IA2/BuD98M,UACvCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,mBAAkByE,SAAA,EAC/BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,sBACJwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,wBACHi5H,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,YAAWyE,SAAA,EAC/BwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXzyI,KAAMuwQ,EAAkB,OAAS,WACjCtjD,YAAY,eACZ,aAAW,cACX,mBAAiB,eACjB/sN,KAAK,WACL+X,GAAG,WAEH3e,MAAOopO,GAAM,aAAe,IACxB4yC,GAAU,WAAY,CACxB5gG,SAAU,uBACV1pB,QAAS,CACP1xJ,MACE,+DACFkjC,QACE,qHAIR0jJ,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CACd//M,GAAG,eACHmlH,QAASqzI,EACTvhQ,MAAO,CAAErI,OAAQ,WAAY6tD,SAE5B67M,GACCrwF,EAAAA,GAAAA,KAAC0S,GAAY,KAEb1S,EAAAA,GAAAA,KAACyS,GAAqB,OAG1BzS,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC4S,GAAa,SAGjByiF,GAAQ31N,WACPsgI,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C6gN,GAAQ31N,SAASpjB,WAGtBmxJ,EAAAA,GAAAA,MAACkqC,GAAU,CAAC5nK,UAAU,YAAWyE,SAAA,EAC/BwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXw6E,YAAY,mBACZjtN,KAAM0wQ,EAAuB,OAAS,WACtC,aAAW,kBACX,mBAAiB,eACjBxwQ,KAAK,kBACL+X,GAAG,mBACCq9P,GAAU,kBAAmB,CAC/B5gG,SAAU,8BACV1pB,QAAS,CACP1xJ,MACE,+DACFkjC,QACE,qHAIR0jJ,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CACd//M,GAAG,eACHmlH,QAAS0zI,EACT5hQ,MAAO,CAAErI,OAAQ,WAAY6tD,SAE5Bg8M,GACCxwF,EAAAA,GAAAA,KAAC0S,GAAY,KAEb1S,EAAAA,GAAAA,KAACyS,GAAqB,OAG1BzS,EAAAA,GAAAA,KAAC23C,GAAWG,KAAI,CAAC//M,GAAG,eAAcy8C,UAChCwrH,EAAAA,GAAAA,KAAC4S,GAAa,SAGjByiF,GAAQjrB,kBACPpqE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C6gN,GAAQjrB,gBAAgB9tN,WAG7B0jJ,EAAAA,GAAAA,KAAA,UAAQlgL,KAAK,SAAQ00D,SAAC,YACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAG,6BAC0B,KAC3BwrH,EAAAA,GAAAA,KAACwP,GAAI,CACHtyD,QAAS,WACP6zI,IACAzD,KACA4D,EAAe,EACjB,EAAE18M,SACH,sBAOP,SAENwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKisN,GAAYxmN,UAAU,oBAGpCiwH,EAAAA,GAAAA,KAAA,eAIJyN,EAAAA,GAAAA,MAAC+oF,GAAE,CACDvc,KAAMwX,IAAchsC,GAAWxtO,QAAU,EACzCqjQ,OA77Ce,WACnBoW,IAAc,GACdphD,EAAc,GAChB,EA27CMvgK,UAAU,cACV/gD,MAAO,CACLlC,KAAM,QACNH,IAAK,OACLL,MAAO,QACP0F,OAAQ,QACRyqO,UAAW,OACXtpO,QAAS,QACTzD,YAAa,OACbF,aAAc,QACdglD,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAA,qNAWAwrH,EAAAA,GAAAA,KAACw2F,GAAG7qD,KAAI,CAAC57J,UAAU,cAAayE,UAC9BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,GAAEyE,SACd67J,EAAW/1N,KAAI,SAAC4mB,EAAM5b,GAAK,OAC1BmoL,EAAAA,GAAAA,MAAA,OAEE19H,UAAU,GACVmtE,QAAS,kBAAMq1I,GAAkBrxP,EAAK,EACtClS,MAAO,CACLmE,QAAS,OACT7G,MAAO,QACPoD,YAAa,QACb0zG,WAAY,wBACZz8G,OAAQ,WAEV4oJ,aAAc,SAAC7tJ,GACbA,EAAE3E,cAAciS,MAAMG,gBAAkB,WAC1C,EACAsgJ,aAAc,SAAC/tJ,GACbA,EAAE3E,cAAciS,MAAMG,gBAAkB,aAC1C,EAAEqlD,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,OACE11H,IAAKppC,EAAKslM,UACVC,IAAI,mBACJ12J,UAAU,kBACV/gD,MAAO,CACL1C,MAAO,OACP0F,OAAQ,OACRwE,OAAQ,WAGZi3K,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAUyE,SAAA,EACvBwrH,EAAAA,GAAAA,KAAA,QACEhxK,MAAO,CACLsB,WAAY,OACZkkD,SAEDtzC,EAAKzG,SAERulK,EAAAA,GAAAA,KAAA,QACEhxK,MAAO,CACLsB,WAAY,WACZkkD,SAEDtzC,EAAKkzM,iBAxCLlzM,EAAKu9L,IA2CN,aAOpB,kEC57CO,SAASg4D,GAAY/8J,GAC1B,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,MAAM,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,0IAAvGA,CAAkP10E,EAC3P,CCrMA,IAoYA,GApYe,WACb,IAAM2d,EAAWukF,KACXliC,EAAWR,KACjB4H,GAA0BvoD,EAAAA,EAAAA,UAAS,IAAGyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAA/Bt4D,EAAKwiE,EAAA,GAAE0rF,EAAQ1rF,EAAA,GACtBE,GAAwC3yD,EAAAA,EAAAA,UAAS,IAAG4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAA7CqlC,EAAYplC,EAAA,GAAEqlC,EAAerlC,EAAA,GACpCG,GAAgC/yD,EAAAA,EAAAA,WAAS,GAAKgzD,GAAAlxC,EAAAA,EAAAA,GAAAixC,EAAA,GAAzC6kC,EAAS5kC,EAAA,GACRorF,GADsBprF,EAAA,GACP,eAAAz4C,GAAA01B,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAAG,SAAAipC,EAAO9zM,GAAC,IAAAgI,EAAA,OAAAi/J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA3sD,GAAA,cAAAA,EAAAzgH,KAAAygH,EAAAxgH,MAAA,OAC9B0F,EAAEoiH,kBACEp6G,EAAO,CAAC,GACA,MAAI8+G,EAChB6O,EACE+lF,GAAmB1zM,GAAM,SAACkwJ,GACpBA,EAAKpqI,QACP6zL,GAAMyJ,QAAQlzD,EAAKt9H,SACnB+6F,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,KACA,wBAAAkgF,EAAAk0B,OAAA,GAAA8kE,EAAA,KACH,gBAfoBhoC,GAAA,OAAA16B,EAAAt6I,MAAA,KAAAR,UAAA,OAgBrBggI,EAAAA,EAAAA,YAAU,WACRX,EACEooF,IAAa,SAAC7lD,GACRA,EAAKpqI,QACPghM,EAAgB52D,EAAKlwJ,MACrB2tH,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,GAAG,CAAC6zL,IACJ,IAAM/K,EAAc,WAClBzoN,OAAO+hN,SAAS,CACd/xM,IAAK,EACLsxM,SAAU,UAEd,EACA,OACEj+B,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,YAAWyE,SAAA,EACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,wCAAuCyE,UACpDi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAUyE,SAAA,EACvBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKssN,GAAM7mN,UAAU,yBAC1BiwH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,0WAUPwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,sCAAqCyE,UAClDi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,YAAWyE,SAAA,EACxBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,iBACJi5H,EAAAA,GAAAA,MAAA,MAAI+nF,MAAM,WAAUhhN,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,IACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,IACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,aAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,UACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,UACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,eAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,IACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,IACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,sBAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,QACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,QACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,cAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,SACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,SACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,iBAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,WACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,WACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,mBAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,IACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,IACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,kBACY,UAGpB7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,YACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,YACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,yBAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,eACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,eACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,2BAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,iBACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,iBACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,uBAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,UACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,UACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,qCAIR7R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KACEr9J,KAAK,IACL8sG,QAAS,WACPkoF,IACA1rC,EAAS,IACX,EAAEllH,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,MACX,iCAOd7R,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,sCAAqCyE,UAClDi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,gBAAeyE,SAAA,EAC5BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,gBACJwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,MAAIjwH,UAAU,iBAAgByE,SAC3B+7J,EACE9yM,MAAM,EAAG7R,KAAKsT,KAAKqxM,EAAat4N,SAChC0C,QAAO,SAACi3N,GAAQ,OAAKA,EAASzyF,QAAQ,IACtC7kI,KAAI,SAACs3N,GAAQ,OACZnkC,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,OAEf7R,EAAAA,GAAAA,KAAA,QACE9iD,QAAS,WACPkoF,IACA1rC,EAAS,UAAW,CAClBhpH,MAAO,CAAEm2J,WAAY+K,EAASnT,MAElC,EAAEjqJ,SAEDo9J,EAAS5xN,SAZL4xN,EAASnT,IAcb,cAMjBz+B,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,wCAAuCyE,UACpDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,WAAUyE,UACvBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,YAAWyE,SAAA,EACxBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,cACJi5H,EAAAA,GAAAA,MAAA,MAAI+nF,MAAM,kBAAiBhhN,SAAA,EACzBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KAAGr9J,KAAK,qBAAoBokC,SAAA,EAC1BwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC2qF,GAAM,MACL,wBAIR3qF,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KAAGr9J,KAAK,8BAA6BokC,SAAA,EACnCwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6qF,GAAM,MACL,6BAIR7qF,EAAAA,GAAAA,KAAA,MAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACy2F,GAAU,MACT,qBACaz2F,EAAAA,GAAAA,KAAA,SAAM,KAACA,EAAAA,GAAAA,KAAA,QAAAxrH,SAAM,qCAQ5CwrH,EAAAA,GAAAA,KAAA,UACAyN,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,kCAAiCyE,SAAA,EAC9CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,+BAA8ByE,UAC3CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1BwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,6DAGPwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,2CAA0CyE,UACvDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAG,cACW,KACZwrH,EAAAA,GAAAA,KAAA,KAAG5vJ,KAAK,2BAA0BokC,SAAC,+BAIzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gCAA+ByE,UAC5Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,oBAAmByE,SAAA,EAChCwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,mBACHi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAC1BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,KAAG5vJ,KAAK,sCAAsCj2B,OAAO,SAAQq6D,UAC3DwrH,EAAAA,GAAAA,KAACyR,GAAW,SAGhBzR,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,KACE5vJ,KAAK,+CACLj2B,OAAO,SAAQq6D,UAEfwrH,EAAAA,GAAAA,KAAC2R,GAAY,SAGjB3R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,KACE5vJ,KAAK,wCACLj2B,OAAO,SAAQq6D,UAEfwrH,EAAAA,GAAAA,KAAC0R,GAAiB,SAQtB1R,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,KACE5vJ,KAAK,iDACLj2B,OAAO,SAAQq6D,UAEfwrH,EAAAA,GAAAA,KAAC4R,GAAS,oBAOtB5R,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gBAAeyE,UAC5BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,mBAAkByE,SAAA,EAC/BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,kDAELwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,WAAUyE,UACvBi5H,EAAAA,GAAAA,MAAA,OAAK+nF,MAAM,uBAAsBhhN,SAAA,EAC/BwrH,EAAAA,GAAAA,KAAA,SACElgL,KAAK,OACL01Q,MAAM,eACNzoD,YAAY,2BACZ3zN,MAAOovH,EACPwkG,SAAU,SAACtrN,GAAC,OAAKg1Q,EAASh1Q,EAAEvH,OAAOf,MAAM,KAE3Cq0L,EAAAA,GAAAA,MAAA,UACE+nF,MAAM,iCACN11Q,KAAK,SACLiY,GAAG,gBACHmlH,QAASy5I,EAAgBniN,SAAA,CAC1B,YACW,KACVwrH,EAAAA,GAAAA,KAAA,KAAGjwH,UAAU,cAAayE,UACxBwrH,EAAAA,GAAAA,KAAC6R,GAAY,yBAWnC,EClWA,GA3C0B,WACxB,IAAQ95K,EAAOoiK,KAAPpiK,GACJs/G,EAAWukF,KAef,OAdA5jF,EAAAA,EAAAA,YAAU,WACRX,EAASinD,IAAO,IAChBjnD,E1RyFF,SAAC6jB,GAAM,IAAE1qF,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAysN,GAAAj8C,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC5B,SAAAqrC,EAAOvgF,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA0uC,GAAA,cAAAA,EAAA97M,KAAA87M,EAAA77M,MAAA,cAAA67M,EAAA77M,KAAA,EACMg8M,GAAOtnI,QACxB2kI,GAAO,yBAAAh7M,OAA4B6gJ,IACnCrrF,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAF/BuF,EAAM4oM,EAAA3sC,KAGV16G,EAASvhD,GAAQ,wBAAA4oM,EAAAnnE,OAAA,GAAAknE,EAAA,KAClB,gBAAAb,GAAA,OAAA0N,EAAAjsN,MAAA,KAAAR,UAAA,EAN2B,EAM3B,C0R9FG6+Q,CAAoB9+P,GAAI,SAAC6hJ,GACvBviC,EAASinD,IAAO,IACZ1kB,EAAKpqI,OACP6zL,GAAMyJ,QAAQlzD,EAAKt9H,SAEnB+mL,GAAM3+M,MAAMk1J,EAAKt9H,QAErB,IAEJ,GAAG,KAGD0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,yBAAwByE,UACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,iCAAgCyE,SAAA,EAC7CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAK11H,ylLAAeyF,UAAU,iBAEhCiwH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,mCACJwrH,EAAAA,GAAAA,KAAA,eAIJA,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,SAAC,6BAQ7B,ECDA,GA1CwB,WACtB,IAAQz8C,EAAOoiK,KAAPpiK,GACJs/G,EAAWukF,KAef,OAdA5jF,EAAAA,EAAAA,YAAU,WACRX,EAASinD,IAAO,IAChBjnD,E3RiFF,SAAC6jB,GAAM,IAAE1qF,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAkmL,GAAA1V,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC5B,SAAA+qC,EAAOjgF,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAouC,GAAA,cAAAA,EAAAx7M,KAAAw7M,EAAAv7M,MAAA,cAAAu7M,EAAAv7M,KAAA,EACMg8M,GAAOtnI,QACxB2kI,GAAO,sBAAAh7M,OAAyB6gJ,IAChCrrF,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAF/BuF,EAAMsoM,EAAArsC,KAGV16G,EAASvhD,GAAQ,wBAAAsoM,EAAA7mE,OAAA,GAAA4mE,EAAA,KAClB,gBAAAR,GAAA,OAAA54B,EAAA1lL,MAAA,KAAAR,UAAA,EAN2B,EAM3B,C2RtFG8+Q,CAAkB/+P,GAAI,SAAC6hJ,GACjBA,EAAKpqI,QACP6zL,GAAMyJ,QAAQlzD,EAAKt9H,SACnB+6F,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,GAAG,KAED0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,yBAAwByE,UACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,iCAAgCyE,SAAA,EAC7CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAK11H,qzRAAWyF,UAAU,iBAE5BiwH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,0CAIRwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,SAAC,6BAQ7B,EC3CA,SAAS0sH,GAAoBN,EAAWr0K,EAAcnP,GACpD,IAAMyjL,GAAavoD,EAAAA,EAAAA,aAAqB3zH,IAAdi8K,GAC1BE,GAA+BvoD,EAAAA,EAAAA,UAAShsH,GAAay+K,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAA9CC,EAAUiK,EAAA,GAAEpiD,EAAQoiD,EAAA,GACrBhK,OAAuBr8K,IAAdi8K,EACTK,EAAUJ,EAAWvsK,QAU3B,OATAusK,EAAWvsK,QAAU0sK,GAMhBA,GAAUC,GAAWF,IAAex0K,GACvCq8H,EAASr8H,GAEJ,CAACy0K,EAASJ,EAAYG,GAAYjpD,EAAAA,EAAAA,cAAY,WAAa,QAAAhf,EAAA9gH,UAAAC,OAAT2M,EAAI,IAAAvM,MAAAygH,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJp0G,EAAIo0G,GAAAhhH,UAAAghH,GAC3D,IAAO5/G,EAAkBwL,EAAI,GAAZyvK,EAAQzvK,EAAI6Y,MAAA,GACzBmmG,EAAyB,MAAXxmH,OAAkB,EAASA,EAAO5E,WAAC,EAAD,CAACY,GAAKiB,QAAAq6I,EAAAA,EAAAA,GAAK2/B,KAE/D,OADAzrC,EAASxvI,GACFwqH,CACT,GAAG,CAACxmH,IACN,CCOA,IAAM25Q,GAAkC,CACtCzoK,OAAQloG,OAAOwF,KAAKuW,MAAsB,KAAhBvW,KAAKuwB,WAC/B7nB,QAAS,EACT0iQ,OAAO,GAGHC,GAAaC,EAAMr3G,cAA+Bk3G,IAuDxD,IAAII,GAAYl5N,QACI,qBAAXthD,QACPA,OAAOsX,UACPtX,OAAOsX,SAASgc,eAGdmnP,GAAe,IAAIl+I,QAEvB,SAASm+I,KAA6B,IAAlB5xI,EAAAztI,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,IAAAA,UAAA,GACdq0D,GAAM,EAAAirN,EAAAA,YAAWL,IACjB1sN,GAAM,EAAAgtN,EAAAA,QAAsB,MAEhC,GAAoB,OAAhBhtN,EAAIj2C,UAAqBmxH,EAAY,KAWpB+xI,EAAAC,EAAfC,EAAqB,QAANF,EAAAN,EAAM/6J,0DAAN,IAAAq7J,GAA0D,QAA1DC,EAAAD,EAA0D99I,yBAAA,IAAA+9I,OAA1D,EAAAA,EAA6EnjQ,QAChG,GAAIojQ,EAAc,CAChB,IAAIC,EAAqBP,GAAa/1P,IAAIq2P,GAChB,MAAtBC,EAEFP,GAAaj2P,IAAIu2P,EAAc,CAC7B3/P,GAAIs0C,EAAI/3C,QACRo8C,MAAOgnN,EAAat2J,gBAEbs2J,EAAat2J,gBAAkBu2J,EAAmBjnN,QAI3DrE,EAAI/3C,QAAUqjQ,EAAmB5/P,GACjCq/P,GAAa10J,OAAOg1J,GAExB,CAGAntN,EAAIj2C,UAAY+3C,EAAI/3C,OACtB,CAGA,OAAOi2C,EAAIj2C,OACb,CAyBO,IAAMsjQ,GAAyC,oBAAnBV,EAAM,MAVzC,SAA4BW,GAE1B,IAAI9/P,EAAKm/P,EAAMr+I,QACfyuD,GAAe,EAAAwwF,EAAAA,UA8B8B,oBAAlCZ,EAAM,qBACRA,EAAM,qBAAwBa,GAAWC,GAAaC,KAIrD,EAAAX,EAAAA,YAAWL,IACVD,OAnCP1oK,GADoB+rC,EAAAA,EAAAA,GAAAitC,EAAA,GAAnB,GACiB,0BAAAjtL,OAA4B08Q,GAAezoK,QACjE,OAAOupK,GAAA,GAAAx9Q,OAAgBi0G,EAAA,KAAAj0G,OAAU0d,EACnC,EAnBA,SAA4B8/P,GAC1B,IAAIxrN,GAAM,EAAAirN,EAAAA,YAAWL,IAIjB5qN,IAAQ0qN,IAAmBI,IAC7BlvQ,QAAQ+a,KAAK,mJAGf,IAAIg7I,EAAUq5G,KAAaQ,GAC3B,OAAOA,GAAA,aAAAx9Q,OAA0BgyD,EAAIiiD,OAAA,KAAAj0G,OAAU2jK,EACjD,EAcA,SAASg6G,KACP,OAAO,CACT,CAEA,SAASC,KACP,OAAO,CACT,CAGA,SAASF,GAAUG,GAEjB,OAAO,WAAO,CAChB,CCrLA,IAAM14F,GAAY,CAAC,SAAU,WAAY,eAAgB,aAAc,gBAAiB,OAAQ,UAAW,aAAc,YAAa,SAAU,YAAa,YAC3JqL,GAAa,CAAC,YAAa,kBAAmB,mBAC9CmhE,GAAa,CAAC,MAChB,SAAS95F,GAA8B93J,EAAQ43J,GAAY,GAAc,MAAV53J,EAAgB,MAAO,CAAC,EAAG,IAA2DvB,EAAKd,EAA5DoC,EAAS,CAAC,EAAO83J,EAAav5J,OAAO+B,KAAKL,GAAqB,IAAKrC,EAAI,EAAGA,EAAIk6J,EAAWh6J,OAAQF,IAAOc,EAAMo5J,EAAWl6J,GAAQi6J,EAAS9hJ,QAAQrX,IAAQ,IAAasB,EAAOtB,GAAOuB,EAAOvB,IAAQ,OAAOsB,CAAQ,CAO3S,SAASg+Q,GAAYrlI,GAC1B,IACIq0C,EAYEr0C,EAZFq0C,OACAujC,EAWE53E,EAXF43E,SACAplC,EAUExyC,EAVFwyC,aACAliE,EASE0vB,EATF1vB,WACAiiE,EAQEvyC,EARFuyC,cAAa60E,EAQXpnH,EAPFlL,KAAAA,OAAI,IAAAsyH,EAAG,WAAUA,EACjBvzE,EAME7zC,EANF6zC,QACAC,EAKE9zC,EALF8zC,WACAF,EAIE5zC,EAJF4zC,UACAI,EAGEh0C,EAHFg0C,OACAC,EAEEj0C,EAFFi0C,UACAC,EACEl0C,EADFk0C,SAEFttE,EAAQw4C,GAA8Bpf,EAAM0sC,IACxCjuD,GAAUwG,EAAAA,EAAAA,YAAW+lG,IAC3B,IAAKvsG,EAAS,MAAO,CAAC74H,OAAO8b,OAAO,CAAC,EAAGklG,EAAO,CAC7CkuB,KAAAA,IACE,CACF8iF,SAAAA,EACA/hF,SAAUw+C,EACV7B,aAAAA,EACAliE,WAAAA,EACAiiE,cAAAA,EACAsB,QAAAA,EACAC,WAAAA,EACAF,UAAAA,EACAI,OAAAA,EACAC,UAAAA,EACAC,SAAAA,IAEF,IACIwkC,EAGEj6F,EAHFi6F,UACA0S,EAEE3sG,EAFF2sG,gBACAF,EACEzsG,EADFysG,gBAEF3pD,EAAOniB,GAA8B3gC,EAASs5D,IAC1ChyL,EAAMykO,GAAa5S,GACzB,MAAO,CAAChyN,OAAO8b,OAAO,CAAC,EAAGklG,EAAO,CAC/BkuB,KAAAA,EACA7vH,GAAImmN,EAAgBxT,GACpB,kBAAmBsT,EAAgBtT,KACjC,CACFA,SAAAA,EACA/hF,SAAoB,MAAVw+C,GAAyB,MAAPtuL,EAAcykO,GAAa9R,KAAe3yN,EAAMsuL,EAC5E/jE,WAAYA,GAAcixD,EAAKjxD,WAC/BkiE,aAA8B,MAAhBA,EAAuBA,EAAejR,EAAKiR,aACzDD,cAAgC,MAAjBA,EAAwBA,EAAgBhR,EAAKgR,cAC5DsB,QAAAA,EACAC,WAAAA,EACAF,UAAAA,EACAI,OAAAA,EACAC,UAAAA,EACAC,SAAAA,GAEJ,CACA,IAAMoxF,GAAwBhgG,EAAAA,YAE9B,SAACz0B,EAAOp5F,GACN,IAAA63H,EAEMz+B,EADFtyE,GAAI4hD,OAAS,IAAAmvD,EAAG,MAAKA,EAGzBi2F,EAWKF,GAZKjmH,GAA8BvO,EAAOqoG,KAYxBssB,GAAAj+H,EAAAA,EAAAA,GAAAg+H,EAAA,GAXhBE,EAAaD,EAAA,GAAAE,EAAAF,EAAA,GAClB3vI,EAAQ6vI,EAAR7vI,SACAg+C,EAAO6xF,EAAP7xF,QACAC,EAAU4xF,EAAV5xF,WACAF,EAAS8xF,EAAT9xF,UACAI,EAAM0xF,EAAN1xF,OACAC,EAASyxF,EAATzxF,UACAC,EAAQwxF,EAARxxF,SACA1B,EAAYkzF,EAAZlzF,aACAD,EAAamzF,EAAbnzF,cAAaozF,EAAAD,EACbp1J,WAAY0hE,OAAU,IAAA2zF,EAAGrf,GAAcqf,EAIzC,OAAoBz4F,EAAAA,GAAAA,KAAK89C,GAAW99D,SAAU,CAC5C5mK,MAAO,KACPo7D,UAAuBwrH,EAAAA,GAAAA,KAAK29C,GAAkB39D,SAAU,CACtD5mK,MAAO,KACPo7D,UAAuBwrH,EAAAA,GAAAA,KAAK8E,EAAY,CACtCM,GAAIz8C,EACJg+C,QAASA,EACTC,WAAYA,EACZF,UAAWA,EACXI,OAAQA,EACRC,UAAWA,EACXC,SAAUA,EACV1B,aAAcA,EACdD,cAAeA,EACf7wH,UAAuBwrH,EAAAA,GAAAA,KAAK/sD,EAAWv6H,OAAO8b,OAAO,CAAC,EAAG+jQ,EAAe,CACtEhuN,IAAKA,EACL/yC,QAASmxH,EACT,eAAgBA,UAK1B,IACAyvI,GAAS54Q,YAAc,WACvB,ICxGMk5Q,GAAO,SAAAh/J,GACX,IACMi/J,EASFj/J,EATF3hG,GACiB6gQ,EAQfl/J,EARFm/J,gBACUC,EAORp/J,EAPFgwE,SACWqvF,EAMTr/J,EANF8xG,UACAU,EAKExyG,EALFwyG,iBACA9oG,EAIE1J,EAJF0J,WACAkiE,EAGE5rE,EAHF4rE,aACAD,EAEE3rE,EAFF2rE,cACA7wH,EACEklD,EADFllD,SAEFmsH,EAA8BO,GAAoB63F,EAAgB7sD,EAAkB4sD,GAAcE,GAAA3+H,EAAAA,EAAAA,GAAAsmC,EAAA,GAA3F6qC,EAASwtD,EAAA,GAAEtvF,EAAQsvF,EAAA,GACpBjhQ,EAAKkhQ,GAAaN,GAClBE,GAAkBzgJ,EAAAA,EAAAA,UAAQ,kBAAMwgJ,GAA0B,SAAC//Q,EAAKiH,GAAI,OAAKiY,EAAK,GAAH1d,OAAM0d,EAAE,KAAA1d,OAAIyF,EAAI,KAAAzF,OAAIxB,GAAQ,IAAI,CAAC,GAAE,CAACkf,EAAI6gQ,IACnH/6C,GAAazlG,EAAAA,EAAAA,UAAQ,iBAAO,CAChCsxD,SAAAA,EACA8hC,UAAAA,EACApoG,WAAAA,EACAkiE,aAAcA,IAAgB,EAC9BD,cAAeA,IAAiB,EAChC64C,gBAAiB,SAAArlO,GAAG,OAAIggR,EAAgBhgR,EAAK,UAAU,EACvDmlO,gBAAiB,SAAAnlO,GAAG,OAAIggR,EAAgBhgR,EAAK,MAAM,EACpD,GAAG,CAAC6wL,EAAU8hC,EAAWpoG,EAAYkiE,EAAcD,EAAewzF,IACnE,OAAoB74F,EAAAA,GAAAA,KAAK89C,GAAW99D,SAAU,CAC5C5mK,MAAOykO,EACPrpK,UAAuBwrH,EAAAA,GAAAA,KAAK29C,GAAkB39D,SAAU,CACtD5mK,MAAOswL,GAAY,KACnBl1H,SAAUA,KAGhB,EACAkkN,GAAKQ,MDwEL,GCvEA,UCxCA,GAAel3F,GAAmB,eCCnB,SAASm3F,GAA0B/1J,GAChD,MAA0B,mBAAfA,EACFA,EAAa26I,GAAO3E,GAEtBh2I,CACT,wDCEMg2J,GAAuBhhG,EAAAA,YAAiB,SAAAtlC,EAI3CvoF,GAAQ,IAHT43H,EAAQrvC,EAARqvC,SACA/+D,EAAU0vB,EAAV1vB,WAGAi1J,EAgBKF,GAAW5lI,GAAAA,GAAC,CAAC,EAlBVwf,GAAAjf,EAAA0sC,KAmBE,IACRp8D,WAAY+1J,GAA0B/1J,MACtCk1J,GAAAj+H,EAAAA,EAAAA,GAAAg+H,EAAA,GAAAG,EAAAF,EAAA,GAlBAvoN,EAASyoN,EAATzoN,UAASspN,EAAAb,EAETnnM,GAAI4hD,OAAS,IAAAomJ,EAAG,MAAKA,EAClBhlG,EAAItiB,GAAAymH,EAAA3tF,IAAAyuF,EAAAhB,EAAA,GAEP3vI,EAAQ2wI,EAAR3wI,SACAg+C,EAAO2yF,EAAP3yF,QACAC,EAAU0yF,EAAV1yF,WACAF,EAAS4yF,EAAT5yF,UACAI,EAAMwyF,EAANxyF,OACAC,EAASuyF,EAATvyF,UACAC,EAAQsyF,EAARtyF,SACA1B,EAAYg0F,EAAZh0F,aACAD,EAAai0F,EAAbj0F,cAAak0F,EAAAD,EACbl2J,WAAY0hE,OAAU,IAAAy0F,EAAGxb,GAAIwb,EAKzBjrK,EAASqzE,GAAmBQ,EAAU,YAI5C,OAAoBnC,EAAAA,GAAAA,KAAK89C,GAAW99D,SAAU,CAC5C5mK,MAAO,KACPo7D,UAAuBwrH,EAAAA,GAAAA,KAAK29C,GAAkB39D,SAAU,CACtD5mK,MAAO,KACPo7D,UAAuBwrH,EAAAA,GAAAA,KAAK8E,EAAY,CACtCM,GAAIz8C,EACJg+C,QAASA,EACTC,WAAYA,EACZF,UAAWA,EACXI,OAAQA,EACRC,UAAWA,EACXC,SAAUA,EACV1B,aAAcA,EACdD,cAAeA,EACf7wH,UAAuBwrH,EAAAA,GAAAA,KAAK/sD,EAASsf,GAAAA,GAAA,GAChC8hC,GAAI,IACP9pH,IAAKA,EACLwF,UAAWl4D,KAAWk4D,EAAWu+C,EAAQq6B,GAAY,kBAK/D,IACAywI,GAAQ55Q,YAAc,UACtB,4GCzCA,SAASg6Q,GAAUl4J,GACjB,IAAAm4J,EAOIn4J,EAAM5H,MANRj/F,EAAKg/P,EAALh/P,MACAiwM,EAAQ+uD,EAAR/uD,SACAhtG,EAAQ+7J,EAAR/7J,SACAg8J,EAAYD,EAAZC,aACAC,EAAQF,EAARE,SACA5hQ,EAAE0hQ,EAAF1hQ,GAEF,OAAa,MAAT0C,EACK,MAEWulK,EAAAA,GAAAA,KAAKm+C,GAAS,CAChC9sJ,GAAI,KACJu2D,KAAM,eACNpzE,UAAuBwrH,EAAAA,GAAAA,KAAKg/C,GAAOzsF,GAAAA,GAAA,CACjClhE,GAAI,SACJvxE,KAAM,SACN4qN,SAAUA,EACVhtG,SAAUA,EACV3lG,GAAIA,EACJg4C,UAAW2pN,GACRC,GAAQ,IACXnlN,SAAU/5C,MAGhB,CACA,IAAMi+P,GAAO,SAAAh/J,GACX,IAAAsvE,EAUI3I,GAAgB3mE,EAAO,CACzB8xG,UAAW,aAVXzzM,EAAEixK,EAAFjxK,GACA2xK,EAAQV,EAARU,SACAtmE,EAAU4lE,EAAV5lE,WAAUw2J,EAAA5wF,EACV1D,aAAAA,OAAY,IAAAs0F,GAAQA,EAAAC,EAAA7wF,EACpB3D,cAAAA,OAAa,IAAAw0F,GAAQA,EAAAC,EAAA9wF,EACrBjhI,QAAAA,OAAO,IAAA+xN,EAAG,OAAMA,EAChBtlN,EAAQw0H,EAARx0H,SAAQulN,EAAA/wF,EACRwiC,UAAAA,OAAS,IAAAuuD,EA7Cb,SAA6BvlN,GAC3B,IAAI03J,EAMJ,OALA7wN,GAAQm5D,GAAU,SAAA8sD,GACQ,MAApB4qG,IACFA,EAAmB5qG,EAAM5H,MAAMgxG,SAEnC,IACOwB,CACT,CAqCgB8tD,CAAoBxlN,GAASulN,EACtCtuD,EAAe15D,GAAAi3B,EAAAxJ,IAIpB,OAAoBiO,EAAAA,GAAAA,MAAMwsF,GAAU,CAClCliQ,GAAIA,EACJyzM,UAAWA,EACX9hC,SAAUA,EACVtmE,WAAY+1J,GAA0B/1J,GACtCkiE,aAAcA,EACdD,cAAeA,EACf7wH,SAAU,EAAcwrH,EAAAA,GAAAA,KAAKu+C,GAAGhsF,GAAAA,GAAA,GAC3Bk5E,GAAe,IAClB7jF,KAAM,UACNv2D,GAAI,KACJtpB,QAASA,EACTyM,SAAUl6D,GAAIk6D,EAAUglN,QACTx5F,EAAAA,GAAAA,KAAKk6F,GAAY,CAChC1lN,SAAUl6D,GAAIk6D,GAAU,SAAA8sD,GACtB,IAAMkmE,EAAUj1C,GAAA,GACXjxB,EAAM5H,OAMX,cAJO8tE,EAAW/sK,aACX+sK,EAAW9pE,gBACX8pE,EAAWkyF,oBACXlyF,EAAWmyF,UACE35F,EAAAA,GAAAA,KAAKo5F,GAAO7mI,GAAA,GAC3Bi1C,GAEP,QAGN,EACAkxF,GAAKl5Q,YAAc,OACnB,4BCxFM26Q,GAAe,SAAHrnI,GAAA,IAChB1vB,EAAU0vB,EAAV1vB,WACG1J,EAAKq4C,GAAAjf,EAAA0sC,IAAA,OACSQ,EAAAA,GAAAA,KAAK04F,GAAInmI,GAAAA,GAAA,GACvB74B,GAAK,IACR0J,WAAY+1J,GAA0B/1J,KACtC,EACF+2J,GAAa36Q,YAAc,eAC3B,UCJMK,GAAY,CAChB6qN,SAAUnvG,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,SAIjD9gG,MAAO8gG,KAAAA,KAAe9B,WAItBiE,SAAUnC,KAAAA,KAIVm+J,aAAcn+J,KAAAA,OAIdo+J,SAAUp+J,KAAAA,QAEN6+J,GAAM,WACV,MAAM,IAAIv+Q,MAAM,8NAGlB,EACAu+Q,GAAIv6Q,UAAYA,GAChB,OAAenH,OAAO8b,OAAO4lQ,GAAK,CAChCC,UAAWF,GACXG,QAASJ,GACTK,KAAMnB,gBC02BR,GAh3BmB,WACjB,IAAMl+H,EAASi/B,KACT9iD,EAAWukF,KACjB96B,GAAoCvoD,EAAAA,EAAAA,UAAS,IAAGyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAAzCmrE,EAAUjhE,EAAA,GAAEkhE,EAAalhE,EAAA,GAChCE,GAA4C3yD,EAAAA,EAAAA,UAAS,IAAG4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAAjDsvF,EAAcrvF,EAAA,GAAEsvF,EAAiBtvF,EAAA,GACxCG,GAAgC/yD,EAAAA,EAAAA,UAAS,IAAGgzD,GAAAlxC,EAAAA,EAAAA,GAAAixC,EAAA,GAArC2iE,EAAQ1iE,EAAA,GAAEmvF,EAAWnvF,EAAA,GAC5BG,GAAkCnzD,EAAAA,EAAAA,UAAS,IAAGozD,GAAAtxC,EAAAA,EAAAA,GAAAqxC,EAAA,GAAvC0jC,EAASzjC,EAAA,GAAEgvF,EAAYhvF,EAAA,GAC9BgzB,GAAgCpmF,EAAAA,EAAAA,UAAS,IAAGqmF,GAAAvkE,EAAAA,EAAAA,GAAAskE,EAAA,GAArCi8D,EAAQh8D,EAAA,GAAEi8D,EAAWj8D,EAAA,GAC5BG,GAA0BxmF,EAAAA,EAAAA,UAAS,IAAGymF,GAAA3kE,EAAAA,EAAAA,GAAA0kE,EAAA,GAA/BizC,EAAKhzC,EAAA,GAAEizC,EAAQjzC,EAAA,GACtBG,GAA8C5mF,EAAAA,EAAAA,UAAS,CAAC,GAAE6mF,GAAA/kE,EAAAA,EAAAA,GAAA8kE,EAAA,GAAnD+yC,EAAe9yC,EAAA,GAAE+yC,EAAkB/yC,EAAA,GAC1CG,GAA4BhnF,EAAAA,EAAAA,UAAS,MAAKinF,GAAAnlE,EAAAA,EAAAA,GAAAklE,EAAA,GAAnCu7D,EAAMt7D,EAAA,GAAEu7D,EAASv7D,EAAA,GACxBG,GAAkCpnF,EAAAA,EAAAA,UAAS,CAAC,GAAEqnF,GAAAvlE,EAAAA,EAAAA,GAAAslE,EAAA,GAAvCq7D,EAASp7D,EAAA,GAAEq7D,EAAYr7D,EAAA,GAC9BC,GAAgCtnF,EAAAA,EAAAA,UAAS,CAAC,GAAEunF,GAAAzlE,EAAAA,EAAAA,GAAAwlE,EAAA,GAA3Bq7D,GAAFp7D,EAAA,GAAaA,EAAA,IAC5BG,GAA4B1nF,EAAAA,EAAAA,UAAS,GAAE2nF,GAAA7lE,EAAAA,EAAAA,GAAA4lE,EAAA,GAAhC+kD,EAAM9kD,EAAA,GAAEi7D,EAASj7D,EAAA,GACxBG,GAA8B9nF,EAAAA,EAAAA,UAAS,IAAG+nF,GAAAjmE,EAAAA,EAAAA,GAAAgmE,EAAA,GAAnC0kD,EAAOzkD,EAAA,GAAE86D,EAAU96D,EAAA,GAC1BG,GAAgCloF,EAAAA,EAAAA,UAAS,IAAGmoF,GAAArmE,EAAAA,EAAAA,GAAAomE,EAAA,GAArC+C,GAAQ9C,EAAA,GAAE26D,GAAW36D,EAAA,GAC5BG,IAAkCtoF,EAAAA,EAAAA,WAAS,GAAMuoF,IAAAzmE,EAAAA,EAAAA,GAAAwmE,GAAA,GAA1CvxE,GAASwxE,GAAA,GAAEw6D,GAAYx6D,GAAA,GAC9BG,IAA8C1oF,EAAAA,EAAAA,WAAS,GAAM2oF,IAAA7mE,EAAAA,EAAAA,GAAA4mE,GAAA,GAAtDqhD,GAAephD,GAAA,GAAEqhD,GAAkBrhD,GAAA,GAC1CG,IAAkC9oF,EAAAA,EAAAA,WAAS,GAAM+oF,IAAAjnE,EAAAA,EAAAA,GAAAgnE,GAAA,GAA1C8O,GAAS7O,GAAA,GAAE8O,GAAY9O,GAAA,GACxBi6D,IAAWjjJ,EAAAA,EAAAA,QAAO,MACxBmpF,IAAsClpF,EAAAA,EAAAA,UAAS,GAAEmpF,IAAArnE,EAAAA,EAAAA,GAAAonE,GAAA,GAA1CnmE,GAAWomE,GAAA,GAClBG,IADkCH,GAAA,IACQnpF,EAAAA,EAAAA,UAAS,IAAEupF,IAAAznE,EAAAA,EAAAA,GAAAwnE,GAAA,GAA9C25D,GAAa15D,GAAA,GACpBG,IADsCH,GAAA,IACUvpF,EAAAA,EAAAA,UAAS,CAAC,IAAE2pF,IAAA7nE,EAAAA,EAAAA,GAAA4nE,GAAA,GAArDw5D,GAAgBv5D,GAAA,GAAEw5D,GAAmBx5D,GAAA,GAC5CE,IAAkD7pF,EAAAA,EAAAA,UAAS,IAAG8pF,IAAAhoE,EAAAA,EAAAA,GAAA+nE,GAAA,GAAvDu5D,GAAiBt5D,GAAA,GAAEu5D,GAAoBv5D,GAAA,GAExCuhD,GAAgB,WACpBrB,IAAoBD,GACtB,GAEAtqI,EAAAA,EAAAA,YAAU,WACRX,EAASinD,IAAO,IAChBjnD,EhQ4KF,SAAC01H,GAAiB,IAAEv8L,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAA6jR,GAAArzG,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MACvC,SAAAuvG,EAAOzkJ,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA4yG,GAAA,cAAAA,EAAAhgR,KAAAggR,EAAA//Q,MAAA,cAAA+/Q,EAAA//Q,KAAA,EACMg8M,GAAOtnI,QACxB2kI,GAAO,uBAAAh7M,OAA0B0yP,IACjCl9L,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAF/BuF,EAAM8sQ,EAAA7wG,KAGV16G,EAASvhD,GAAQ,wBAAA8sQ,EAAArrI,OAAA,GAAAorI,EAAA,KAClB,gBAAAE,GAAA,OAAAH,EAAArjR,MAAA,KAAAR,UAAA,EANsC,EAMtC,CgQjLGikR,CAAoB/gI,EAAO6xG,mBAAmB,SAAC19N,GAC7C,GAAIA,EAASG,OAAQ,CACnB,IAGe0sP,EAAAC,EAHTC,EAAuB/sP,EAAS3lB,KAAKukP,SACrCouB,EAAiBhtP,EAAS3lB,KAAK2yQ,eAErC,GADAp0Q,QAAQymB,IAAI2tP,IACPzB,EACHC,EAA6B,QAAlBqB,EAACG,EAAe,UAAE,IAAAH,GAAY,QAAZC,EAAjBD,EAAmB9Y,QAAQ,UAAE,IAAA+Y,OAAZ,EAAjBA,EAA+BvB,UAG7CF,EAAY0B,GACZ3B,EAAkB4B,GAClBhlJ,EAASinD,IAAO,IAChBjnD,EACE02F,GAAkBquD,GAAsB,SAACxiH,GACnCA,EAAKpqI,QACP08N,EAActyF,EAAKlwJ,MACnB2tH,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,MACE+6F,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAM2qB,EAASiN,QAEzB,IAEJ,GAAG,CAAC+6F,EAAU6jB,EAAO6xG,kBAAmB58B,KACxCloN,QAAQymB,IAAIksP,IAEZ5iJ,EAAAA,EAAAA,YAAU,WACR,GAAIi2H,EAAU,CAEZ,IAAM/oP,EAAM,CAAE+oP,SAAUA,GACxB52H,EAASinD,IAAO,IAChBjnD,EtSiGJ,SAAC42H,GAAQ,IAAEz9L,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,OAAAwwK,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC9B,SAAAgoF,IAAA,IAAA5nC,EAAA,OAAAhkD,EAAAA,GAAAA,KAAAQ,MAAA,SAAAqrF,GAAA,cAAAA,EAAAz4P,KAAAy4P,EAAAx4P,MAAA,cAAAw4P,EAAAx4P,KAAA,EACuBg8M,GAAO1C,SAC1BD,GAAU,mCACV44C,GACAp+L,MAAK,SAACx/C,GAAG,OAAKA,EAAI3G,IAAI,IAAE,KAAD,EAHrBijN,EAAQ6nC,EAAAtpF,KAIZ16G,EAASm8J,GAAU,wBAAA6nC,EAAA9jH,OAAA,GAAA6jH,EAAA,IACpB,CsSvGK+nB,CAAiCp3Q,GAAK,SAAC00J,GACjCA,EAAKpqI,QACPurP,EAAUnhH,EAAKlwJ,MACf2tH,EAASinD,IAAO,KAEhBjnD,EAASinD,IAAO,GAEpB,IAEJ,CACF,GAAG,CAACjnD,EAAU42H,KAEdj2H,EAAAA,EAAAA,YAAU,WACJo3F,IACFurD,EAAavrD,GACb/3F,EACE83F,GAAsBC,GAAW,SAAC//L,GAC5BA,EAASG,SACXyrP,EAAY1oI,GAAAA,GAAC,CAAC,EACTljH,EAAS3lB,MAAI,IAChB4yB,QAASjN,EAASiN,WAGhBjN,EAAS3lB,KAAK6yQ,gBAAkBltP,EAAS3lB,KAAK8yQ,cAChDZ,IAAqB,SAAC7/Q,GAAI,OAAA24I,EAAAA,EAAAA,GACrB,IAAIl5B,IAAI,GAADnhH,QAAAq6I,EAAAA,EAAAA,GAAK34I,GAAI,CAAEqzN,KAAW,IAIpCssD,IAAoB,SAAC3/Q,GAAI,OAAAw2I,GAAAA,GAAA,GACpBx2I,GAAI,IAAAixI,EAAAA,GAAAA,GAAA,GACNoiF,EACC//L,EAAS3lB,KAAK6yQ,gBAAkBltP,EAAS3lB,KAAK8yQ,cAAY,IAGlE,KAEFnlJ,EACEo3F,GAAmC,CAAEW,UAAAA,IAAa,SAAC//L,GAC7CA,EAASG,QACXyiO,EAAS5iO,EAAS3lB,MAClB2tH,EAASinD,IAAO,MAEhB2zE,EAAS,IACTipB,EAAY,CACV9rD,UAAWA,EACXqtD,SAAS,IAEXrsD,IAAcD,IACd94F,EAASinD,IAAO,IAEpB,KAGN,GAAG,CAAC8wC,IAEJ,IAAMstD,GAAqB,SAACttD,GACtBA,IACFurD,EAAavrD,GACb/3F,EACE83F,GAAsBC,GAAW,SAAC//L,GAC5BA,EAASG,QACXyrP,EAAY1oI,GAAAA,GAAC,CAAC,EACTljH,EAAS3lB,MAAI,IAChB4yB,QAASjN,EAASiN,UAGxB,KAEF+6F,EACEo3F,GAAmC,CAAEW,UAAAA,IAAa,SAAC//L,GAC7CA,EAASG,QACXyiO,EAAS5iO,EAAS3lB,MAClB2tH,EAASinD,IAAO,MAEhB2zE,EAAS,IACTipB,EAAY,CACV9rD,UAAWA,EACXqtD,SAAS,IAEXrsD,IAAcD,IACd94F,EAASinD,IAAO,IAEpB,KAGN,EAEMq+F,GAAkB,SAACvjR,GACvB+hR,EAAU/hR,EACZ,EAEMwjR,GAAqB,SAACl7Q,GAC1B05Q,EAAW15Q,EAAEvH,OAAOf,MACtB,EAQMk4O,GAAe,SAAC1oH,GACpBA,EAAM9E,iBAEN,IAAMz0F,EAAW,CACf+/L,UAAWA,EACX4iC,MAAOA,EAAM13P,KAAI,SAAC6xN,GAAQ,MAAM,CAC9BimC,WAAYjmC,EAAS1N,IACrB4zC,WAAYH,EAAgB/lC,EAAS1N,MAAQ,GAC9C,KAGHpnF,EACEy3F,GAAgBz/L,GAAU,SAACA,GACrBA,EAASG,QACXyrP,EAAY1oI,GAAAA,GAAC,CAAC,EACTljH,EAAS3lB,MAAI,IAChB4yB,QAASjN,EAASiN,WAIpBo/O,IAAoB,SAAC3/Q,GAAI,OAAAw2I,GAAAA,GAAA,GACpBx2I,GAAI,IAAAixI,EAAAA,GAAAA,GAAA,GACNoiF,EAAY//L,EAAS3lB,KAAKmzQ,aAAW,IAIpCxtP,EAAS3lB,KAAK6yQ,gBAAkBltP,EAAS3lB,KAAK8yQ,cAChDZ,IAAqB,SAAC7/Q,GAAI,OAAA24I,EAAAA,EAAAA,GAAS,IAAIl5B,IAAI,GAADnhH,QAAAq6I,EAAAA,EAAAA,GAAK34I,GAAI,CAAEqzN,KAAW,IAGlE/L,GAAMyJ,QAAQz9L,EAASiN,SACvB+6F,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAM2qB,EAASiN,SAEzB,IAEJ,EAEMwgP,GAAa,WAMjBzlJ,EtS9DF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,OAAAwwK,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAA+wC,IAAA,IAAAqP,EAAA,OAAAhkD,EAAAA,GAAAA,KAAAQ,MAAA,SAAAo0C,GAAA,cAAAA,EAAAxhN,KAAAwhN,EAAAvhN,MAAA,cAAAuhN,EAAAvhN,KAAA,EACuBg8M,GAAO1C,SAC1BD,GAAU,+BACV3rM,GACAmmD,MAAK,SAACx/C,GAAG,OAAKA,EAAI3G,IAAI,IAAE,KAAD,EAHrBijN,EAAQpP,EAAAryC,KAIZ16G,EAASm8J,GAAU,wBAAApP,EAAA7sE,OAAA,GAAA4sE,EAAA,IACpB,CsSwDGy/D,CANW,CACX9uB,SAAUA,EACV+W,OAAQA,EACRD,QAASA,IAG0B,SAACnrG,GAC9BA,EAAKpqI,QACPurP,EAAUnhH,EAAKlwJ,MACf2tH,EAASinD,IAAO,IAChB+kC,GAAMyJ,QAAQlzD,EAAKt9H,WAEnB+6F,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,EAQM0gP,GAAkB,WACtB1B,IAAa,EACf,EACMvpI,GAAc,WAClBupI,IAAa,EACf,EAEM2B,GAAe,CACnBtgM,KAAM,CACJiiE,YAAY,EACZs+H,aAAa,EACbpmI,WAAY,CACV4uH,aAAc,gBAKpB,SAAS9X,GAAe77J,GACtB,GAAgB,OAAZA,QAAgCptF,IAAZotF,EACtB,MAAO,WAGT,IAAMV,EAAQzlF,KAAKmS,MAAMg0E,EAAU,MAChCt5F,WACAg1P,SAAS,EAAG,KACTh8J,EAAU7lF,KAAKmS,MAAOg0E,EAAU,KAAQ,IAC3Ct5F,WACAg1P,SAAS,EAAG,KACTF,GAAoBx7J,EAAU,IAAIt5F,WAAWg1P,SAAS,EAAG,KAE/D,MAAM,GAANpzP,OAAUg3F,EAAK,KAAAh3F,OAAIo3F,EAAO,KAAAp3F,OAAIkzP,EAChC,CAEA,IAOM4vB,GAAiB,SAAHrqI,GAAoB,IAAd3E,EAAM2E,EAAN3E,OAExB,GADAlmI,QAAQymB,IAAIy/G,GACG,IAAXA,GAEE+M,EAAO6xG,mBAAqB6tB,EAAU,CACxC3yQ,QAAQymB,IAAI,UACZ,IAAMhlB,EAAO,CACXqjP,kBAAmB7xG,EAAO6xG,kBAC1B6tB,SAAUA,EACVwC,sBAAuB9hI,GACvB+hI,oBAAqB7B,IAEvBnkJ,EhQ9EN,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAslR,GAAA90G,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAgxG,EAAOlmJ,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAq0G,GAAA,cAAAA,EAAAzhR,KAAAyhR,EAAAxhR,MAAA,cAAAwhR,EAAAxhR,KAAA,EACMg8M,GAAO1C,SACxBD,GAAU,2CAA2C3rM,GACrDmmD,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAF/BuF,EAAMuuQ,EAAAtyG,KAGV16G,EAASvhD,GAAQ,wBAAAuuQ,EAAA9sI,OAAA,GAAA6sI,EAAA,KAClB,gBAAAE,GAAA,OAAAH,EAAA9kR,MAAA,KAAAR,UAAA,EANyB,EAMzB,CgQyEO0lR,CAAoCh0Q,GAAM,SAACkwJ,GACrCA,EAAKpqI,QAEPvnB,QAAQymB,IAAI,qCACZ0hM,IAAcD,IACd94F,EAASinD,IAAO,KAEhBjnD,EAASinD,IAAO,GAEpB,IAEJ,CAEJ,EAEMq/F,GAAiB,WACrBxrB,EAAmB,CAAC,GACpB8oB,EAAa,CAAC,EAChB,EAEA,OACEj7F,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gBAAeyE,SAC3By3L,EAAW3xP,KAAI,SAACmI,EAAG1K,GAAC,IAAA6lR,EAAAC,EAAAC,EAAA,OACnBrwF,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAl5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,uBAAsByE,UACnCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,sBAAqByE,UAClCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,oBAAmByE,SAAA,EAChCi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,SAAC,SAAY,KACzBwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,OAEf7R,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,YAAWq5C,SAAC,eACrBwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,OAEf7R,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,mBAAkBq5C,SAAE/xD,EAAEgY,YAEjCulK,EAAAA,GAAAA,KAAA,MAAAxrH,SAAK/xD,EAAEgY,SACPgzK,EAAAA,GAAAA,MAAA,KAAG19H,UAAU,iBAAgByE,SAAA,CAAC,KACR,QAAlBopN,EAACpD,EAAe,UAAE,IAAAoD,OAAA,EAAjBA,EAAmBnjQ,qBAOlCulK,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,oBAAmByE,UAChCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAS/gD,MAAO,CAAEkiD,SAAU,YAAasD,SAAA,EACtDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAACrqC,GAAAA,EAAW,CACV5lF,UAAU,YACVxJ,IAAKi9J,KAAwB,QAAhBq6D,EAAIp7Q,EAAE0gQ,QAAQ,UAAE,IAAA0a,GAAY,QAAZC,EAAZD,EAAcza,QAAQ,UAAE,IAAA0a,OAAZ,EAAZA,EAA0Bt6D,UAC3Cj5J,IAAKgxN,GACL3gI,SAAUtL,GACVhjI,MAAM,SACN0F,OAAO,OACP+9H,QAASgC,GACTxD,WAAY4uI,GACZpuI,QAASO,GACT9uH,OAAQy8P,QAGZj9F,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,qBAAoByE,UAC/B86E,KACA0wC,EAAAA,GAAAA,KAAA,OACEjwH,UAAU,OACVzF,qlWACAm8J,IAAI,YACJvpF,QAAS8/I,WAKjBh9F,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,sBAAqByE,UAClCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAQyE,SAAA,EACrBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,sBAENwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAChB,OAAD/xD,QAAC,IAADA,OAAC,EAADA,EAAGmsE,YACF6+G,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,CACG/xD,EAAEmsE,SAAShkE,MAAM,KAAK,GAAG,IAAE,IAC3BnI,EAAEmsE,SAAShkE,MAAM,KAAK,GAAG,IAAE,IAC3BnI,EAAEmsE,SAAShkE,MAAM,KAAK,GAAG,IAAE,aAKpCo1K,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,aAAYyE,UACzBwrH,EAAAA,GAAAA,KAACurC,GAAS,CAACW,iBAAkBn0N,EAAGmzN,YAAU,EAAA12J,SACvCgmN,EAAelgR,KAAI,SAACoI,EAAG2iB,GAEtB,IAAM04P,EACE,IAAN14P,GACAs2P,GAAkB/iR,SAChB4hR,EAAen1P,EAAI,GAAG+pM,WAG1B,OACE3hC,EAAAA,GAAAA,MAAC89B,GAAU19B,KAAI,CACb68B,SAAUhoN,EAAE0sN,UACZlyF,QAAS,kBACP6gJ,GACArB,GAAmBh6Q,EAAE0sN,UAAU,EAEjCr/J,UACGguN,EAAsC,GAAvB,qBACjBvpN,SAAA,EAEDi5H,EAAAA,GAAAA,MAAC89B,GAAUG,OAAM,CACfhuG,UAAWqgK,EACX/uQ,MACG+uQ,EAEG,CAAC,EADD,CAAEt+J,QAAS,GAAK94G,OAAQ,eAE7B6tD,SAAA,CAEAnvC,EAAI,EAAE,KAAG3iB,EAAE+X,OACVsjQ,IACA/9F,EAAAA,GAAAA,KAAA,QAAMjwH,UAAU,cAAayE,SAAC,yCAKjCupN,IACE,OAADr7Q,QAAC,IAADA,OAAC,EAADA,EAAG0gQ,QAAQ9oQ,KAAI,SAAC0jR,EAAMC,GAAM,OAC1Bj+F,EAAAA,GAAAA,KAACurC,GAAUI,KAAI,CAAAn3J,UACbi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,oBAAmByE,SAAA,EAChCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBi5H,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,CACGypN,EAAS,EAAE,KAAO,OAAJD,QAAI,IAAJA,OAAI,EAAJA,EAAMvjQ,MAAM,OAC1BmzO,GACK,OAAJowB,QAAI,IAAJA,OAAI,EAAJA,EAAMX,qBACN,UAINr9F,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,KACEjwH,UAAU,OACV/gD,MAAO,CAAErI,OAAQ,WACjBu2H,QAAS,WAjN5B,IAACghJ,EAkNoBlB,KAlNpBkB,EAmNuC,OAAJF,QAAI,IAAJA,OAAI,EAAJA,EAAMx6D,SAlN/D63D,GAAY6C,GACZj2Q,QAAQymB,IAAIwvP,GAES,SAACtD,GACtBC,EAAYD,EACd,CA8M4CuD,CAAmB,OAAJH,QAAI,IAAJA,OAAI,EAAJA,EAAMpD,SACvB,EAAEpmN,UAEFwrH,EAAAA,GAAAA,KAAC2tC,GAAY,YAIJ,OAI3B,gBAMV3tC,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,sBAAqByE,UAClCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBi5H,EAAAA,GAAAA,MAACirF,GAAI,CAACxsD,iBAAiB,QAAQn8J,UAAU,UAASyE,SAAA,EAChDi5H,EAAAA,GAAAA,MAAC2sF,GAAG,CAAC1vD,SAAS,QAAQjwM,MAAM,WAAU+5C,SAAA,EACpCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,qBAAoByE,SAAA,EACjCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,wBACJwrH,EAAAA,GAAAA,KAAA,KACEriE,wBAAyB,CACvB0O,OAAQi2I,GACJ7/P,EAAE2hQ,iBACF3hQ,EAAE2hQ,iBAAiB3mP,MAAM,EAAG,QAGnChb,EAAE2hQ,iBAAiBnsQ,OAAS,MAC3B+nL,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAI+hH,QAAS0mI,GAAcpvM,SACjC8tM,GAAkB,YAAc,kBAKvCtiF,EAAAA,GAAAA,KAAA,UACAyN,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAQyE,SAAA,EACrBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,uBACJwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UACf,OAAD/xD,QAAC,IAADA,OAAC,EAADA,EAAG6hQ,kBACFx/P,QAAQ,kBAAmB,IAC3B8F,MAAM,KACNtQ,KAAI,SAACkI,EAAG6qB,GAAE,OACT2yJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,qBAAoByE,UACjCwrH,EAAAA,GAAAA,KAAA,MAAIjwH,UAAU,YAAWyE,UACvBi5H,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACmT,GAAM,MAER3wL,QAGD,UAKdw9K,EAAAA,GAAAA,KAAA,UACAyN,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,UAASyE,SAAA,EACtBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,cACJwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,qBAAoByE,UACjCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,QAAOyE,UACpBwrH,EAAAA,GAAAA,KAAA,OACE11H,IACE7nD,EAAE2xN,WAAa3xN,EAAE2xN,UAAU0hC,SACvBrzP,EAAE2xN,UAAU0hC,SACZgP,GAENr+C,IAAI,cACJ12J,UAAU,mBAIhBiwH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,qBAAoByE,UACjCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAQyE,SAAA,EACrBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAM,OAAD/xD,QAAC,IAADA,OAAC,EAADA,EAAG2xN,UAAUp0N,QAClBytL,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,CACI,OAAD/xD,QAAC,IAADA,OAAC,EAADA,EAAG2xN,UAAUkhC,UAAW,IACvB,OAAD7yP,QAAC,IAADA,OAAC,EAADA,EAAG2xN,UAAUq0B,gBAEhBh7D,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAC1Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACsS,GAAU,MACR,IACJ7vL,EAAEikN,UAAU,MAAIjkN,EAAEkkN,aAAa,YAAU,IACzClkN,EAAE4hQ,cAAc,YAAU,QAE7B52E,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAI/xD,EAAEgiQ,aAAa,cACnBh3E,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAK,OAAD/xD,QAAC,IAADA,OAAC,EAADA,EAAG2xN,UAAUswC,aAAa,kBAEhC1kF,EAAAA,GAAAA,KAAA,KAAAxrH,SAAK,OAAD/xD,QAAC,IAADA,OAAC,EAADA,EAAG2xN,UAAU5yI,4BAM3Bw+F,EAAAA,GAAAA,KAAA,UACAyN,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,qBAAoByE,SAAA,EACjCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,4BAEJwrH,EAAAA,GAAAA,KAAA,KACEriE,wBAAyB,CACvB0O,OAAQi2I,GACH,OAAD7/P,QAAC,IAADA,OAAC,EAADA,EAAGkiQ,mBACF,OAADliQ,QAAC,IAADA,OAAC,EAADA,EAAGkiQ,mBAAmBlnP,MAAM,EAAG,SAGrC,OAADhb,QAAC,IAADA,OAAC,EAADA,EAAGkiQ,mBAAmB1sQ,QAAS,MAC9B+nL,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAI+hH,QAAS0mI,GAAcpvM,SACjC8tM,GAAkB,YAAc,kBAIvCtiF,EAAAA,GAAAA,KAAA,UACAyN,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,UAASyE,SAAA,EACtBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,qBACJwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,OAAMyE,SACjB,OAAD/xD,QAAC,IAADA,OAAC,EAADA,EAAGmiQ,eAAetqQ,KAAI,SAAC8jR,EAAO94Q,GAAK,OAClC06K,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,+BAA8ByE,UAC3CwrH,EAAAA,GAAAA,KAAA,MAAIjwH,UAAU,YAAWyE,UACvBi5H,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACmT,GAAM,MAERirF,QAGD,aAKdp+F,EAAAA,GAAAA,KAACo6F,GAAG,CAAC1vD,SAAS,SAASjwM,MAAM,eAAc+5C,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,qBAAoByE,SAChCsmN,GAAUA,EAAO9V,QAAU8V,EAAO/V,SACjCt3E,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAl5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,4EAIJi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,oBAAmByE,SAAA,EAChCwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,oBACHwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,sBAAqByE,SACjC,CAAC,EAAG,EAAG,EAAG,EAAG,GAAGl6D,KAAI,SAAC+jR,GAAY,OAChCr+F,EAAAA,GAAAA,KAAA,KAEEhgL,KAAK,SACLgP,MAAO,CAAErI,OAAQ,WAAY6tD,SAE5B6pN,GAAgBvD,EAAO9V,QACtBhlF,EAAAA,GAAAA,KAACsS,GAAU,KAEXtS,EAAAA,GAAAA,KAAC8S,GAAa,KAPXurF,EASH,OAIRr+F,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,YACHwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAIsmN,EAAO/V,iBAIft3E,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAl5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,sCACJi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,oBAAmByE,SAAA,EAChCwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,oBACHi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,sBAAqByE,SAAA,EAClCwrH,EAAAA,GAAAA,KAAA,KACEhgL,KAAK,SACLgP,MAAO,CAAErI,OAAQ,WACjBu2H,QAAS,kBAAMy/I,GAAgB,EAAE,EAACnoN,SAEjCwwM,GAAU,GACThlF,EAAAA,GAAAA,KAACsS,GAAU,KAEXtS,EAAAA,GAAAA,KAAC8S,GAAa,OAGlB9S,EAAAA,GAAAA,KAAA,KACEhgL,KAAK,SACLgP,MAAO,CAAErI,OAAQ,WACjBu2H,QAAS,kBAAMy/I,GAAgB,EAAE,EAACnoN,SAEjCwwM,GAAU,GACThlF,EAAAA,GAAAA,KAACsS,GAAU,KAEXtS,EAAAA,GAAAA,KAAC8S,GAAa,OAGlB9S,EAAAA,GAAAA,KAAA,KACEhgL,KAAK,SACLgP,MAAO,CAAErI,OAAQ,WACjBu2H,QAAS,kBAAMy/I,GAAgB,EAAE,EAACnoN,SAEjCwwM,GAAU,GACThlF,EAAAA,GAAAA,KAACsS,GAAU,KAEXtS,EAAAA,GAAAA,KAAC8S,GAAa,OAGlB9S,EAAAA,GAAAA,KAAA,KACEhgL,KAAK,SACLgP,MAAO,CAAErI,OAAQ,WACjBu2H,QAAS,kBAAMy/I,GAAgB,EAAE,EAACnoN,SAEjCwwM,GAAU,GACThlF,EAAAA,GAAAA,KAACsS,GAAU,KAEXtS,EAAAA,GAAAA,KAAC8S,GAAa,OAGlB9S,EAAAA,GAAAA,KAAA,KACEhgL,KAAK,SACLgP,MAAO,CAAErI,OAAQ,WACjBu2H,QAAS,kBAAMy/I,GAAgB,EAAE,EAACnoN,SAEtB,IAAXwwM,GACChlF,EAAAA,GAAAA,KAACsS,GAAU,KAEXtS,EAAAA,GAAAA,KAAC8S,GAAa,UAIpB9S,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,YACHwrH,EAAAA,GAAAA,KAAA,YACEjwH,UAAU,OACVtmD,KAAK,IACLrQ,MAAO2rQ,EACP/3C,SAAU4vD,MAEZ58F,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,WACEjwH,UAAU,gBACV/gD,MAAO,CAAErI,OAAQ,WACjBu2H,QAAS4/I,GAAWtoN,SACrB,sBAQXwrH,EAAAA,GAAAA,KAACo6F,GAAG,CAAC1vD,SAAS,QAAQjwM,MAAM,aAAY+5C,SACvB,OAAdgmN,QAAc,IAAdA,OAAc,EAAdA,EAAgBlgR,KAAI,SAACs1F,EAAI0uL,GACxB,IAAMzB,EACJpB,GAAiB7rL,EAAGw/H,aACV,OAAT4rD,QAAS,IAATA,OAAS,EAATA,EAAW5rD,aAAcx/H,EAAGw/H,UAAU32N,aAC5B,OAATuiR,QAAS,IAATA,OAAS,EAATA,EAAWuB,kBACA,OAATvB,QAAS,IAATA,OAAS,EAATA,EAAWwB,cACX+B,GACK,OAATvD,QAAS,IAATA,OAAS,EAATA,EAAW5rD,aAAcx/H,EAAGw/H,UAAU32N,WAExC,OAA8B,IAA1Bm3F,EAAG4uL,oBAEH/wF,EAAAA,GAAAA,MAAA,OAAAj5H,SAAA,EACEi5H,EAAAA,GAAAA,MAAA,MAAI19H,UAAU,WAAUyE,SAAA,CACrB8pN,EAAM,EAAE,KAAG1uL,EAAGn1E,SAGhB8jQ,IAAiB1B,IAChBpvF,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,uBAAsByE,SAAA,EACnCi5H,EAAAA,GAAAA,MAAA,KAAG19H,UAAU,eAAcyE,SAAA,CACxBwmN,EAAU1+O,QAAQ,iBAAe,IACjC0+O,EAAUuB,cAAc,IACxBvB,EAAUwB,iBAEbx8F,EAAAA,GAAAA,KAAA,UACEjwH,UAAU,gBACVmtE,QAASygJ,GAAenpN,SACzB,iBAMJqoN,GAECpvF,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAl5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,uBAAsByE,UACnCi5H,EAAAA,GAAAA,MAAA,KAAG19H,UAAU,eAAcyE,SAAA,CAAC,kEAEG,IAC5BwmN,EAAUuB,cAAc,IACxBvB,EAAUwB,kBAGdxqB,EACEr3P,QACC,SAACwxN,GAAQ,OACPA,EAASiD,YAAcx/H,EAAGw/H,SAAS,IAEtC90N,KAAI,SAAC6xN,EAAU7mN,GAAK,OACnBmoL,EAAAA,GAAAA,MAAA,OACE19H,UAAU,kBAAiByE,SAAA,EAG3Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CACGlvD,EAAQ,EAAE,KAAG6mN,EAASA,aAEzBnsC,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,SACT,OAAR23J,QAAQ,IAARA,OAAQ,EAARA,EAAUryN,QAAQQ,KACjB,SAACm8C,EAAIgoO,GAAG,OACNhxF,EAAAA,GAAAA,MAAA,OACE19H,UAAU,yEAAwEyE,SAAA,EAGlFwrH,EAAAA,GAAAA,KAAA,SACElgL,KAAK,QACL49G,UAAQ,EACRX,QACEtmE,IACA01K,EAASuyD,iBAGbjxF,EAAAA,GAAAA,MAAA,SACE19H,UACEtZ,IACA01K,EAASuyD,cACL,uBACA,GAEN1vQ,MAAKujI,GAAA,CACH2B,WAAY,OACRz9F,IACF01K,EAASuyD,eAAiB,CAC1BjwQ,MAAO,UACP6B,WAAY,SAEdkkD,SAAA,CAED/d,EACAA,IACC01K,EAASuyD,eACT,eA7BCD,EA+BD,QAzCPn5Q,EA6CD,QAKZmoL,EAAAA,GAAAA,MAAA,QACEg/B,SAAU6kB,GACVp0G,QAAS,kBACPw/I,GAAmB9sL,EAAGw/H,UAAU,EACjC56J,SAAA,CAEAw9L,EACEr3P,QACC,SAACwxN,GAAQ,OACPA,EAASiD,YAAcx/H,EAAGw/H,SAAS,IAEtC90N,KAAI,SAAC6xN,EAAU7mN,GAAK,OACnBmoL,EAAAA,GAAAA,MAAA,OACE19H,UAAU,kBAAiByE,SAAA,EAG3Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CACGlvD,EAAQ,EAAE,KAAG6mN,EAASA,aAEzBnsC,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,SACT,OAAR23J,QAAQ,IAARA,OAAQ,EAARA,EAAUryN,QAAQQ,KACjB,SAACm8C,EAAIgoO,GAAG,OACNhxF,EAAAA,GAAAA,MAAA,OACE19H,UAAU,yEAAwEyE,SAAA,EAGlFwrH,EAAAA,GAAAA,KAAA,SACElgL,KAAK,QACLE,KAAMmsN,EAAS1N,IACfrlN,MAAOq9C,EACPsmE,QACEm1I,EACE/lC,EAAS1N,OACLhoK,EAERu2K,SAAU,kBAxpBhColC,EA0pB0BjmC,EAAS1N,IA1pBvBhc,EA2pBchsJ,OA1pBpD07M,GAAmB,SAACI,GAAW,OAAAhgH,GAAAA,GAAA,GAC1BggH,GAAW,IAAAvlH,EAAAA,GAAAA,GAAA,GACbolH,EAAa3vD,GAAM,IAHG,IAAC2vD,EAAY3vD,CA4pBa,KAGLziB,EAAAA,GAAAA,KAAA,SAAAxrH,SAAQ/d,MAlBHgoO,EAmBD,QA7BPn5Q,EAiCD,IAGT0sP,EAAMr3P,QACL,SAACwxN,GAAQ,OACPA,EAASiD,YAAcx/H,EAAGw/H,SAAS,IACrCn3N,OAAS,IACTw1L,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,oBAAmByE,UAChCwrH,EAAAA,GAAAA,KAAA,UAAQjwH,UAAU,SAAQyE,SAAC,cAI7BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,oBAAmByE,UAChCwrH,EAAAA,GAAAA,KAAA,UAAQjwH,UAAU,SAAQyE,SAAC,qBAvJ7Bo7B,EAAGw/H,WAkKV,IACT,sBAQb,KAIX,ECpxBA,GA/GoB,WAChB,IAAM/3F,EAAWukF,KACXliC,EAAWR,KACXh+B,EAASi/B,KACf2G,GAAgCvoD,EAAAA,EAAAA,UAAS,IAAGyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAArC69F,EAAQ3zF,EAAA,GAAE4zF,EAAW5zF,EAAA,GAC5BE,GAAkC3yD,EAAAA,EAAAA,UAAS,IAAG4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAAvCo3B,EAASn3B,EAAA,GAAEo3B,EAAYp3B,EAAA,IAE9BnzD,EAAAA,EAAAA,YAAU,WAER,IAAMqxH,EAAc1sP,OAAO2zB,SAASkgJ,SACpC+xC,EAAa8mC,EACf,GAAG,KAEHrxH,EAAAA,EAAAA,YAAU,WAENX,EvSuJN,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,OAAAwwK,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAqpG,IAAA,IAAAjpD,EAAA,OAAAhkD,EAAAA,GAAAA,KAAAQ,MAAA,SAAA0sG,GAAA,cAAAA,EAAA95Q,KAAA85Q,EAAA75Q,MAAA,cAAA65Q,EAAA75Q,KAAA,EACuBg8M,GAAO1C,SAC1BD,GAAU,qCACV3rM,GACAmmD,MAAK,SAACx/C,GAAG,OAAKA,EAAI3G,IAAI,IAAE,KAAD,EAHrBijN,EAAQkpD,EAAA3qG,KAIZ16G,EAASm8J,GAAU,wBAAAkpD,EAAAnlI,OAAA,GAAAklI,EAAA,IACpB,CuS7JSiJ,CAAkC3jI,GAAQ,SAAC7rH,GACnCA,EAASG,OACTovP,EAAYvvP,EAAS3lB,MAErB25M,GAAM3+M,MAAM2qB,EAASiN,QAE7B,IAGR,GAAG,CAAC+6F,EAAU6jB,IAOd,OACIuyC,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,UAASyE,SAAA,EAEpBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAChBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACnBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAExBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,aACJi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,EAAGwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,SAAC,SAAW,KAACwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UAAGwrH,EAAAA,GAAAA,KAAC6R,GAAY,OACxC7R,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,WAAUq5C,SAAC,2BAM5CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,wBAAuByE,UAClCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACtBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAChBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UAC3CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UAChCi5H,EAAAA,GAAAA,MAAC8wC,GAAG,CAACrS,iBAAiB,aAAan8J,UAAU,cAAayE,SAAA,EACxDi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CAAEz/H,UAAyB,eAAduyJ,EAA6B,aAAe,GAAG9tJ,SAAA,CAClE,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,aAAYq5C,SAAC,cAAiB,QAEzCwrH,EAAAA,GAAAA,KAACu+C,GAAI/uC,KAAI,CAAEz/H,UAAyB,eAAduyJ,EAA6B,aAAe,GAAG9tJ,UACnEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,aAAYq5C,SAAC,uBAExBi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CAAEz/H,UAAyB,cAAduyJ,EAA4B,aAAe,GAAG9tJ,SAAA,CACjE,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,YAAWq5C,SAAC,kBAEvBi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CAAEz/H,UAAyB,kBAAduyJ,EAAgC,aAAe,GAAG9tJ,SAAA,EACtEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,gBAAeq5C,SAAC,kBAAqB,QAEhDi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CAAEz/H,UAAyB,sBAAduyJ,EAAoC,aAAe,GAAG9tJ,SAAA,EAC1EwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,oBAAmBq5C,SAAC,2BAA8B,QAE7DwrH,EAAAA,GAAAA,KAACu+C,GAAI/uC,KAAI,CAAEz/H,UAAyB,cAAduyJ,EAA4B,aAAe,GAAG9tJ,UAClEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,YAAWq5C,SAAC,gBAEvBi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CAAEz/H,UAAyB,aAAduyJ,EAA2B,aAAe,GAAG9tJ,SAAA,CAChE,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,WAAUq5C,SAAC,mBAEtBi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CAAEz/H,UAAyB,MAAduyJ,EAAoB,aAAe,GAAG9tJ,SAAA,CACzD,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,SAAC,uBAOTwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UAEvCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,iBAAgByE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,gBACHmqN,EAASrkR,KAAI,SAACmI,EAAG1K,GAAC,OAEfioL,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gBAAeyE,UAC1Bi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,gBAAeyE,SAAA,EAC1Bi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAIz8D,EAAE,EAAE,KAAG0K,EAAEgY,UACbulK,EAAAA,GAAAA,KAACwP,GAAI,CAACtyD,QAAS,SAACx7H,GAtEhC,IAAC0tN,EAsEuC1tN,EAAEoiH,iBAtEzCsrG,EAsE2E3sN,EAAEg8M,IArElG/kC,EAAS,aAAa01C,EAqEkF,EAAGr/J,UAAU,gBAAeyE,SAAE,cAHvEz8D,EAK7B,kBAW1C,ECvHMs9M,GAAU,iCACVypE,GAAa,QAoGnB,GAnGmB,WACjB,IAAMC,GAAezmJ,EAAAA,EAAAA,QAAO,MACtB0mJ,GAAe1mJ,EAAAA,EAAAA,QAAO,MACtB2mJ,GAAiB3mJ,EAAAA,EAAAA,QAAO,MAC9BwoD,GAAwBvoD,EAAAA,EAAAA,UAAS,MAAKyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAA/BnkG,EAAIquG,EAAA,GAAEmqE,EAAOnqE,EAAA,GACpBE,GAAgC3yD,EAAAA,EAAAA,UAAS,MAAK4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAAvC6W,EAAQ5W,EAAA,GAAE+zF,EAAW/zF,EAAA,GAC5BG,GAAsC/yD,EAAAA,EAAAA,UAAS,MAAKgzD,GAAAlxC,EAAAA,EAAAA,GAAAixC,EAAA,GAA7C6zF,EAAW5zF,EAAA,GAAE6zF,EAAc7zF,EAAA,GAQ5B8zF,EAAiB,eAAAvsI,GAAA01B,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAAG,SAAAipC,IAAA,IAAApvC,EAAAk5G,EAAAjvQ,EAAAkvQ,EAAAC,EAAAC,EAAAC,EAAA3+P,EAAAiI,EAAAjxB,EAAA4nR,EAAAp9E,EAAAq9E,EAAAC,EAAAC,EAAAhzD,EAAAizD,EAAA,OAAAp3G,EAAAA,GAAAA,KAAAQ,MAAA,SAAA3sD,GAAA,cAAAA,EAAAzgH,KAAAygH,EAAAxgH,MAAA,UACnB2gF,EAAK,CAAD6/B,EAAAxgH,KAAA,eAAAwgH,EAAA6uD,OAAA,SACAl5H,MAAM,yBAAuB,OAKJ,OAHlC6sO,EAAa1qQ,QAAQopG,UAAW,EAAKlB,EAAAzgH,KAAA,EAE7BqqK,EAAY,IAAIhjI,KAChBk8O,EAAc,CAAEv9E,SAAAA,GAAUvlF,EAAAxgH,KAAA,EACdi3I,MAAM,GAAD54I,OAAIg7M,GAAO,0BAA0B,CAC1D7qD,OAAQ,OACRriJ,KAAMwpC,KAAKC,UAAU0tO,GACrBr6E,QAAS,CACP,eAAgB,sBAEjB,KAAD,EANO,OAAH50L,EAAGmsG,EAAA0uD,KAAA1uD,EAAAxgH,KAAA,GAOkBqU,EAAI6iI,OAAO,KAAD,GAKrC,IALqCqsI,EAAA/iK,EAAA0uD,KAA7Bs0G,EAAQD,EAARC,SACFC,EAAiB,GACnBC,EAAiB,EACjB3+P,EAAQ,EAEHhpB,EAAI,EAAGA,EAAIonR,EAAapnR,IAC/BixB,EAAMjI,EAAQ+9P,GACRa,EAAQhjM,EAAKl/D,MAAMsD,EAAOiI,IAC1Bu5K,EAAW,IAAI5C,UACZvO,OAAO,QAASr5L,GACzBwqM,EAASnR,OAAO,cAAe+tF,GAC/B58E,EAASnR,OAAO,WAAY2Q,GAC5BQ,EAASnR,OAAO,OAAQuuF,GAClBC,EAAgB3sI,MAAM,GAAD54I,OACtBg7M,GAAO,4BAAAh7M,OAA2BmlR,GACrC,CACEh1H,OAAQ,OACRriJ,KAAMo6L,IAER1yI,MAAK,WACL6vN,IACA,IAAMjvN,EAAW7kD,KAAKmS,MAAO2hQ,EAAiBP,EAAe,KAC7Da,EAAkBvvN,EACpB,IACAgvN,EAAernR,KAAKwnR,GACpB7+P,EAAQiI,EACT,OAAAwzF,EAAAxgH,KAAA,GACKs+C,QAAQ3+C,IAAI8jR,GAAgB,KAAD,UAAAjjK,EAAAxgH,KAAA,GACPi3I,MAAM,GAAD54I,OAC1Bg7M,GAAO,oCAAAh7M,OAAmC0nM,EAAQ,cAAA1nM,OAAamlR,GAClE,CAAEh1H,OAAQ,SACV,KAAD,GAHgB,OAAXq1H,EAAWrjK,EAAA0uD,KAAA1uD,EAAAxgH,KAAA,GAIe6jR,EAAY3sI,OAAO,KAAD,GAA7B,GAA6B4sI,EAAAtjK,EAAA0uD,KAA1C4hD,EAAOgzD,EAAPhzD,QAAagzD,EAAJp2Q,KACZojN,EAAQ,CAADtwG,EAAAxgH,KAAA,eACJ,IAAIH,MAAM,2BAA2B,KAAD,GAEtCkkR,EAAU,IAAI38O,MACC28O,EAAU35G,GAAa,IAC5Cj0H,MAAM,8BACN8tO,IAAmBzjK,EAAAxgH,KAAA,iBAAAwgH,EAAAzgH,KAAA,GAAAygH,EAAAsgG,GAAAtgG,EAAA,SAEnBv0G,QAAQymB,IAAG8tF,EAAAsgG,IACX3qK,MAAM,wBAAwB,QAEhC6sO,EAAa1qQ,QAAQopG,UAAW,EAAM,yBAAAlB,EAAAk0B,OAAA,GAAA8kE,EAAA,mBACvC,kBA5DsB,OAAA1iE,EAAAt6I,MAAA,KAAAR,UAAA,KA6DjBgoR,EAAoB,SAACvvN,GACzBwuN,EAAe3qQ,QAAQtF,MAAM1C,MAAQmkD,EAAW,IAChDwuN,EAAe3qQ,QAAQR,YAAc28C,EAAW,GAClD,EACMwvN,EAAmB,WACvBhB,EAAe3qQ,QAAQtF,MAAM1C,MAAQ,KACrC2yQ,EAAe3qQ,QAAQR,YAAc,GACrCirQ,EAAazqQ,QAAQlb,MAAQ,EAC/B,EACA,OACEq0L,EAAAA,GAAAA,MAAA,OAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,SACElgL,KAAK,OACLiY,GAAG,YACHwyC,IAAKw0N,EACL/xD,SAlFmB,WACvB,IAAM28B,EAAeo1B,EAAazqQ,QAAQu1N,MAAM,GAChDsrB,EAAQxL,GACRu1B,EAAY,GAAD7kR,OAAI+oC,KAAKoiD,MAAK,KAAAnrF,OAAIsvP,EAAa3pP,OAC1Co/Q,EAAexzQ,KAAKsT,KAAKyqO,EAAa73O,KAAOgtQ,IAC/C,KA+EI9+F,EAAAA,GAAAA,KAAA,UAAQjoK,GAAG,YAAYwyC,IAAKy0N,EAAc9hJ,QAASmiJ,EAAkB7qN,SAAC,YAGtEwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,eAAexF,IAAK00N,MAGzC,ECrEA,GA3BuB,WACrB,OACEj/F,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,yBAAwByE,UACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,iCAAgCyE,SAAA,EAC7CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKssM,GAAM7mM,UAAU,iBAE5BiwH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,qBACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,qDAIRwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,gBAAeq5C,SAAC,mCAQzC,EC09UO,SAAS0rN,GAAsBxmK,GACpC,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,cAAc,KAAO,gBAAgB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,mNAA/GA,CAAmU10E,EAC5U,CCzvQO,SAASymK,GAAezmK,GAC7B,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,iJAAzFA,CAA2O10E,EACpP,CAs4CO,SAAS0mK,GAAe1mK,GAC7B,OAAO00E,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,+KAAzFA,CAAyQ10E,EAClR,CC9nHA,IAqVA,GArVmB,WACjB,IAAM2d,EAAWukF,KACXliC,EAAWR,KACjB4H,GAAsCvoD,EAAAA,EAAAA,UAAS,IAAGyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAA3Cu/F,EAAWr1F,EAAA,GAAEs1F,EAAct1F,EAAA,GAClCE,GAA8C3yD,EAAAA,EAAAA,UAAS,IAAG4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAAnDq1F,EAAep1F,EAAA,GAAEq1F,EAAkBr1F,EAAA,GAC1CG,GAAgC/yD,EAAAA,EAAAA,WAAS,GAAKgzD,GAAAlxC,EAAAA,EAAAA,GAAAixC,EAAA,GAC9C8pE,GADc7pE,EAAA,GAAcA,EAAA,GAMxBqoD,GAAQ,CAAE9jH,KAAM,YACpB47D,GALoB0pE,EAAlB92P,SAC2B82P,EAA3B5zB,UAAajmD,OACD65E,EAAZ31G,MAC0B21G,EAA1B9jB,cAE4C/4G,EAAAA,EAAAA,UAAS,CAAC,IAAEozD,GAAAtxC,EAAAA,EAAAA,GAAAqxC,EAAA,GAAnD+0F,EAAe90F,EAAA,GAAE+0F,EAAkB/0F,EAAA,IAE1C3zD,EAAAA,EAAAA,YAAU,WACR2oJ,EAAUF,GACVG,GACF,GAAG,CAACH,IAEJ,IAAMG,EAAuB,WAC3BvpJ,EAASinD,IAAO,IAChBjnD,E3SkCF,WADuB,IACtB7mE,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAysN,GAAAj8C,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MACpB,SAAAqrC,EAAOvgF,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA0uC,GAAA,cAAAA,EAAA97M,KAAA87M,EAAA77M,MAAA,cAAA67M,EAAA77M,KAAA,EACMg8M,GAAOtnI,QACxB2kI,GAAU,sBACVxlJ,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAF/BuF,EAAM4oM,EAAA3sC,KAGV16G,EAASvhD,GAAQ,wBAAA4oM,EAAAnnE,OAAA,GAAAknE,EAAA,KAClB,gBAAAb,GAAA,OAAA0N,EAAAjsN,MAAA,KAAAR,UAAA,EANmB,EAMnB,C2SvCG6oR,EAAW,SAACjnH,GACNA,EAAKpqI,QACPgxP,EAAmB5mH,EAAKlwJ,MACxB2tH,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,EAEMqkP,EAAY,SAAC5iP,GACjB,IAAMr0B,EAAO,CAAC,EAGmB,QAA7B+2Q,EAAgBnwP,WAClB5mB,EAAK4mB,SAAWmwP,EAAgBnwP,UAEC,QAA/BmwP,EAAgBK,aAClBp3Q,EAAKo3Q,WAAaL,EAAgBK,YAEJ,QAA5BL,EAAgBM,UAClBr3Q,EAAKq3Q,QAAUN,EAAgBM,SAEjC1pJ,EAASinD,IAAO,IAChBjnD,EACEyhF,GAAcpvM,GAAM,SAACkwJ,GACfA,EAAKpqI,QACkB,IAArBoqI,EAAKlwJ,KAAKzR,QACZorN,GAAM96C,KAAK,iBAEb+3G,EAAe1mH,EAAKlwJ,MACpB2tH,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChBgiG,EAAe,IAEnB,IAEJ,EA2BM/K,EAAa,SAACzR,GAClB,IAAMv+J,EAAc,IAAIniE,KAClB49O,EAAgB,IAAI59O,KAAK0gO,GAGzB3W,EAAiB5nJ,EAAYhb,UAAYy2L,EAAcz2L,UAE7D,GAAI4iK,EAAiB,EACnB,MAAO,gBAGT,IAAM8zB,EAAoBr1Q,KAAKmS,MAAMovO,EAAiB,KAChDE,EAAiBzhP,KAAKmS,MAAMkjQ,EAAiB,OAEnD,OAAuB,IAAnB5zB,EACK,QACqB,IAAnBA,EACF,YAED,GAANhzP,OAAUgzP,EAAc,YAE5B,EAEM6zB,EAAY,SAACvwL,GACjB,IAAMwwL,EAAgBhwB,KAAOxgK,GACvB4U,EAAc4rJ,OAEpB,OAAIgwB,EAAc3zK,OAAOjI,EAAa,QACpCt9F,QAAQymB,IAAIiiE,GACL,kBACEwgK,KAAOxgK,GAAM+a,SAASylJ,QACxB,UAEA,EAEX,EAEA,OACE1jE,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SACfiwH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAQyE,SAAA,EACrBwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,0BACJi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAG,4EAESwrH,EAAAA,GAAAA,KAAA,SAAM,oCAO1ByN,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,kCAAiCyE,UAC9Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,iBAAgByE,SAAA,EAC7BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,+CAA8CyE,UAC3DwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,iBAENi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,yDAAwDyE,SAAA,EACrEwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,mBAAkByE,UAC/Bi5H,EAAAA,GAAAA,MAAA,UACE11K,GAAG,WACH/X,KAAK,WACLgtN,SA3FW,SAACtrN,GAC5Bg/Q,GAAmB,SAACU,GAAW,OAAA7uI,GAAAA,GAAA,GAC1B6uI,GAAW,IACd9wP,SAAU5uB,EAAEvH,OAAOf,OAAK,GAE5B,EAsFiDo7D,SAAA,EAE/BwrH,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,kBACnB+rN,EAAgBjmR,KAAI,SAAC4mB,GAAI,OACxB8+J,EAAAA,GAAAA,KAAA,UAAAxrH,SAAStzC,GAAc,UAI7B8+J,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,mBAAkByE,UAC/Bi5H,EAAAA,GAAAA,MAAA,UACE11K,GAAG,aACH/X,KAAK,aACLgtN,SAjGa,SAACtrN,GAC9Bg/Q,GAAmB,SAACU,GAAW,OAAA7uI,GAAAA,GAAA,GAC1B6uI,GAAW,IACdN,WAAYp/Q,EAAEvH,OAAOf,OAAK,GAE9B,EA4FmDo7D,SAAA,EAEjCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,qBACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,WACtBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,WACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,gBAAeo7D,SAAC,mBAC9BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,WACtBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,KAAIo7D,SAAC,QACnBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,oBAAmBo7D,SAAC,uBAClCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,iBAG3BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,mBAAkByE,UAC/Bi5H,EAAAA,GAAAA,MAAA,UACE11K,GAAG,UACH/X,KAAK,UACLgtN,SA7GU,SAACtrN,GAC3Bg/Q,GAAmB,SAACU,GAAW,OAAA7uI,GAAAA,GAAA,GAC1B6uI,GAAW,IACdL,QAASr/Q,EAAEvH,OAAOf,OAAK,GAE3B,EAwGgDo7D,SAAA,EAE9BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,mBACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,aAAYo7D,SAAC,wBAIjCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8CAA6CyE,UAC1Di5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,CAAI6rN,EAAYpoR,OAAO,+BAM/B+nL,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,mCAAkCyE,SACvB,IAAvB6rN,EAAYpoR,QACX+nL,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,SAAC,kBAE7B6rN,EAAY/lR,KAAI,SAAC4mB,EAAM5b,GACrB,IAAM+7Q,EAAa,SAACz4Q,GAClB,OAAOA,EACJ6H,cACA7F,MAAM,KACNtQ,KAAI,SAACgnR,GAAI,OAAKA,EAAKhwP,OAAO,GAAGgR,cAAgBg/O,EAAK7jQ,MAAM,EAAE,IAC1D1kB,KAAK,IACV,EACA,OACEinL,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gBAAeyE,UAC5BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,eAAcyE,UAC3Bi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3Bi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAQyE,SAAA,EACrBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,MAAIjwH,UAAU,QAAOyE,SAAEtzC,EAAKzG,SAC5BulK,EAAAA,GAAAA,KAAA,QACEjwH,UAAS,UAAA11D,OACP6mB,EAAK6/P,QAAQ9oR,OAAS,EAClB,eACA,WACHu8D,SAEFtzC,EAAK6/P,QAAQ9oR,OAAS,GACrB+nL,EAAAA,GAAAA,KAAA,MAAIjwH,UAAU,GAAEyE,SACbtzC,EAAK6/P,QAAQzmR,KAAI,SAACusC,EAAI06O,GAAO,OAC5BvhG,EAAAA,GAAAA,KAAA,MAAAxrH,SAAmB6sN,EAAWx6O,IAArB06O,EAA8B,MAI3CrgQ,EAAK6/P,QAAQzmR,KAAI,SAACusC,EAAI06O,GAAO,OAC3BF,EAAWx6O,EAAG,UAKtB4mJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAUyE,SAAA,EACvBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAUyE,SAAA,EACvBwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACkgG,GAAoB,OAEvBlgG,EAAAA,GAAAA,KAAA,QAAAxrH,SACGtzC,EAAK6/P,QACHzmR,KAAI,SAACusC,EAAI06O,GAAO,OAAKF,EAAWx6O,EAAG,IACnC9tC,KAAK,SAEVinL,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC8R,GAAU,OAEb9R,EAAAA,GAAAA,KAAA,QAAAxrH,SACGtzC,EAAKsgQ,OACHlnR,KAAI,SAACmzB,EAAKg0P,GAAQ,OAAKJ,EAAW5zP,EAAI,IACtC10B,KAAK,YAIZ00L,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAUyE,SAAA,EACvBwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACogG,GAAa,OAEhBpgG,EAAAA,GAAAA,KAAA,QAAAxrH,SACGtzC,EAAKoP,SACHh2B,KAAI,SAACwyK,EAAK40G,GAAQ,OAAKL,EAAWv0G,EAAI,IACtC/zK,KAAK,SAEVinL,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC+R,GAAO,MACL,KACL/R,EAAAA,GAAAA,KAAA,QAAAxrH,SAAO+gN,EAAWr0P,EAAKikM,aACe,KAArC+7D,EAAUhgQ,EAAKygQ,oBACdl0F,EAAAA,GAAAA,MAACrqL,EAAAA,SAAQ,CAAAoxD,SAAA,EACPwrH,EAAAA,GAAAA,KAAA,KACEhxK,MAAO,CACLP,MAEE,YADAyyQ,EAAUhgQ,EAAKygQ,kBAEX,MACA,UACNntN,UAEFwrH,EAAAA,GAAAA,KAACmgG,GAAa,MACX,KACLngG,EAAAA,GAAAA,KAAA,QACEhxK,MAAO,CACLP,MAEE,YADAyyQ,EAAUhgQ,EAAKygQ,kBAEX,MAEA,mBADAT,EAAUhgQ,EAAKygQ,kBAEf,SACA,GACNrxQ,WAAY,KACZkkD,SAED0sN,EAAUhgQ,EAAKygQ,iCAQ5B3hG,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,iBAAgByE,UAC7BwrH,EAAAA,GAAAA,KAAA,UACEjwH,UAAU,WACVmtE,QAAS,kBApOT0kJ,EAqOmB1gQ,EAAKu9L,IArOjBhkM,EAqOsByG,EAAKzG,WApO1Di/J,EAAS,YAAa,CAAEhpH,MAAO,CAAEkxN,MAAAA,EAAOnnQ,MAAAA,KADjB,IAACmnQ,EAAOnnQ,CAqOiC,EAExCzL,MAAO,CACLG,gBACuC,YAArC+xQ,EAAUhgQ,EAAKygQ,kBACX,OACA,IAERjkK,SACuC,YAArCwjK,EAAUhgQ,EAAKygQ,kBAChBntN,SACF,sBA5G2BlvD,EAoHxC,aAOd,EC0GA,GAjciB,WACf,IAAM+xH,EAAWukF,KACXliC,EAAWR,KACX5oJ,EAAWwoJ,KACX8oG,EAAQtxP,EAASogC,MAAMkxN,MACvBnnQ,EAAQ6V,EAASogC,MAAMj2C,MAC7B26O,EAKIxhB,GAAQ,CAAE9jH,KAAM,WAJRxxH,EAAQ82P,EAAlB92P,SACqBi9K,EAAM65E,EAA3B5zB,UAAajmD,OACN97B,EAAK21G,EAAZ31G,MACc6xF,EAAY8jB,EAA1B9jB,cAwCFt5G,EAAAA,EAAAA,YAAU,WACRr7H,OAAO+hN,SAAS,EAAG,GAEnBrnF,EACEyhF,IAAc,SAACl/C,GACTA,EAAKpqI,OACP6nG,EAASinD,IAAO,KAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,GAAG,IAYH,OACEmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SACfiwH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,+BAA8ByE,UAC3CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,oBAAmByE,SAAA,EAChCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,eACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAK/5C,cAMbulK,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,yBAAwByE,UACrCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,YAAWyE,SAAA,EACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAWmtE,QA5Cf,WACjBw8C,EAAS,QACX,EA0CsDllH,SAAA,EAC5CwrH,EAAAA,GAAAA,KAAC4qF,GAAgC,IAAG,YAEtC5qF,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBi5H,EAAAA,GAAAA,MAAA,QAAMg/B,SAAU6kB,GApFb,SAAC5nO,GAChB,IAAM64L,EAAW,IAAI5C,SACfkiF,EAAW,GAAAxnR,OAAMqP,EAAKo4Q,aAAY,MAAAznR,OAAKqP,EAAKq4Q,cAElDx/E,EAASnR,OAAO,QAASwwF,GACzBr/E,EAASnR,OAAO,WAAY1nL,EAAKi+O,UACjCplD,EAASnR,OAAO,UAAW1nL,EAAKs4Q,SAChCz/E,EAASnR,OAAO,cAAe1nL,EAAKk+O,aACpCrlD,EAASnR,OAAO,SAAU1nL,EAAKu4Q,QAC/B1/E,EAASnR,OAAO,UAAWywF,GAC3Bt/E,EAASnR,OAAO,OAAQ1nL,EAAKw+O,MAC7B3lD,EAASnR,OAAO,UAAW1nL,EAAKw4Q,SAChC3/E,EAASnR,OAAO,qBAAsB1nL,EAAKy4Q,oBAC3C5/E,EAASnR,OAAO,sBAAuB1nL,EAAK04Q,qBAC5C7/E,EAASnR,OAAO,eAAgB1nL,EAAK24Q,cACrC9/E,EAASnR,OAAO,SAAU1nL,EAAKtP,QAC/BmoM,EAASnR,OAAO,KAAM1nL,EAAKkoE,GAAG,IAE9BylD,EAASinD,IAAO,IAChBjnD,E5SkBF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAkmL,GAAA1V,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAA+qC,EAAOjgF,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAouC,GAAA,cAAAA,EAAAx7M,KAAAw7M,EAAAv7M,MAAA,cAAAu7M,EAAAv7M,KAAA,EACMg8M,GAAOzV,SAAS8S,GAAU,gBAAiB3rM,GAAMmmD,MAClE,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAMsoM,EAAArsC,KAGV16G,EAASvhD,GAAQ,wBAAAsoM,EAAA7mE,OAAA,GAAA4mE,EAAA,KAClB,gBAAAR,GAAA,OAAA54B,EAAA1lL,MAAA,KAAAR,UAAA,EANyB,EAMzB,C4SvBGsqR,CAAS//E,GAAU,SAACtzL,GAClBooH,EAASinD,IAAO,IACZrvK,EAAOugB,QACT6zL,GAAMyJ,QAAQ79M,EAAOqtB,SACrBmjH,IACApoB,EAASinD,IAAO,MAEhB+kC,GAAM3+M,MAAMuK,EAAOqtB,SACnB+6F,EAASinD,IAAO,IAEpB,IAEJ,IAoDqD9pH,SAAA,EACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gCAA+ByE,UAC5Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,0BACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,WACZ/sN,KAAK,WACL+X,GAAG,WACH0hN,UAAQ,EACRltN,aAAckO,GACVnc,EAAS,qBAAsB,CACjCk2K,SAAU,iCACV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,oEAIPi/I,EAAO4mG,qBACNniG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO4mG,mBAAmB7lP,kBAMrCmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,eACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,YACZ/sN,KAAK,OACL+X,GAAG,QACCzZ,EAAS,WAAY,CACvBk2K,SAAU,mBACV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,oEAIPi/I,EAAOosE,WACN3nE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOosE,SAASrrN,gBAKzB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,YAEPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,UACD1B,EAAS,SAAU,CACrBk2K,SAAU,qBACV1pB,QAAS,CACP1xJ,MAAO,iBACPkjC,QAAS,wBAEX,IAAAk4B,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,OAAMo7D,SAAC,kBAjG9B,CACb,CAAEp7D,MAAO,OAAQ2/N,MAAO,QACxB,CAAE3/N,MAAO,SAAU2/N,MAAO,UAC1B,CAAE3/N,MAAO,QAAS2/N,MAAO,UA+FKz+N,KAAI,SAAC4mB,GAAI,OACf8+J,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAO8nB,EAAK9nB,MAAMo7D,SAAEtzC,EAAK63M,OAAe,QAGnDx9C,EAAO0mG,SACNx0F,EAAAA,GAAAA,MAAA,KAAGz+K,MAAO,CAAEP,MAAO,OAAQ+lD,SAAA,CACxB,IACA+mH,EAAO0mG,OAAO3lP,oBAOzBmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,cACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,QACLiwD,UAAU,aACVg9J,YAAY,gBACZ/sN,KAAK,QACL+X,GAAG,SACCzZ,EAAS,UAAW,CACtBk2K,SAAU,oBACV1pB,QAAS,CACP1xJ,MACE,sHACFkjC,QAAS,sBAIdi/I,EAAOymG,UACNhiG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOymG,QAAQ1lP,gBAKxB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,kBACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,SACLiwD,UAAU,aACVg9J,YAAY,eACZ/sN,KAAK,cACL+X,GAAG,eACCzZ,EAAS,cAAe,CAC1Bk2K,SAAU,4BACV1pB,QAAS,CACP1xJ,MACE,oDACFkjC,QACE,0DAIPi/I,EAAOqsE,cACN5nE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOqsE,YAAYtrN,mBAO9B0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gCAA+ByE,UAC5Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,oBACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEvjI,MAAO,CAAEwH,OAAQ,YACjB1W,KAAK,OACLiwD,UAAU,oBACVg9J,YAAY,iBACZ/sN,KAAK,eACL+X,GAAG,gBACCzZ,EAAS,eAAgB,CAC3Bk2K,SAAU,kCAGdwL,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,oBACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEvjI,MAAO,CAAEwH,OAAQ,YACjB1W,KAAK,OACLiwD,UAAU,oBACVg9J,YAAY,iBACZ/sN,KAAK,eACL+X,GAAG,gBACCzZ,EAAS,eAAgB,CAC3Bk2K,SAAU,iCAGb+G,EAAOumG,eACN9hG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOumG,aAAaxlP,UAGxBi/I,EAAOwmG,eACN/hG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOwmG,aAAazlP,kBAO/BmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,eACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,YACZ/sN,KAAK,OACL+X,GAAG,QACCzZ,EAAS,OAAQ,CACnBk2K,SAAU,wBACV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,oEAKPi/I,EAAO2sE,OACNloE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO2sE,KAAK5rN,gBAKrB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,iBACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,cACZ/sN,KAAK,UACL+X,GAAG,WACCzZ,EAAS,UAAW,CACtBk2K,SAAU,0BAGb+G,EAAO2mG,UACNliG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO2mG,QAAQ5lP,mBAO1BmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,2BACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,wBACZ/sN,KAAK,sBACL+X,GAAG,uBACCzZ,EAAS,sBAAuB,CAClCk2K,SAAU,wCAGb+G,EAAO6mG,sBACNpiG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO6mG,oBAAoB9lP,gBAKpC0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,0CACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,uCACZ/sN,KAAK,eACL+X,GAAG,gBACCzZ,EAAS,eAAgB,CAC3Bk2K,SAAU,+BAGb+G,EAAO8mG,eACNriG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO8mG,aAAa/lP,mBAO/BmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,+BAEPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,UACD1B,EAAS,SAAU,CACrBk2K,SAAU,qBACV1pB,QAAS,CACP1xJ,MAAO,iBACPkjC,QAAS,wBAEX,IAAAk4B,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,OAAMo7D,SAAC,kBAjU9B,CACb,CAAEp7D,MAAO,aAAc2/N,MAAO,cAC9B,CAAE3/N,MAAO,WAAY2/N,MAAO,YAC5B,CAAE3/N,MAAO,WAAY2/N,MAAO,YAC5B,CAAE3/N,MAAO,UAAW2/N,MAAO,YA8TGz+N,KAAI,SAAC4mB,GAAI,OACf8+J,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAO8nB,EAAK9nB,MAAMo7D,SAAEtzC,EAAK63M,OAAe,QAGnDx9C,EAAOnhL,SACNqzL,EAAAA,GAAAA,MAAA,KAAGz+K,MAAO,CAAEP,MAAO,OAAQ+lD,SAAA,CACxB,IACA+mH,EAAOnhL,OAAOkiC,iBAKvB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,eACPi5H,EAAAA,GAAAA,MAACytC,GAAKC,MAAK,CAAC3D,UAAU,WAAWznK,UAAU,OAAMyE,SAAA,EAC/CwrH,EAAAA,GAAAA,KAACk7C,GAAKr0G,QAAO0rB,GAAA,CACXw6E,YAAY,SACZjtN,KAAK,OACLE,KAAK,KACL+X,GAAG,MACCzZ,EAAS,KAAM,CACjBk2K,SAAU,kBACVj7D,SAAU,CACRw8I,MAAO,SAACp5K,GAAU,IAADq5K,EAEf,MADuB,CAAC,mBAEPp9P,SAAgB,QAARo9P,EAACr5K,EAAK,UAAE,IAAAq5K,OAAA,EAAPA,EAASl2P,OACjC,gDAEJ,EACAm2P,aAAc,SAACpsB,GAAK,IAAAqsB,EAAA,OACV,QAARA,EAAArsB,EAAM,UAAE,IAAAqsB,OAAA,EAARA,EAAUpkP,MAAO,UACjB,8BAA8B,OAIrCypK,EAAO3pG,KACN67G,EAAAA,GAAAA,MAAA,KAAGz+K,MAAO,CAAEP,MAAO,OAAQ+lD,SAAA,CAAC,IAAE+mH,EAAO3pG,GAAGt1C,uBAOlD0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,QAAOyE,UACpBwrH,EAAAA,GAAAA,KAAA,UAAQlgL,KAAK,SAAQ00D,SAAC,mCAahD,ECqjBA,GAt/BiB,WACf,IAAM6iE,EAAWukF,KACXliC,EAAWR,KACjB4H,GAAwCvoD,EAAAA,EAAAA,UAAS,CAAC,MAAKyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAAhDyhG,EAAYv3F,EAAA,GAAEw3F,EAAex3F,EAAA,GACpCE,GAAwD3yD,EAAAA,EAAAA,WAAS,GAAM4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAAhEu3F,EAAoBt3F,EAAA,GAAEu3F,EAAuBv3F,EAAA,GACpDG,GAA0D/yD,EAAAA,EAAAA,WAAS,GAAMgzD,GAAAlxC,EAAAA,EAAAA,GAAAixC,EAAA,GAAlEq3F,EAAqBp3F,EAAA,GAAEq3F,EAAwBr3F,EAAA,GACtDG,GAAsCnzD,EAAAA,EAAAA,WAAS,GAAMozD,GAAAtxC,EAAAA,EAAAA,GAAAqxC,EAAA,GAA9Cm3F,EAAWl3F,EAAA,GAAEm3F,EAAcn3F,EAAA,GAClCgzB,GAA8BpmF,EAAAA,EAAAA,WAAS,GAAMqmF,GAAAvkE,EAAAA,EAAAA,GAAAskE,EAAA,GAA7BokE,GAAFnkE,EAAA,GAAYA,EAAA,IAe1Bw2C,EAOIxhB,GAAQ,CAAE9jH,KAAM,SAAU6xG,cAAe,CAAC,IANlCrjO,EAAQ82P,EAAlB92P,SACAu+G,EAAQu4I,EAARv4I,SACA+xH,EAASwmB,EAATxmB,UACqBrzD,EAAM65E,EAA3B5zB,UAAajmD,OAEC+1D,GADF8jB,EAAZ31G,MAC0B21G,EAA1B9jB,cAGI0xC,EAA0B,SAACthR,GAC/B,IAAA8qN,EAA0B9qN,EAAEvH,OAApB6F,EAAIwsN,EAAJxsN,KAAM+8G,EAAOyvG,EAAPzvG,QACRkmK,EAAcv0Q,SAAS1O,EAAK8E,QAAQ,MAAO,KAEjD,GAAIi4G,EAAS,CAGX,IADA,IAAMmmK,EAAkB,GACfnrR,EAAI,EAAGA,GAAKkrR,EAAalrR,IAChCmrR,EAAgB9qR,KAAK,GAADiC,OAAItC,IAE1ByqR,EAAgBU,EAClB,MAGEV,GAAgB,SAACW,GAAgB,OAC/BA,EAAiBxoR,QAAO,SAACumB,GAEvB,OADwBxS,SAASwS,GACR+hQ,CAC3B,GAAE,GAGR,EAkEM12D,EAAoB,WACxB,IAAMhqB,EAAQhwD,GAAAA,GAAA,GAAQq8F,KAAW,IAAEw0C,qBAAsBb,IACzDc,eAAezmE,QAAQ,WAAYjrK,KAAKC,UAAU2wJ,GACpD,EAQM+gF,EAAmB,SAACnhR,GACxB,IAAMohR,EAAW,CAAC,KAAM,KAAM,KAAM,MAC9BhhR,EAAIJ,EAAI,IACd,OAAOohR,GAAUhhR,EAAI,IAAM,KAAOghR,EAAShhR,IAAMghR,EAAS,EAC5D,EA0BA,OACE91F,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SACfiwH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,+BAA8ByE,UAC3CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,oBAAmByE,UAChCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,wCAMZwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,yBAAwByE,UACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBi5H,EAAAA,GAAAA,MAAA,QAAMg/B,SAAU6kB,GA3Hb,SAAC5nO,UACTA,EAAK85Q,4BACL95Q,EAAK+5Q,wBACL/5Q,EAAKg6Q,kBACZ,IAAMnhF,EAAQhwD,GAAAA,GAAA,GAAQ7oI,GAAI,IAAE05Q,qBAAsBb,IAClDhgF,EAASohF,WAAaj1Q,SAAS6zL,EAASohF,YAExC,IAqBMC,EArBiB,CACrB,WACA,eACA,QACA,cACA,gBACA,OACA,cACA,iBACA,kBACA,OACA,UACA,QACA,kBACA,mBACA,QACA,WACA,SACA,UACA,kBAEmCjpR,QAAO,SAACqmB,GAAK,OAAMtX,EAAKsX,EAAM,IAEnE,GAAI4iQ,EAAc3rR,OAAS,EAA3B,CACE,IAAM4rR,EAAY,wCAAAxpR,OAA2CupR,EAAc7qR,KACzE,OAEFsqN,GAAM3+M,MAAMm/Q,EAEd,MAEKn6Q,EAAKo6Q,mBAKkB,IAAxBvB,EAAatqR,QAKjBo/H,EAASinD,IAAO,IAChBjnD,E7S5DF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAglL,GAAAxU,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAA0qC,EAAO5/E,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA+tC,GAAA,cAAAA,EAAAn7M,KAAAm7M,EAAAl7M,MAAA,cAAAk7M,EAAAl7M,KAAA,EACMg8M,GAAO1C,SACxBD,GAAU,iCAAkC3rM,GAC5CmmD,MAAK,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAAE,KAAD,EAF/BuF,EAAMioM,EAAAhsC,KAGV16G,EAASvhD,GAAQ,wBAAAioM,EAAAxmE,OAAA,GAAAumE,EAAA,KAClB,gBAAAR,GAAA,OAAAz5B,EAAAxkL,MAAA,KAAAR,UAAA,EANyB,EAMzB,C6SuDG+rR,CAAsBxhF,GAAU,SAACtzL,GAC/BooH,EAASinD,IAAO,IACZrvK,EAAOugB,QACTkqJ,EAAS,kBAADr/K,OAAmB4U,EAAOvF,KAAKs6Q,YACvCruE,aAAaiH,QAAQ,cAAejrK,KAAKC,UAAU3iC,EAAOvF,OAC1D25M,GAAMyJ,QAAQ79M,EAAOqtB,WAErB+mL,GAAM3+M,MAAMuK,EAAOqtB,SACnB+6F,EAASinD,IAAO,IAEpB,MAhBA+kC,GAAM3+M,MAAM,qCALZ2+M,GAAM3+M,MAAM,sCAuBhB,IA6DqD8vD,SAAA,EACrCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,eACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,YACZ/sN,KAAK,OACL+X,GAAG,QACCzZ,EAAS,WAAY,CACvBk2K,SAAU,mBACV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,mEAEJ,IACF0wL,SAAUT,KAEXhxC,EAAOosE,WACN3nE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOosE,SAASrrN,gBAKzB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,cACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,QACLiwD,UAAU,aACVg9J,YAAY,gBACZ/sN,KAAK,QACL+X,GAAG,SACCzZ,EAAS,QAAS,CACpBk2K,SAAU,oBACV1pB,QAAS,CACP1xJ,MACE,sHACFkjC,QAAS,qBAEX,IACF0wL,SAAUT,KAEXhxC,EAAO/yD,QACNw3D,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO/yD,MAAMlsF,mBAOxBmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,kBACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,SACLiwD,UAAU,aACVg9J,YAAY,eACZ/sN,KAAK,eACL+X,GAAG,gBACCzZ,EAAS,eAAgB,CAC3Bk2K,SAAU,4BACV1pB,QAAS,CACP1xJ,MACE,oDACFkjC,QACE,yDAEJ,IACF0wL,SAAUT,KAEXhxC,EAAO2zE,eACNlvE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO2zE,aAAa5yN,gBAM7B0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,mBACPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,iBACD1B,EAAS,gBAAiB,CAC5Bk2K,SAAU,4BACV1pB,QAAS,CACP1xJ,MAAO,iBACPkjC,QAAS,wBAEX,IACF0wL,SAAU,SAACtrN,GACT6qN,IACAm2D,EACqB,aAAnBhhR,EAAEvH,OAAOf,OAEXwpR,EACqB,kBAAnBlhR,EAAEvH,OAAOf,MAEb,EAAEo7D,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,OAAMo7D,SAAC,mBACrBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,iBAAgBo7D,SAAC,oBAC/BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,WAAUo7D,SAAC,cACzBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,gBAAeo7D,SAAC,sBAE/B+mH,EAAOosC,gBACN3nC,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOosC,cAAcrrL,mBAOhCmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,CACjBiuN,IACCziG,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,uBACPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,oBACD1B,EAAS,mBAAoB,CAC/Bk2K,SAAU,mCACV,IACFw4C,SAAUT,EAAkB/3J,SAAA,EAE5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,GAAEo7D,SAAC,8BACjBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,mBAAkBo7D,SAAC,aACjCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,uBAAsBo7D,SAAC,iBAGrCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,oBAAmBo7D,SAAC,iBAEnC+mH,EAAO0oG,mBACNjkG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO0oG,iBAAiB3nP,eAMlCqmP,IACC3iG,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,uBACPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,oBACD1B,EAAS,mBAAoB,CAC/Bk2K,SAAU,mCACV,IACFw4C,SAAUT,EAAkB/3J,SAAA,EAE5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,GAAEo7D,SAAC,8BACjBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,WAAUo7D,SAAC,cACzBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,SACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,cAEvB+mH,EAAO0oG,mBACNjkG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO0oG,iBAAiB3nP,mBAQrCmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,iBACPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,UACD1B,EAAS,cAAe,CAC1Bk2K,SAAU,0BACV1pB,QAAS,CACP1xJ,MAAO,iBACPkjC,QAAS,wBAEX,IACF0wL,SAAU,SAACtrN,GACT6qN,IACAu2D,EAAephR,EAAEvH,OAAOf,OACxB2pR,EAAWrhR,EAAEvH,OAAOf,MACtB,EAAEo7D,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,OAAMo7D,SAAC,mBACrBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,0BACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,KAAIo7D,SAAC,QACnBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,SACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,SACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,SACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,eAGxB+mH,EAAOktE,cACNzoE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOktE,YAAYnsN,gBAM5B0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,UAEPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,UACD1B,EAAS,OAAQ,CACnBk2K,SAAU,mBACV1pB,QAAS,CACP1xJ,MAAO,iBACPkjC,QAAS,wBAEX,IACF0wL,SAAUT,EAAkB/3J,SAAA,EAE5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,OAAMo7D,SAAC,mBACrBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,iBAAgBo7D,SAAC,oBAC/BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,kBAAiBo7D,SAAC,qBAGhCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,kBAAiBo7D,SAAC,qBAGhCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,kBAAiBo7D,SAAC,qBAGhCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,kBAAiBo7D,SAAC,wBAIjC+mH,EAAO3zC,OACN6lD,EAAAA,GAAAA,MAAA,KAAGz+K,MAAO,CAAEP,MAAO,OAAQ+lD,SAAA,CAAC,IAAE+mH,EAAO3zC,KAAKtrG,gBAI/B,YAAhBumP,IACC7iG,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,kBACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,eACZ/sN,KAAK,OACL+X,GAAG,QACCzZ,EAAS,cAAe,CAC1Bk2K,SAAU,2BACV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,mEAEJ,IACF0wL,SAAUT,KAEXhxC,EAAOitE,cACNxoE,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOitE,YAAYlsN,mBAQhCmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,CACD,YAAhBquN,IACC7iG,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,gBAEPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,cACD1B,EAAS,aAAc,CACzBk2K,SAAU,yBACV1pB,QAAS,CACP1xJ,MAAO,iBACPkjC,QAAS,wBAEX,IACF0wL,SAAUT,EAAkB/3J,SAAA,EAE5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,GAAEo7D,SAAC,kBAChBn8D,MAAMilB,KAAK,CAAErlB,OAAQ,KAAM,SAACiD,EAAGoK,GAAK,OACnC06K,EAAAA,GAAAA,KAAA,UAAwB5mL,MAAK,GAAAiB,OAAKiL,EAAQ,GAAIkvD,SAC3ClvD,EAAQ,GADEA,EAAQ,EAEZ,QAMZi2K,EAAOooG,aACN3jG,EAAAA,GAAAA,KAAA,KAAGhxK,MAAO,CAAEP,MAAO,OAAQ+lD,SACxB+mH,EAAOooG,WAAWrnP,gBAO7B0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,wBACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,eACZ/sN,KAAK,eACL+X,GAAG,gBACCzZ,EAAS,cAAe,CAC1Bk2K,SAAU,8BAKV,IACFw4C,SAAUT,KAEXhxC,EAAO2oG,cACNlkG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO2oG,YAAY5nP,mBAO9BmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,qBACPwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,uBAGTwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEvjI,MAAO,CAAEgD,OAAQ,QACjBlS,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,iBACZ/sN,KAAK,iBACL+X,GAAG,kBACCzZ,EAAS,iBAAkB,CAC7Bk2K,SAAU,iCACV,IACFw4C,SAAUT,KAGXhxC,EAAO4oG,iBACNnkG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO4oG,eAAe7nP,gBAM/B0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAQyE,SAAA,EACrBwrH,EAAAA,GAAAA,KAAA,SAAOjwH,UAAU,SAAQyE,SAAC,qBAC1BwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEvjI,MAAO,CAAEgD,OAAQ,QACjBlS,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,iBACZ/sN,KAAK,kBACL+X,GAAG,mBACCzZ,EAAS,kBAAmB,CAC9Bk2K,SAAU,gCACV,IACFw4C,SAAUT,KAEXhxC,EAAO6oG,sBACNpkG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO6oG,oBAAoB9nP,mBAOtCmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,8BAA6ByE,SAAA,EAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAUyE,SAAA,EACvBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,UACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,YACZ/sN,KAAK,OACL+X,GAAG,QACCzZ,EAAS,OAAQ,CACnBk2K,SAAU,mBACV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,mEAEJ,IACF0wL,SAAUT,QAIbhxC,EAAO2sE,OACNloE,EAAAA,GAAAA,KAAA,SAAOjwH,UAAU,gBAAeyE,SAC7B+mH,EAAO2sE,KAAK5rN,cAInBmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,WACPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,SACD1B,EAAS,QAAS,CACpBk2K,SAAU,uBACV,IACFw4C,SAAUT,EAAkB/3J,SAAA,EAE5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,GAAEo7D,SAAC,kBACjBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,iBAAgBo7D,SAAC,oBAC/BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,oBAAmBo7D,SAAC,uBAGlCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,WACtBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,WACtBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,eAAco7D,SAAC,kBAC7BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,SACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,mBAAkBo7D,SAAC,sBAGjCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,YACvBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,iBAAgBo7D,SAAC,oBAC/BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,cAAao7D,SAAC,iBAC5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,WAAUo7D,SAAC,cACzBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,YACvBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,YACvBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,YACvBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,aAAYo7D,SAAC,gBAC3BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,gBAAeo7D,SAAC,mBAC9BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,cAAao7D,SAAC,iBAC5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,cAAao7D,SAAC,iBAC5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,8BAA6Bo7D,SAAC,iCAG5CwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,aAAYo7D,SAAC,gBAC3BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,2CAA0Co7D,SAAC,8CAGzDwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,WACtBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,cAAao7D,SAAC,iBAC5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,aAAYo7D,SAAC,mBAE5B+mH,EAAO7qH,QACNsvH,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO7qH,MAAMp0B,iBAKtB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAQyE,SAAA,EACrBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,aACPwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,WAAUyE,UACvBwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,UACZ/sN,KAAK,UACL+X,GAAG,WACCzZ,EAAS,UAAW,CACtBk2K,SAAU,sBACV1pB,QAAS,CACP1xJ,MAAO,WACPkjC,QACE,mEAEJ,IACF0wL,SAAUT,OAIbhxC,EAAO2mG,UACNliG,EAAAA,GAAAA,KAAA,SAAOjwH,UAAU,gBAAeyE,SAC7B+mH,EAAO2mG,QAAQ5lP,mBAO1B0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,uBAAsByE,SAAA,EACnCwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,WACLiY,GAAG,uBACH/X,KAAK,wBACD1B,EAAS,yBAAuB,IACpC0uN,SAjjBmB,SAACtrN,GAExC,GADoBA,EAAEvH,OAAd4iH,QACK,CACX,IAAMsnK,EAAuBz1C,EAAU,CACrC,iBACA,kBACA,OACA,UACA,UAEF/xH,EAAS,kBAAmBwnK,EAAqB,IACjDxnK,EAAS,mBAAoBwnK,EAAqB,IAClDxnK,EAAS,QAASwnK,EAAqB,IACvCxnK,EAAS,WAAYwnK,EAAqB,IAC1CxnK,EAAS,SAAUwnK,EAAqB,GAC1C,MACExnK,EAAS,kBAAmB,IAC5BA,EAAS,mBAAoB,IAC7BA,EAAS,QAAS,IAClBA,EAAS,WAAY,IACrBA,EAAS,SAAU,GAEvB,MA8hBoBmjE,EAAAA,GAAAA,KAAA,SACEhxK,MAAO,CACLklI,WAAY,MACZ6qB,UAAW,OACXulH,aAAc,OACd9vN,SACH,4BAGA+mH,EAAOuoG,qBACN9jG,EAAAA,GAAAA,KAAA,KAAGhxK,MAAO,CAAEP,MAAO,OAAQ+lD,SACxB+mH,EAAOuoG,mBAAmBxnP,gBAMnCmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,uBACPwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,uBAETwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEvjI,MAAO,CAAEgD,OAAQ,QACjBlS,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,iBACZ/sN,KAAK,iBACL+X,GAAG,kBACCzZ,EAAS,kBAAmB,CAC9Bk2K,SAAU,iCACV,IACFw4C,SAAUT,KAEXhxC,EAAOkoG,mBACNzjG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOkoG,iBAAiBnnP,gBAMjC0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,SAAQyE,SAAA,EACrBwrH,EAAAA,GAAAA,KAAA,SAAOjwH,UAAU,SAAQyE,SAAC,oBAC1BwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEvjI,MAAO,CAAEgD,OAAQ,QACjBlS,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,iBACZ/sN,KAAK,kBACL+X,GAAG,mBACCzZ,EAAS,mBAAoB,CAC/Bk2K,SAAU,gCACV,IACFw4C,SAAUT,KAEXhxC,EAAOgpG,wBACNvkG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOgpG,sBAAsBjoP,mBAOxCmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,8BAA6ByE,SAAA,EAC1CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,QAAOyE,UACpBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,UAASyE,SAAA,EACtBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,UACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,YACZ/sN,KAAK,OACL+X,GAAG,QACCzZ,EAAS,QAAS,CACpBk2K,SAAU,mBACV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,mEAEJ,IACF0wL,SAAUT,KAEXhxC,EAAO2sE,OACNloE,EAAAA,GAAAA,KAAA,SAAOjwH,UAAU,gBAAeyE,SAC7B+mH,EAAO2sE,KAAK5rN,gBAKrBmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,WACPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,SACD1B,EAAS,SAAU,CACrBk2K,SAAU,uBACV,IACFw4C,SAAUT,EAAkB/3J,SAAA,EAE5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,GAAEo7D,SAAC,kBACjBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,iBAAgBo7D,SAAC,oBAC/BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,oBAAmBo7D,SAAC,uBAGlCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,WACtBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,WACtBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,eAAco7D,SAAC,kBAC7BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,MAAKo7D,SAAC,SACpBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,mBAAkBo7D,SAAC,sBAGjCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,YACvBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,iBAAgBo7D,SAAC,oBAC/BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,cAAao7D,SAAC,iBAC5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,WAAUo7D,SAAC,cACzBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,YACvBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,YACvBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,SAAQo7D,SAAC,YACvBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,aAAYo7D,SAAC,gBAC3BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,UAASo7D,SAAC,aACxBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,gBAAeo7D,SAAC,mBAC9BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,cAAao7D,SAAC,iBAC5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,cAAao7D,SAAC,iBAC5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,8BAA6Bo7D,SAAC,iCAG5CwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,aAAYo7D,SAAC,gBAC3BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,2CAA0Co7D,SAAC,8CAGzDwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,QAAOo7D,SAAC,WACtBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,cAAao7D,SAAC,iBAC5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,aAAYo7D,SAAC,mBAE5B+mH,EAAO7qH,QACNsvH,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO7qH,MAAMp0B,iBAKtB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,aACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,UACZ/sN,KAAK,UACL+X,GAAG,WACCzZ,EAAS,WAAY,CACvBk2K,SAAU,sBACV1pB,QAAS,CACP1xJ,MAAO,WACPkjC,QACE,mEAEJ,IACF0wL,SAAUT,KAEXhxC,EAAO2mG,UACNliG,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO2mG,QAAQ5lP,mBAO1BmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,aAEPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,WACD1B,EAAS,UAAW,CACtBk2K,SAAU,sBACV1pB,QAAS,CACP1xJ,MAAO,iBACPkjC,QAAS,wBAEX,IACF0wL,SAAUT,EAAkB/3J,SAAA,EAE5BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,OAAMo7D,SAAC,mBACrBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,oBAAmBo7D,SAAC,uBAGlCwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,YAAWo7D,SAAC,eAC1BwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,2BAA0Bo7D,SAAC,iCAI1C+mH,EAAOipG,UACNxkG,EAAAA,GAAAA,KAAA,KAAGhxK,MAAO,CAAEP,MAAO,OAAQ+lD,SACxB+mH,EAAOipG,QAAQloP,gBAKxB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,8BAA6ByE,UAC1Ci5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,mBAEPi5H,EAAAA,GAAAA,MAAA,SAAAl7C,GAAAA,GAAA,CACEvyI,KAAK,iBACD1B,EAAS,iBAAkB,CAC7Bk2K,SAAU,4BACV1pB,QAAS,CACP1xJ,MAAO,iBACPkjC,QAAS,wBAEX,IAAAk4B,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,OAAMo7D,SAAC,mBAKrBwrH,EAAAA,GAAAA,KAAA,UAAQ5mL,MAAM,OAAMo7D,SAAC,aAEtB+mH,EAAOkpG,iBACNh3F,EAAAA,GAAAA,MAAA,KAAGz+K,MAAO,CAAEP,MAAO,OAAQ+lD,SAAA,CACxB,IACA+mH,EAAOkpG,eAAenoP,oBAOjC0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,UAASyE,SAAA,EACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAc/gD,MAAO,CAAEwH,OAAQ,OAAQg+C,UACpDwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,oBAETwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,eAAcyE,SAC1B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAGl6D,KAAI,SAACs3F,EAAOtsF,GAAK,OACnCmoL,EAAAA,GAAAA,MAAA,OAEE19H,UAAqB,IAAV6hC,EAAc,oBAAsB,GAAGp9B,SAAA,EAElDwrH,EAAAA,GAAAA,KAAA,SACElgL,KAAK,WACLiY,GAAE,cAAA1d,OAAgBu3F,GAClB5xF,KAAI,GAAA3F,OAAKu3F,GAAKv3F,OAAGipR,EAAiB1xL,IAClCo7H,SAAUg2D,EACVtlK,SAAoB,IAAV9rB,EACVmrB,QAASwlK,EAAa3pR,SAAS,GAADyB,OAAIu3F,OAEpCouF,EAAAA,GAAAA,KAAA,SACE6zC,QAAO,cAAAx5N,OAAgBu3F,GAAQp9B,SAAA,GAAAn6D,OAC5Bu3F,GAAKv3F,OAAGipR,EACX1xL,GACD,cAfIA,EAgBD,YAKdouF,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,YAAWyE,SAAA,EACxBwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAAA,GAAA,CACEzyI,KAAK,WACLiY,GAAG,qBACH/X,KAAK,sBACD1B,EAAS,uBAAqB,IAClC0uN,SAAUT,MAGZvsC,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEulN,eAAgB,aAAc//J,SAAC,wCAG9C+mH,EAAOuoG,qBACNr2F,EAAAA,GAAAA,MAAA,KAAGz+K,MAAO,CAAEP,MAAO,OAAQ+lD,SAAA,CACxB,IACA+mH,EAAOuoG,mBAAmBxnP,iBAKnC0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,gBAAeyE,UAC5BwrH,EAAAA,GAAAA,KAAA,UAAQlgL,KAAK,SAAQ00D,SAAC,0CAahD,ECjzBA,GA7LqB,WACnB,IAAM6iE,EAAWukF,KAEjB96B,GAAwCvoD,EAAAA,EAAAA,UAAS,IAAGyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAA7C4jG,EAAY15F,EAAA,GAAE25F,EAAe35F,EAAA,GACpCE,GAA8B3yD,EAAAA,EAAAA,UAAS,IAAG4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAAnC05F,EAAOz5F,EAAA,GAAE05F,EAAU15F,EAAA,GAC1BG,GAAkC/yD,EAAAA,EAAAA,WAAS,GAAKgzD,GAAAlxC,EAAAA,EAAAA,GAAAixC,EAAA,GAAzC6kC,EAAS5kC,EAAA,GAAE6kC,EAAY7kC,EAAA,GAExBrwC,EAASi/B,MACfniD,EAAAA,EAAAA,YAAU,WACR,IAAI8sJ,EAAQ,CAAC,EAEbA,EAAiB,UAAI5pI,EAAOnjI,GAC5Bs/G,EAASinD,IAAO,IAChBjnD,EzQgFF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAygN,GAAAjwC,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAmsC,EAAOrhF,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAwvC,GAAA,cAAAA,EAAA58M,KAAA48M,EAAA38M,MAAA,cAAA28M,EAAA38M,KAAA,EACMg8M,GAAO1C,SAASD,GAAU,kCAAmC3rM,GAAMmmD,MACpF,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAM0pM,EAAAztC,KAGV16G,EAASvhD,GAAQ,wBAAA0pM,EAAAjoE,OAAA,GAAAgoE,EAAA,KAClB,gBAAAtB,GAAA,OAAAqB,EAAAjgN,MAAA,KAAAR,UAAA,EANyB,EAMzB,CyQrFG+sR,CAAuBD,GAAO,SAAC71Q,GACzBA,EAAOugB,QACTm1P,EAAgB11Q,EAAOvF,KAAK05Q,sBAC5ByB,EAAW51Q,EAAOvF,MAClB25M,GAAMyJ,QAAQ79M,EAAOqtB,SACrB+6F,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMuK,EAAOqtB,SAEvB,IAEJ,GAAG,CAAC6zL,IAEJ,IAAM60D,EAAc,SAACvqQ,GACnB,IAAI/Q,EAAO,CAAC,EACZA,EAAgB,UAAIwxI,EAAOnjI,GAC3BrO,EAAuB,iBAAI+Q,EAC3B48G,EAASinD,IAAO,IAChBjnD,EzQiCF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,OAAAwwK,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAq4C,IAAA,IAAAv0M,EAAA,OAAAs4J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA07C,GAAA,cAAAA,EAAA9oN,KAAA8oN,EAAA7oN,MAAA,cAAA6oN,EAAA7oN,KAAA,EACkBg8M,GAAO7B,UAAUd,GAAU,+CAAgD3rM,GAAMmmD,MAC/F,SAACnuD,GAAC,OAAKA,EAAEgI,IAAI,IACb,KAAD,EAFG2G,EAAGw0M,EAAA35C,KAGP16G,EAASngD,GAAK,wBAAAw0M,EAAAn0E,OAAA,GAAAk0E,EAAA,IACf,CyQtCGqgE,CAAsBv7Q,GAAM,SAACkwJ,GACvBA,EAAKpqI,QACP4gM,GAAcD,GACd94F,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,EAiBMgnP,EAAmB,SAACnhR,GACxB,IAAMohR,EAAW,CAAC,KAAM,KAAM,KAAM,MAC9BhhR,EAAIJ,EAAI,IACd,OAAOohR,GAAUhhR,EAAI,IAAM,KAAOghR,EAAShhR,IAAMghR,EAAS,EAC5D,EACA,OACE91F,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,WAAUyE,SAAA,EACvBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,oBAAmByE,UAChCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,8BAA6ByE,SAAA,EAC1CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,sCAAqCyE,UAClDi5H,EAAAA,GAAAA,MAAC10K,GAAK,CAAClL,SAAO,EAAC6mN,UAAQ,EAACE,OAAK,EAAApgK,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,SAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,kBACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,gBAGRwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SACGkwN,IACa,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAcpqR,KAAI,SAAC4mB,GAAI,OACrBusK,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,MAAIjwH,UAAU,cAAayE,UACzBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1Bi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,oBAAmByE,SAAA,EAChCwrH,EAAAA,GAAAA,KAAA,UACEjwH,UAAU,SACVmtE,QAAS,kBAAM8nJ,EAAY9jQ,EAAKzG,MAAM,EAAC+5C,UAEvCwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAACmS,GAAO,SAIZ1E,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,CACG,IAAG,GAAAn6D,OAIE6mB,EAAKzG,OAAKpgB,OAAGipR,EACrBpiQ,EAAKzG,OACN,qBAKLulK,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,CAAI,WAAItzC,EAAKswH,gBAGd,aAKfi8C,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,6CAA4CyE,SAAA,EACzDi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,gBAAeyE,SAAA,EAC5BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,4CAA2CyE,UACxDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,eAAcyE,UAC3BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,kBAGRwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,uCAAsCyE,UACnDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,wBAAuByE,UACpCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAY,OAAPowN,QAAO,IAAPA,OAAO,EAAPA,EAAStvD,gBAGlBt1C,EAAAA,GAAAA,KAAA,QAAMjwH,UAAU,QAAOyE,UACrBwrH,EAAAA,GAAAA,KAAA,YAGFA,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,mCAAkCyE,UAC/CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,eAAcyE,UAC3BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,mBAGRwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,uCAAsCyE,UACnDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,wBAAuByE,UACpCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAY,OAAPowN,QAAO,IAAPA,OAAO,EAAPA,EAASnoD,WAGlBz8C,EAAAA,GAAAA,KAAA,QAAMjwH,UAAU,QAAOyE,UACrBwrH,EAAAA,GAAAA,KAAA,YAEFA,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,mCAAkCyE,UAC/CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,eAAcyE,UAC3BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,qBAGRwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,uCAAsCyE,UACnDwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,wBAAuByE,UACpCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAY,OAAPowN,QAAO,IAAPA,OAAO,EAAPA,EAASloD,qBAIpB18C,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,kBAAiByE,UAC9BwrH,EAAAA,GAAAA,KAAA,UACEjwH,UAAU,SACVjwD,KAAK,SACLo9H,QAnHO,WACrB,IAAIxzH,EAAO,CAAC,EACZA,EAAgB,UAAIwxI,EAAOnjI,GAE3Bs/G,EzQkCF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAilN,GAAAz0C,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAA2wC,EAAO7lF,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAg0C,GAAA,cAAAA,EAAAphN,KAAAohN,EAAAnhN,MAAA,cAAAmhN,EAAAnhN,KAAA,EACMg8M,GAAO1C,SAASD,GAAU,2BAA4B3rM,GAAMmmD,MAC7E,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAMkuM,EAAAjyC,KAGV16G,EAASvhD,GAAQ,wBAAAkuM,EAAAzsE,OAAA,GAAAwsE,EAAA,KAClB,gBAAA/F,GAAA,OAAA8F,EAAAzkN,MAAA,KAAAR,UAAA,EANyB,EAMzB,CyQvCGktR,CAAyBx7Q,GAAM,SAAC2lB,GAC1BA,EAASG,QACX7yB,OAAO2zB,SAASF,KAAOf,EAAS3lB,KAChC25Q,eAAeztD,WAAW,aAE1BvS,GAAM3+M,MAAM2qB,EAASiN,QAEzB,IAEJ,EAqGwCk4B,SACzB,2BAQXwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,yBAAwByE,UACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,mBAAkByE,UAC/BwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,UACVwrH,EAAAA,GAAAA,KAAA,OACE11H,IAAK2iK,GACLl9J,UAAU,YACV02J,IAAI,8BAStB,EC5KA,GA3BuB,WACrB,OACEzmC,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,yBAAwByE,UACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,iCAAgCyE,SAAA,EAC7CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAKssM,GAAM7mM,UAAU,iBAE5BiwH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,qBACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,kDAIRwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,oBAAmBq5C,SAAC,mCAQ7C,yDCNA,GArBsB,WACpB,OACEwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,yBAAwByE,UACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,iCAAgCyE,SAAA,EAC7CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBwrH,EAAAA,GAAAA,KAAA,OAAK11H,IAAK66N,GAASp1N,UAAU,iBAE/BiwH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,cACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,oCAQpB,ECghBA,GAthBwB,WACtB,IAAM6iE,EAAWukF,KACXliC,EAAWR,KACjB4H,GAAsCvoD,EAAAA,EAAAA,YAAUyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAAzCotE,EAAWljE,EAAA,GAAEmjE,EAAcnjE,EAAA,GAClCE,GAAwC3yD,EAAAA,EAAAA,UAAS,CAAC,GAAE4yD,GAAA9wC,EAAAA,EAAAA,GAAA6wC,EAAA,GAA/B07D,GAAFz7D,EAAA,GAAiBA,EAAA,IACpCG,GAAwC/yD,EAAAA,EAAAA,UAAS,CAAC,GAAEgzD,GAAAlxC,EAAAA,EAAAA,GAAAixC,EAAA,GAA7C45D,EAAY35D,EAAA,GAAE45D,EAAe55D,EAAA,GAC9B+iE,GAASh2H,EAAAA,EAAAA,UAyCf,SAAS8sJ,EAAUC,GACjB,IAAMhgQ,EAAIggQ,EAAM,GACVrjR,EAAIqjR,EAAM,IAChB,OAAU,IAANhgQ,GAAiB,KAANrjB,EACNqjR,EAAM,KAEL,IAANhgQ,GAAiB,KAANrjB,EACNqjR,EAAM,KAEL,IAANhgQ,GAAiB,KAANrjB,EACNqjR,EAAM,KAERA,EAAM,IACf,EApDArtJ,EAAAA,EAAAA,YAAU,WAE6B,MAAnC29E,aAAaC,QAAQ,YACc,GAAnCD,aAAaC,QAAQ,WAErBv+E,EAAS2kF,IAAQ,IAEjB3kF,EAAS2kF,IAAQ,IAEnB3kF,EAASinD,IAAO,IAChBjnD,E5QoGF,WADiC,IAChC7mE,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAA6xP,GAAArhF,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MACpB,SAAAmgD,EAAOr1F,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAAyjD,GAAA,cAAAA,EAAA7wN,KAAA6wN,EAAA5wN,MAAA,cAAA4wN,EAAA5wN,KAAA,EACMg8M,GAAOtnI,QAAQ2kI,GAAU,0BAA0BxlJ,MACpE,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAM29M,EAAA1hD,KAGV16G,EAASvhD,GAAQ,wBAAA29M,EAAAl8E,OAAA,GAAAg8E,EAAA,KAClB,gBAAA5U,GAAA,OAAA+xC,EAAArxP,MAAA,KAAAR,UAAA,EANmB,EAMnB,C4QzGGstR,EAAqB,SAAC1rH,GAChBA,EAAKpqI,QACPvnB,QAAQymB,IAAI,cAAekrI,EAAKlwJ,MAChCykP,EAAev0F,EAAKlwJ,MAKpB2tH,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,KAEF+6F,EACEmlF,IAAmB,SAAC5iD,GACdA,EAAKpqI,QACPo3N,EAAgBhtF,EAAKlwJ,KAAK+9O,UAC1BtC,EAAgBvrF,EAAKlwJ,MACrB2tH,EAASinD,IAAO,MAEhBjnD,EAASinD,IAAO,IAChB+kC,GAAM3+M,MAAMk1J,EAAKt9H,SAErB,IAEJ,GAAG,IAmKHw2H,aAAY,WACVi2F,GACF,GAAG,KAEH,IAAMA,EAAa,WACbpzC,aAAaC,QAAQ,WAEK,IADFozC,GAAWrzC,aAAaC,QAAQ,UACpCqzC,IAAa7lN,KAAKoiD,QACtCmwH,aAAaigB,WAAW,SACxBjgB,aAAa93M,QACb67K,EAAS,KACTriD,EAAS2kF,IAAQ,IACjBqH,GAAM3+M,MAAM,4CAGlB,EACMwkP,EAAe,WACnBvzC,aAAaigB,WAAW,SACxBjgB,aAAaigB,WAAW,WACxBjgB,aAAaigB,WAAW,mBACxBjgB,aAAaigB,WAAW,aACxBl8C,EAAS,KACTriD,EAAS2kF,IAAQ,IACjBqH,GAAMyJ,QAAQ,mCAChB,EAEAphC,GAAkCnzD,EAAAA,EAAAA,UAAS,IAAGozD,GAAAtxC,EAAAA,EAAAA,GAAAqxC,EAAA,GAAvC42B,EAAS32B,EAAA,GAAE42B,EAAY52B,EAAA,IAE9B3zD,EAAAA,EAAAA,YAAU,WAER,IAAMqxH,EAAc1sP,OAAO2zB,SAASkgJ,SACpC+xC,EAAa8mC,EACf,GAAG,IAGH,IAAMk8B,EAAiB,SAACxtQ,GACtB,IAAIrO,EAAO,CAAC,EACZA,EAAc,QAAIqO,EAClB9P,QAAQymB,IAAI,iBAAkBhlB,GAC9B2tH,E5Q1HF,SAAC3tH,GAAI,IAAE8mD,EAAQx4D,UAAAC,OAAA,QAAA0M,IAAA3M,UAAA,GAAAA,UAAA,GAAG,WAAO,EAAC,sBAAAw3O,GAAAhnE,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAC1B,SAAAqpG,EAAOv+I,GAAQ,IAAApoH,EAAA,OAAA05J,EAAAA,GAAAA,KAAAQ,MAAA,SAAA0sG,GAAA,cAAAA,EAAA95Q,KAAA85Q,EAAA75Q,MAAA,cAAA65Q,EAAA75Q,KAAA,EACMg8M,GAAO1C,SAASD,GAAU,0BAA0B3rM,GAAMmmD,MAC3E,SAACxgC,GAAQ,OAAKA,EAAS3lB,IAAI,IAC3B,KAAD,EAFGuF,EAAM4mQ,EAAA3qG,KAGV16G,EAASvhD,GAAQ,wBAAA4mQ,EAAAnlI,OAAA,GAAAklI,EAAA,KAClB,gBAAA79D,GAAA,OAAAy3B,EAAAh3O,MAAA,KAAAR,UAAA,EANyB,EAMzB,C4QqHGwtR,CAAqB97Q,GAAM,SAAC2lB,GACtBA,EAASG,OACX7yB,OAAO2zB,SAASF,KAAOf,EAAS3lB,KAGhC25M,GAAM3+M,MAAM2qB,EAASiN,QAEzB,IAEJ,EACA,OACEmxJ,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,UAASyE,SAAA,EACtBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,cAAayE,UAC1BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,cAAayE,SAAA,EAC1BwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,aACJi5H,EAAAA,GAAAA,MAAA,KAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAGq5C,SAAC,SAAY,KACzBwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UACEwrH,EAAAA,GAAAA,KAAC6R,GAAY,OAEf7R,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,WAAUq5C,SAAC,2BAOhCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,wBAAuByE,UACpCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,MAAKyE,SAAA,EAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,qBAAoByE,UACjC0wL,EAAauC,UAAYvC,EAAaoE,4BACpCtpE,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBi5H,EAAAA,GAAAA,MAAC8wC,GAAG,CAACrS,iBAAiB,aAAan8J,UAAU,cAAayE,SAAA,EACxDwrH,EAAAA,GAAAA,KAACu+C,GAAI/uC,KAAI,CACPz/H,UAAyB,aAAduyJ,EAA2B,aAAe,GAAIjxI,GAAIm+G,GAAKh7H,UAElEwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,WAAUq5C,SAAC,kBAEtBwrH,EAAAA,GAAAA,KAACu+C,GAAI/uC,KAAI,CACPz/H,UAAyB,cAAduyJ,EAA4B,aAAe,GAAG9tJ,UAEzDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,YAAWq5C,SAAC,eAEtB0wL,EAAaoE,6BAEZ77D,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CACPz/H,UACgB,sBAAduyJ,EAAoC,aAAe,GACpD9tJ,SAAA,EAEDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,oBAAmBq5C,SAAC,2BAA8B,QAE/Di5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CAACz/H,UAAyB,MAAduyJ,EAAoB,aAAe,GAAG9tJ,SAAA,CACxD,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAI+hH,QAASgsH,EAAa10L,SAAC,qBAM1CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBi5H,EAAAA,GAAAA,MAAC8wC,GAAG,CAACrS,iBAAiB,aAAan8J,UAAU,cAAayE,SAAA,EACxDi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CACPz/H,UAAyB,eAAduyJ,EAA6B,aAAe,GAAG9tJ,SAAA,CAEzD,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,aAAYq5C,SAAC,cAAiB,QAEzCwrH,EAAAA,GAAAA,KAACu+C,GAAI/uC,KAAI,CACPz/H,UAAyB,eAAduyJ,EAA6B,aAAe,GAAG9tJ,UAE1DwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,aAAYq5C,SAAC,uBAExBi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CACPz/H,UAAyB,cAAduyJ,EAA4B,aAAe,GAAG9tJ,SAAA,CAExD,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,YAAWq5C,SAAC,kBAEvBi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CACPz/H,UACgB,kBAAduyJ,EAAgC,aAAe,GAChD9tJ,SAAA,EAEDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,gBAAeq5C,SAAC,kBAAqB,OAE/C0wL,EAAaoE,6BAEZ77D,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CACPz/H,UACgB,sBAAduyJ,EAAoC,aAAe,GACpD9tJ,SAAA,EAEDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,oBAAmBq5C,SAAC,2BAA8B,QAE/DwrH,EAAAA,GAAAA,KAACu+C,GAAI/uC,KAAI,CACPz/H,UAAyB,cAAduyJ,EAA4B,aAAe,GAAG9tJ,UAEzDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,YAAWq5C,SAAC,gBAEvBi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CACPz/H,UAAyB,aAAduyJ,EAA2B,aAAe,GAAG9tJ,SAAA,CAEvD,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACxgL,MAAO,CAAE1C,MAAO,QAAU6O,GAAG,WAAUq5C,SAAC,mBAEhDi5H,EAAAA,GAAAA,MAAC8wC,GAAI/uC,KAAI,CAACz/H,UAAyB,MAAduyJ,EAAoB,aAAe,GAAG9tJ,SAAA,CACxD,KACDwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,IAAI+hH,QAASgsH,EAAa10L,SAAC,uBAQ9CwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,qBAAoByE,UACjCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,sBAAqByE,UAClCi5H,EAAAA,GAAAA,MAAC10K,GAAK,CAACu1I,YAAU,EAAA95F,SAAA,EACfwrH,EAAAA,GAAAA,KAAA,SAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,EACEwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,cACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,kBACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,cACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,sBACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,YACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,YACJwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,kBAiFRwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SACG05L,GACCA,EAAY5zP,KAAI,SAAC4mB,EAAM5b,GAAW,IAADwpP,EAAAC,EASX1D,EAUdo6B,EAAY,IAAIriP,KAAKliB,EAAKwkQ,cAC5BC,EAAY,GACZzkQ,EAAKkuO,gBAZW/D,EAaKnqO,EAAKkuO,eAAegC,WAA3Cu0B,EAXmBx0B,KAAO9F,EAAY,uBAGL5mP,OAAO,eAUxCkhR,EAAY,IAEd,IAAIC,EAAmD,IAAvCv3O,OAAW,OAAJntB,QAAI,IAAJA,OAAI,EAAJA,EAAM2kQ,gBAAgBr0I,QAE7C,OACEi8C,EAAAA,GAAAA,MAAA,MAAmBljI,IAAK+jM,EAAO95L,SAAA,CACb,WAAftzC,EAAKsO,QACJwwJ,EAAAA,GAAAA,KAAA,MAAAxrH,SAAwB,QAAnBs6L,EAAA5tO,EAAKkuO,sBAAc,IAAAN,GAAnBA,EAAqBg3B,SAAQ,IAAAzrR,OAAW,OAAJ6mB,QAAI,IAAJA,GAAoB,QAAhB6tO,EAAJ7tO,EAAMkuO,sBAAc,IAAAL,OAAhB,EAAJA,EAAsB+2B,SAASroQ,OAAO,GAAG6kB,eAAkB,OAEpG09I,EAAAA,GAAAA,KAAA,MAAAxrH,SAAK,OAGPi5H,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,CAAK4wN,EAAUlkQ,EAAK2kQ,gBAAgBprQ,OAAO,aAC3CulK,EAAAA,GAAAA,KAAA,MAAAxrH,SAAKixN,EAAU39D,mBAAmB,QAlCtB,CACdj3H,IAAK,UACLe,MAAO,UACPe,KAAM,eAgCJqtF,EAAAA,GAAAA,KAAA,MAAAxrH,SAAKmxN,KACLl4F,EAAAA,GAAAA,MAAA,MAAAj5H,SAAA,CAAI,WAAItzC,EAAK2kQ,gBAAgBr0I,OAASo0I,GAAWrkP,QAAQ,OACzDy+I,EAAAA,GAAAA,KAAA,MAAAxrH,SAAKtzC,EAAKsO,OAAO8B,OAAO,GAAGgR,cAAgBphB,EAAKsO,OAAO/R,MAAM,KAC5C,YAAhByD,EAAKsO,QACJwwJ,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,UAAQjwH,UAAU,cAAcmtE,QAAS,kBA5bnD,SAAC6oJ,GAAkB,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC9B9/Q,EAAM,IAAIoB,GAAAA,QAGV6R,EAAYjT,EAAI2D,SAASiC,SAASC,MAOxC7F,EAAIu/C,SACF0oM,GACA,OANkB,GACA,IAcpB,IAAMC,EACG,kBADHA,EAEG,uBAFHA,EAGK,kCAOPC,EAAU,GACdnoP,EAAI+K,YAAY,IAChB/K,EAAIiL,aAAa,GAAI,GAAI,IAGzB,IAAMm9O,EAAgBn1O,EARI,GAU1BjT,EAAImC,KAAK,UAADvO,OAAWs0P,GAAqBE,EAAeD,EAAS,CAC9D3jP,MAAO,UAET2jP,GAdyB,EAezBnoP,EAAImC,KAAK,UAADvO,OAAWs0P,GAAqBE,EAAeD,EAAS,CAC9D3jP,MAAO,UAET2jP,GAlByB,EAmBzBnoP,EAAImC,KAAK+lP,EAAqBE,EAAeD,EAAS,CACpD3jP,MAAO,UAGT,IAUoB0lF,EADd80L,EAAY,IAAIriP,KAAiB,OAAZ2iP,QAAY,IAAZA,OAAY,EAAZA,EAAcL,cAUrCC,EAAY,GACZI,EAAa32B,gBAVGz+J,EAWKo1L,EAAa32B,eAAegC,WAAnDu0B,EATmBx0B,KAAOxgK,EAAM,uBAGClsF,OAAO,eAQxCkhR,EAAY,IAId,IAAI32B,EAAW,GAEfvoP,EAAImC,KAAK,WAAY,GAAIomP,GACzBA,GA9BmB,EA+BnBvoP,EAAImC,KAAK,SAADvO,OACe,OAAZ0rR,QAAY,IAAZA,GAA4B,QAAhBC,EAAZD,EAAc32B,sBAAc,IAAA42B,OAAhB,EAAZA,EAA8Bx1B,cACvC,GACAxB,GAEFA,GApCmB,EAqCnBvoP,EAAImC,KAAK,iBAADvO,OACuB,OAAZ0rR,QAAY,IAAZA,GAA4B,QAAhBE,EAAZF,EAAc32B,sBAAc,IAAA62B,OAAhB,EAAZA,EAA8Bx1B,aAC/C,GACAzB,GAEFA,GA1CmB,EA2CnBvoP,EAAImC,KAAK,UAADvO,OACgB,OAAZ0rR,QAAY,IAAZA,GAA4B,QAAhBG,EAAZH,EAAc32B,sBAAc,IAAA82B,OAAhB,EAAZA,EAA8Bx1B,eACxC,GACA1B,GAEFA,GAhDmB,EAiDnBvoP,EAAImC,KAAK,SAADvO,OACe,OAAZ0rR,QAAY,IAAZA,GAA4B,QAAhBI,EAAZJ,EAAc32B,sBAAc,IAAA+2B,OAAhB,EAAZA,EAA8Bx1B,cACvC,GACA3B,GAEFA,GAtDmB,EAuDnBvoP,EAAImC,KAAK,UAADvO,OACgB,OAAZ0rR,QAAY,IAAZA,GAA4B,QAAhBK,EAAZL,EAAc32B,sBAAc,IAAAg3B,OAAhB,EAAZA,EAA8Bx1B,eACxC,GACA5B,GAEFA,GA5DmB,EA6DnBvoP,EAAImC,KAAK,YAADvO,OACkB,OAAZ0rR,QAAY,IAAZA,GAA4B,QAAhBM,EAAZN,EAAc32B,sBAAc,IAAAi3B,OAAhB,EAAZA,EAA8Bx1B,iBAC1C,GACA7B,GAEFA,GAlEmB,EAoEnB,IAAM42B,EAA2D,IAA/Cv3O,OAAmB,OAAZ03O,QAAY,IAAZA,OAAY,EAAZA,EAAcF,gBAAgBr0I,QAEjD29G,EAAY,CAChBG,QAAqB,OAAZy2B,QAAY,IAAZA,GAA4B,QAAhBO,EAAZP,EAAc32B,sBAAc,IAAAk3B,OAAhB,EAAZA,EAA8BR,SAASroQ,OAAO,GAAG6kB,cAC1DigP,aAAa,GAADloR,OAAK+qR,EAAsB,OAAZW,QAAY,IAAZA,GAA6B,QAAjBQ,EAAZR,EAAcF,uBAAe,IAAAU,OAAjB,EAAZA,EAA+B9rQ,OAAM,UAChE2wO,cAAeq6B,EAAU39D,mBAAmB,QAtE9B,CACdj3H,IAAK,UACLe,MAAO,UACPe,KAAM,YAoENgzL,UAAWA,EACXn0I,OAAO,OAADn3I,SAAsB,OAAZ0rR,QAAY,IAAZA,OAAY,EAAZA,EAAcF,gBAAgBr0I,QAASo0I,GAAWrkP,QAAQ,IAC1E/R,OAAoB,OAAZu2P,QAAY,IAAZA,OAAY,EAAZA,EAAcv2P,QAElBkgO,EAAY,CAChB,CACEP,EAAUG,QACVH,EAAUozB,aACVpzB,EAAU/D,cACV+D,EAAUw2B,UACVx2B,EAAU39G,OACV29G,EAAU3/N,SAGd/oB,EAAIsB,UAAU,CACZwB,KAAM,CAAC,CAAC,WAAY,eAAgB,WAAY,mBAAoB,SAAU,WAC9EpB,KAAMunP,EACNj5O,OAAQu4O,EA3FS,IA6FnBvoP,EAAI8qC,KAAK,cACX,CA2S6Ek9M,CAAYvtO,EAAK,EAACszC,UAC/DwrH,EAAAA,GAAAA,KAAA,KAAAxrH,UAAGwrH,EAAAA,GAAAA,KAACwS,GAAiB,WAIzBxS,EAAAA,GAAAA,KAAA,MAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,UAAQ9iD,QAAS,kBAAMqoJ,EAAerkQ,EAAKu9L,IAAI,EAAE1uJ,UAAU,UAASyE,SAAC,gBApBlEtzC,EAAKu9L,IAyBlB,sBAgBtB,EChgBA,GAnCqB,WACnB,IAAA+nE,EAAuB71F,KAAhBI,GAAiC12C,EAAAA,EAAAA,GAAAmsI,EAAA,GAArB,GAEbC,EAAe,eAAA3zI,GAAA01B,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAAG,SAAAipC,IAAA,IAAA9rM,EAAA8W,EAAAi8L,EAAAptL,EAAA,OAAAs5I,EAAAA,GAAAA,KAAAQ,MAAA,SAAA3sD,GAAA,cAAAA,EAAAzgH,KAAAygH,EAAAxgH,MAAA,OAUrB,OATG0N,EAAOioC,KAAKwL,MAAM4zI,EAAa1vK,IAAI,SAEnCb,EAAS,CACXgqI,OAAQ,OACRjkG,IAAK,uDACL0+I,QAAS,CACP,eAAgB,oBAElBv7L,KAAMA,GACP8yG,EAAAzgH,KAAA,EAAAygH,EAAAxgH,KAAA,EAGwB64M,GAAMr0L,GAAQ,KAAD,EAA9B6O,EAAQmtF,EAAA0uD,KACdjjK,QAAQymB,IAAIijB,KAAKC,UAAUviB,EAAS3lB,OACpC/M,OAAO2zB,SAASF,KAAe,OAARf,QAAQ,IAARA,GAAc,QAANotL,EAARptL,EAAU3lB,YAAI,IAAA+yM,OAAN,EAARA,EAAgB/yM,KAAK8yG,EAAAxgH,KAAA,iBAAAwgH,EAAAzgH,KAAA,GAAAygH,EAAAsgG,GAAAtgG,EAAA,SAE5Cv0G,QAAQvD,MAAK83G,EAAAsgG,IAAQ,yBAAAtgG,EAAAk0B,OAAA,GAAA8kE,EAAA,mBAExB,kBAnBoB,OAAA1iE,EAAAt6I,MAAA,KAAAR,UAAA,KAyBrB,OAJAggI,EAAAA,EAAAA,YAAU,WACRyuJ,GACF,GAAG,KAGDzmG,EAAAA,GAAAA,KAAA,OAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,0BAGT,EClBA,GAhBuB,WACrB,IAAAgyN,EAAuB71F,KAAhBI,GAAiC12C,EAAAA,EAAAA,GAAAmsI,EAAA,GAArB,GAQnB,OANAxuJ,EAAAA,EAAAA,YAAU,WACRr7H,OAAO2zB,SAASF,KAAI,8DAAA/1B,OAAiE02L,EAAa1vK,IAChG,YAEJ,GAAG,KAGD2+J,EAAAA,GAAAA,KAAA,OAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,oBAGT,ECCA,GAfsB,WACpB,IAAAgyN,EAAuB71F,KAAhBI,GAAiC12C,EAAAA,EAAAA,GAAAmsI,EAAA,GAArB,GAOnB,OALAxuJ,EAAAA,EAAAA,YAAU,WACRr7H,OAAO2zB,SAASF,KAAI,6DAAA/1B,OAAgE02L,EAAa1vK,IAC/F,YAEJ,GAAG,KAED2+J,EAAAA,GAAAA,KAAA,OAAAxrH,UACEwrH,EAAAA,GAAAA,KAAA,KAAAxrH,SAAG,oBAGT,ECgMA,GAjMkB,WAChB,IAAA4gM,EAKIxhB,KAJFt1O,EAAQ82P,EAAR92P,SACAgzO,EAAY8jB,EAAZ9jB,aACA7xF,EAAK21G,EAAL31G,MACa87B,EAAM65E,EAAnB5zB,UAAajmD,OAGTmrG,EAAY,WAChB,IAAM52F,EAAaslB,GAAOC,UAC1B,MAAmB,4CAAfvlB,EACK,2BACiB,wCAAfA,EACF,2BAEF,0BACT,EAEM62F,EAAQ,eAAA7zI,GAAA01B,EAAAA,GAAAA,IAAAG,EAAAA,GAAAA,KAAA4D,MAAG,SAAAipC,EAAOmX,GAAQ,IAAAi6D,EAAAv3P,EAAA,OAAAs5I,EAAAA,GAAAA,KAAAQ,MAAA,SAAA3sD,GAAA,cAAAA,EAAAzgH,KAAAygH,EAAAxgH,MAAA,OAM7B,OALK4qR,EAAa,CACjBp+J,MAAOmkG,EAASnkG,MAChBxoH,KAAM2sN,EAAS3sN,KACf6mR,OAAQH,IACRl3P,OAAQ,GACTgtF,EAAAzgH,KAAA,EAAAygH,EAAAxgH,KAAA,EAGwBo5M,GAAOE,SAAS,GAADj7M,OACjC+6M,GAAOC,UAAS,UACnBuxE,GACA,KAAD,EAHa,KAARv3P,EAAQmtF,EAAA0uD,MAKD77I,WAAYA,EAASA,SAAS3lB,KAAI,CAAA8yG,EAAAxgH,KAAA,QACD,OAA5CqnN,GAAM3+M,MAAM2qB,EAASA,SAAS3lB,KAAK4yB,SAASkgF,EAAA6uD,OAAA,iBAI1Ch8I,EAAS3lB,OACN2lB,EAAS3lB,KAAK8lB,QAGjB6zL,GAAMyJ,QAAQ,uBACdrtE,EAAM,CACJj3B,MAAO,GACPxoH,KAAM,GACN8mR,OAAO,KANTzjE,GAAM3+M,MAAM2qB,EAAS3lB,KAAK4yB,UAS7BkgF,EAAAxgH,KAAA,iBAAAwgH,EAAAzgH,KAAA,GAAAygH,EAAAsgG,GAAAtgG,EAAA,SAEDv0G,QAAQvD,MAAM,kBAAiB83G,EAAAsgG,IAC/BuG,GAAM3+M,MAAM,2CAA2C,yBAAA83G,EAAAk0B,OAAA,GAAA8kE,EAAA,mBAE1D,gBAnCahoC,GAAA,OAAA16B,EAAAt6I,MAAA,KAAAR,UAAA,KAqCd,OACEy1L,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,eAAcyE,SAAA,EAC3BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,kBAAiByE,UAC9BwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,YAAWyE,UACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,kBAIrBiwH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,oBAAmByE,UAChCi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,YAAWyE,SAAA,EACxBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,0BAAyByE,UACtCwrH,EAAAA,GAAAA,KAAA,MAAAxrH,SAAI,6BAIVwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,UACtBi5H,EAAAA,GAAAA,MAAA,QAAMg/B,SAAU6kB,EAAaq1C,GAAUnyN,SAAA,EACrCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,UAASyE,SACrB+mH,EAAOu6E,WACN91E,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOu6E,SAASx5N,aAIvB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,QAAOyE,UACpBi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,cACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,oBACVg9J,YAAY,WACZ/sN,KAAK,OACL+X,GAAG,QACCzZ,EAAS,OAAQ,CACnBk2K,SAAU,uBACV1pB,QAAS,CACP1xJ,MAAO,gBACPkjC,QACE,oEAIPi/I,EAAOv7K,OACNggL,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAOv7K,KAAKs8B,kBAMvB0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,MAAKyE,UAClBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,GAAEyE,UACfi5H,EAAAA,GAAAA,MAAA,OAAK19H,UAAU,QAAOyE,SAAA,EACpBwrH,EAAAA,GAAAA,KAAA,SAAAxrH,SAAO,mBACPwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,OACLiwD,UAAU,aACVg9J,YAAY,gBACZ/sN,KAAK,QACL+X,GAAG,SACCzZ,EAAS,QAAS,CACpBk2K,SAAU,oBACV1pB,QAAS,CACP1xJ,MACE,sHACFkjC,QAAS,sBAIdi/I,EAAO/yD,QACNw3D,EAAAA,GAAAA,KAAA,SAAOhxK,MAAO,CAAEP,MAAO,MAAO4jD,MAAO,QAASmC,SAC3C+mH,EAAO/yD,MAAMlsF,kBAOxB0jJ,EAAAA,GAAAA,KAAA,OAAAxrH,UACEi5H,EAAAA,GAAAA,MAAA,OACEz+K,MAAO,CACL+vJ,UAAW,QACXvqG,SAAA,EAEFwrH,EAAAA,GAAAA,KAAA,QAAAztC,GAAA,CACEzyI,KAAK,WACLiwD,UAAU,mBACV/gD,MAAO,CACL1C,MAAO,OACP0F,OAAQ,OACRg4O,YAAa,QAEfjyO,GAAG,cACCzZ,EAAS,gBAAiB,CAC5Bk2K,SAAU,gDAGdiZ,EAAAA,GAAAA,MAAA,SAAO19H,UAAU,mBAAmB8jK,QAAQ,aAAYr/J,SAAA,CAAC,eAC1C,KACbwrH,EAAAA,GAAAA,KAACwP,GAAI,CAACr0K,GAAG,eAAehhB,OAAO,SAAQq6D,SAAC,4BAIzC+mH,EAAOo7E,gBACN32E,EAAAA,GAAAA,KAAA,SACEjwH,UAAU,wBACV/gD,MAAO,CAAEP,MAAO,OAAQ+lD,SAEvB+mH,EAAOo7E,cAAcr6N,gBAK9B0jJ,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,6BAA4ByE,UACzCwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,SAAQyE,UACrBwrH,EAAAA,GAAAA,KAAA,OAAKjwH,UAAU,QAAOyE,UACpBwrH,EAAAA,GAAAA,KAAA,UAAQlgL,KAAK,SAAQ00D,SAAC,oCAahD,ECzCA,OA5GA,WACE,IAAAssH,GAAgDvoD,EAAAA,EAAAA,UAAS,MAAKyyD,GAAA3wC,EAAAA,EAAAA,GAAAymC,EAAA,GAArC4vC,GAAF1lC,EAAA,GAAqBA,EAAA,IACtC16J,EAAWwoJ,KACXiuG,EAAuB,CAC3B,oBACA,uBACA,uBAOIC,EAAetsE,IAAY,SAAChqJ,GAAK,OAAKA,EAAM8gK,WAAWlzC,MAAM,IAC/D5E,EAAWR,KACT7hD,EAAWukF,KACjB9oD,aAAY,WACVm0H,GACF,GAAG,KACH,IAAMA,EAAsB,WACtBtxE,aAAaC,QAAQ,WAEK,IADFozC,GAAWrzC,aAAaC,QAAQ,UACpCqzC,IAAa7lN,KAAKoiD,QAEtCmwH,aAAa93M,QACb67K,EAAS,KACTriD,EAAS2kF,IAAQ,IACjBqH,GAAM3+M,MAAM,6CAIhB,OAAOs7K,EAAAA,GAAAA,KAAA,SACT,EAEA,OACEyN,EAAAA,GAAAA,MAAAC,GAAAA,SAAA,CAAAl5H,SAAA,EACEwrH,EAAAA,GAAAA,KAACknG,GAAQ,CACPl1Q,OAAO,MACP1F,MAAM,KACNmC,MAAM,UACNk5H,UAAU,oBACVp6E,OAAO,IACP48M,aAAc,CAAC,EACfC,aAAa,WACbF,QAAS8c,KAETD,EAAqBnuR,SAAS03B,EAASkgJ,YACvCwP,EAAAA,GAAAA,KAAC0rC,GAAM,CAACy7D,iBArCW,SAAC12D,GACxBC,EAAoBD,EACtB,KAsCIhjC,EAAAA,GAAAA,MAACxP,GAAM,CAAAzpH,SAAA,EACLwrH,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,IAAIj8C,SAASylL,EAAAA,GAAAA,KAAConG,GAAI,OAC9BpnG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,SAASj8C,SAASylL,EAAAA,GAAAA,KAACqnG,GAAK,OACpCrnG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,eAAej8C,SAASylL,EAAAA,GAAAA,KAACsnG,GAAW,OAChDtnG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,iBAAiBj8C,SAASylL,EAAAA,GAAAA,KAACunG,GAAa,OACpDvnG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,UAAUj8C,SAASylL,EAAAA,GAAAA,KAACwnG,GAAM,OACtCxnG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,OAAOj8C,SAASylL,EAAAA,GAAAA,KAACynG,GAAG,OAChCznG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,WAAWj8C,SAASylL,EAAAA,GAAAA,KAAC0nG,GAAO,OACxC1nG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,QAAQj8C,SAASylL,EAAAA,GAAAA,KAAC2nG,GAAI,OAClC3nG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,kBAAkBj8C,SAASylL,EAAAA,GAAAA,KAAC4nG,GAAU,OAClD5nG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,UAAUj8C,SAASylL,EAAAA,GAAAA,KAAC6nG,GAAM,OACtC7nG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,QAAQj8C,SAASylL,EAAAA,GAAAA,KAAC8nG,GAAI,OAClC9nG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,eAAej8C,SAASylL,EAAAA,GAAAA,KAAC+nG,GAAO,OAC5C/nG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,YAAYj8C,SAASylL,EAAAA,GAAAA,KAACgoG,GAAQ,OAC1ChoG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,mBAAmBj8C,SAASylL,EAAAA,GAAAA,KAACioG,GAAW,OACpDjoG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,WAAWj8C,SAASylL,EAAAA,GAAAA,KAACkoG,GAAO,OACxCloG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,YAAYj8C,SAASylL,EAAAA,GAAAA,KAACmoG,GAAQ,OAC1CnoG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,aAAaj8C,SAASylL,EAAAA,GAAAA,KAACooG,GAAS,OAC5CpoG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,YAAYj8C,SAASylL,EAAAA,GAAAA,KAACqoG,GAAQ,OAC1CroG,EAAAA,GAAAA,KAAClD,GAAK,CACJtmI,KAAK,iCACLj8C,SAASylL,EAAAA,GAAAA,KAACsoG,GAAW,OAEvBtoG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,gBAAgBj8C,SAASylL,EAAAA,GAAAA,KAACuoG,GAAY,OAClDvoG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,oBAAoBj8C,SAASylL,EAAAA,GAAAA,KAACwoG,GAAe,OACzDxoG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,oBAAoBj8C,SAASylL,EAAAA,GAAAA,KAACyoG,GAAgB,OAC1DzoG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,uBAAuBj8C,SAASylL,EAAAA,GAAAA,KAAC0oG,GAAQ,OACrD1oG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,aAAaj8C,SAASylL,EAAAA,GAAAA,KAAC2oG,GAAS,OAC5C3oG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,YAAYj8C,SAASylL,EAAAA,GAAAA,KAAC4oG,GAAQ,OAC1C5oG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,aAAaj8C,SAASylL,EAAAA,GAAAA,KAAC6oG,GAAS,OAC5C7oG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,UAAUj8C,SAASylL,EAAAA,GAAAA,KAAC8oG,GAAY,OAC5C9oG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,4BAA4Bj8C,SAASylL,EAAAA,GAAAA,KAAC+oG,GAAU,OAC5D/oG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,yBAAyBj8C,SAASylL,EAAAA,GAAAA,KAACgpG,GAAiB,OAChEhpG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,mBAAmBj8C,SAASylL,EAAAA,GAAAA,KAACipG,GAAc,OACvDjpG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,kBAAkBj8C,SAASylL,EAAAA,GAAAA,KAACkpG,GAAa,OACrDlpG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,wBAAwBj8C,SAASylL,EAAAA,GAAAA,KAACmpG,GAAe,OAC7DnpG,EAAAA,GAAAA,KAAClD,GAAK,CACJtmI,KAAK,qCACLj8C,SAASylL,EAAAA,GAAAA,KAACopG,GAAU,OAEtBppG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,oBAAoBj8C,SAASylL,EAAAA,GAAAA,KAACqpG,GAAe,OACzDrpG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,QAAQj8C,SAASylL,EAAAA,GAAAA,KAACspG,GAAU,OACxCtpG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,YAAYj8C,SAASylL,EAAAA,GAAAA,KAACupG,GAAQ,OAC1CvpG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,mBAAmBj8C,SAASylL,EAAAA,GAAAA,KAACwpG,GAAQ,OACjDxpG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,qBAAqBj8C,SAASylL,EAAAA,GAAAA,KAACypG,GAAY,OACvDzpG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,QAAQj8C,SAASylL,EAAAA,GAAAA,KAAC0pG,GAAI,OAClC1pG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,oBAAoBj8C,SAASylL,EAAAA,GAAAA,KAAC2pG,GAAY,OACtD3pG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,uBAAuBj8C,SAASylL,EAAAA,GAAAA,KAAC4pG,GAAiB,OAC9D5pG,EAAAA,GAAAA,KAAClD,GAAK,CAACtmI,KAAK,sBAAsBj8C,SAASylL,EAAAA,GAAAA,KAAC6pG,GAAgB,UAG5D9C,EAAqBnuR,SAAS03B,EAASkgJ,YAAawP,EAAAA,GAAAA,KAAC4hF,GAAM,KAE7D5hF,EAAAA,GAAAA,KAAC8pG,GAAc,MAGrB,EC9JOxzF,GC0IA,SAKLx8L,GACA,IAUIiwR,EAVEC,EAA8BtyF,KAE9BjrL,EAMF3S,GAAW,CAAC,EALd4S,EAAAD,EAAAioL,QAAAA,OAAA,IAAAhoL,OAAU,EAAAA,EACVqJ,EAAAtJ,EAAAiqL,WAAAA,OAAA,IAAA3gL,EAAai0Q,IAAAj0Q,EACbC,EAAAvJ,EAAAw9Q,SAAAA,OAAA,IAAAj0Q,GAAWA,EACXC,EAAAxJ,EAAAkoL,eAAAA,OAAA,IAAA1+K,OAAiB,EAAAA,EACjBC,EAAAzJ,EAAAy9Q,UAAAA,OAAA,IAAAh0Q,OAAY,EAAAA,EAKd,GAAuB,oBAAZw+K,EACTq1F,EAAcr1F,MAAA,KACLF,GAAcE,GAGvB,MAAM,IAAI74L,MACR,4HAHFkuR,EAAcv0F,GAAgBd,GAOhC,IAAIy1F,EAAkBzzF,EACS,oBAApByzF,IACTA,EAAkBA,EAAgBH,IAiBpC,IAAMI,EAAoCh0F,GAAA59L,WAAA,EAAmB2xR,GAEzDE,EAAeC,GAEfL,IACFI,EAAetzF,GAAoBsB,GAAA,CAEjCkyF,OAAO,GACiB,kBAAbN,GAAyBA,KAIxC,IAAMO,EAAmB,IAAIlzF,GAAc8yF,GACvCK,EAA4BD,EAUhC,OARInyR,MAAMC,QAAQ4xR,GAChBO,EAAAptQ,GAAA,CAAkB+sQ,GAAuBF,GACX,oBAAdA,IAChBO,EAAiBP,EAAUM,IAKtB/1F,GAAYs1F,EAAap1F,EAFP01F,EAAA7xR,WAAA,EAAgBiyR,GAEO,CDhNnCC,CAAe,CAC5Bh2F,QAAS,CAAC88B,WAAAA,GAAW8gD,YAAAA,MAGvB,MEUatsF,EAAAA,WAAoB/xK,SAASyoI,eAAe,SACpD/7I,QAEHq/K,EAAAA,GAAAA,KAAChgB,GAAQ,CAACs2B,MAAOA,GAAM9hI,UACrBwrH,EAAAA,GAAAA,KAAC8O,GAAa,CAAAt6H,UACZwrH,EAAAA,GAAAA,KAAC2qG,GAAG","sources":["../node_modules/classnames/index.js","../node_modules/deepmerge/dist/cjs.js","../node_modules/enquire.js/src/MediaQuery.js","../node_modules/enquire.js/src/MediaQueryDispatch.js","../node_modules/enquire.js/src/QueryHandler.js","../node_modules/enquire.js/src/Util.js","../node_modules/enquire.js/src/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/invariant/browser.js","../node_modules/json2mq/index.js","../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","../node_modules/load-script/index.js","../node_modules/lodash.debounce/index.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/moment/moment.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../ReactPaginate/webpack/universalModuleDefinition","../ReactPaginate/node_modules/prop-types/factoryWithThrowingShims.js","../ReactPaginate/node_modules/prop-types/index.js","../ReactPaginate/node_modules/prop-types/lib/ReactPropTypesSecret.js","../ReactPaginate/external umd {\"root\":\"React\",\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\"}","../ReactPaginate/webpack/bootstrap","../ReactPaginate/webpack/runtime/compat get default export","../ReactPaginate/webpack/runtime/define property getters","../ReactPaginate/webpack/runtime/hasOwnProperty shorthand","../ReactPaginate/webpack/runtime/make namespace object","../ReactPaginate/react_components/PageView.js","../ReactPaginate/react_components/BreakView.js","../ReactPaginate/react_components/utils.js","../ReactPaginate/react_components/PaginationBoxView.js","../ReactPaginate/react_components/index.js","../node_modules/react-player/lib/Player.js","../node_modules/react-player/lib/Preview.js","../node_modules/react-player/lib/ReactPlayer.js","../node_modules/react-player/lib/index.js","../node_modules/react-player/lib/patterns.js","../node_modules/react-player/lib/players/DailyMotion.js","../node_modules/react-player/lib/players/Facebook.js","../node_modules/react-player/lib/players/FilePlayer.js","../node_modules/react-player/lib/players/Kaltura.js","../node_modules/react-player/lib/players/Mixcloud.js","../node_modules/react-player/lib/players/SoundCloud.js","../node_modules/react-player/lib/players/Streamable.js","../node_modules/react-player/lib/players/Twitch.js","../node_modules/react-player/lib/players/Vidyard.js","../node_modules/react-player/lib/players/Vimeo.js","../node_modules/react-player/lib/players/Wistia.js","../node_modules/react-player/lib/players/YouTube.js","../node_modules/react-player/lib/players/index.js","../node_modules/react-player/lib/props.js","../node_modules/react-player/lib/utils.js","../node_modules/react-slick/lib/arrows.js","../node_modules/react-slick/lib/default-props.js","../node_modules/react-slick/lib/dots.js","../node_modules/react-slick/lib/index.js","../node_modules/react-slick/lib/initial-state.js","../node_modules/react-slick/lib/inner-slider.js","../node_modules/react-slick/lib/slider.js","../node_modules/react-slick/lib/track.js","../node_modules/react-slick/lib/utils/innerSliderUtils.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/string-convert/camel2hyphen.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/hooks/esm/useUpdateEffect.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/@restart/hooks/esm/useTimeout.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/CarouselCaption.js","../node_modules/react-bootstrap/esm/CarouselItem.js","../node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/Carousel.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/io5/index.esm.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-icons/fa/index.esm.js","../node_modules/react-icons/ai/index.esm.js","../node_modules/react-icons/hi/index.esm.js","../node_modules/react-icons/ti/index.esm.js","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/redux/es/redux.js","../node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createAsyncThunk.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/task.ts","../node_modules/@reduxjs/toolkit/src/autoBatchEnhancer.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/@reduxjs/toolkit/src/index.ts","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","helper/axiosHelper.js","redux/user.js","redux/subscription.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/index.js","../node_modules/react-redux/es/components/connect.js","redux/common.js","../node_modules/clsx/dist/clsx.m.js","redux/shortsApi.js","redux/profile.js","Pages/Home/Home.js","Pages/About/About.js","Pages/TermsnCondt/TermsnCondt.js","Pages/PrivacyPolicy/Privacypolicy.js","Pages/Refund/Refund.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-bootstrap/esm/AccordionContext.js","../node_modules/react-bootstrap/esm/AccordionCollapse.js","../node_modules/react-bootstrap/esm/AccordionItemContext.js","../node_modules/react-bootstrap/esm/AccordionBody.js","../node_modules/react-bootstrap/esm/AccordionButton.js","../node_modules/react-bootstrap/esm/AccordionHeader.js","../node_modules/react-bootstrap/esm/AccordionItem.js","../node_modules/react-bootstrap/esm/Accordion.js","Pages/Faq/Faq.js","Pages/Contact/Contact.js","Pages/Blogs/Blog.js","Pages/Blogs/Blogdetails.js","../node_modules/react-icons/bs/index.esm.js","redux/courses.js","Pages/Course/Course.js","../node_modules/react-bootstrap/esm/Table.js","Pages/Cart/Cart.js","Pages/Cart/SubCart.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/react-bootstrap/esm/InputGroup.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormRange.js","../node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/react-bootstrap/esm/Form.js","Pages/Checkout/Checkout.js","Pages/Checkout/SubCheckout.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@restart/ui/esm/TabContext.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/NavItem.js","../node_modules/@restart/ui/esm/Nav.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/react-bootstrap/esm/NavLink.js","../node_modules/react-bootstrap/esm/Nav.js","../node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","../node_modules/react-hook-form/src/utils/isDateObject.ts","../node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","../node_modules/react-hook-form/src/utils/isObject.ts","../node_modules/react-hook-form/src/logic/getEventValue.ts","../node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","../node_modules/react-hook-form/src/logic/getNodeParentName.ts","../node_modules/react-hook-form/src/utils/isPlainObject.ts","../node_modules/react-hook-form/src/utils/isWeb.ts","../node_modules/react-hook-form/src/utils/cloneObject.ts","../node_modules/react-hook-form/src/utils/compact.ts","../node_modules/react-hook-form/src/utils/isUndefined.ts","../node_modules/react-hook-form/src/utils/get.ts","../node_modules/react-hook-form/src/constants.ts","../node_modules/react-hook-form/src/logic/getProxyFormState.ts","../node_modules/react-hook-form/src/useFormContext.tsx","../node_modules/react-hook-form/src/utils/isEmptyObject.ts","../node_modules/react-hook-form/src/logic/shouldRenderFormState.ts","../node_modules/react-hook-form/src/utils/convertToArrayPayload.ts","../node_modules/react-hook-form/src/useSubscribe.ts","../node_modules/react-hook-form/src/utils/isString.ts","../node_modules/react-hook-form/src/logic/generateWatchOutput.ts","../node_modules/react-hook-form/src/utils/isKey.ts","../node_modules/react-hook-form/src/utils/stringToPath.ts","../node_modules/react-hook-form/src/utils/set.ts","../node_modules/react-hook-form/src/logic/appendErrors.ts","../node_modules/react-hook-form/src/logic/focusFieldBy.ts","../node_modules/react-hook-form/src/logic/getValidationModes.ts","../node_modules/react-hook-form/src/logic/isWatched.ts","../node_modules/react-hook-form/src/logic/updateFieldArrayRootError.ts","../node_modules/react-hook-form/src/utils/isBoolean.ts","../node_modules/react-hook-form/src/utils/isFileInput.ts","../node_modules/react-hook-form/src/utils/isFunction.ts","../node_modules/react-hook-form/src/utils/isHTMLElement.ts","../node_modules/react-hook-form/src/utils/isMessage.ts","../node_modules/react-hook-form/src/utils/isRadioInput.ts","../node_modules/react-hook-form/src/utils/isRegex.ts","../node_modules/react-hook-form/src/logic/getCheckboxValue.ts","../node_modules/react-hook-form/src/logic/getRadioValue.ts","../node_modules/react-hook-form/src/logic/getValidateError.ts","../node_modules/react-hook-form/src/logic/getValueAndMessage.ts","../node_modules/react-hook-form/src/logic/validateField.ts","../node_modules/react-hook-form/src/utils/unset.ts","../node_modules/react-hook-form/src/utils/createSubject.ts","../node_modules/react-hook-form/src/utils/isPrimitive.ts","../node_modules/react-hook-form/src/utils/deepEqual.ts","../node_modules/react-hook-form/src/utils/isMultipleSelect.ts","../node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","../node_modules/react-hook-form/src/utils/live.ts","../node_modules/react-hook-form/src/utils/objectHasFunction.ts","../node_modules/react-hook-form/src/logic/getDirtyFields.ts","../node_modules/react-hook-form/src/logic/getFieldValueAs.ts","../node_modules/react-hook-form/src/logic/getFieldValue.ts","../node_modules/react-hook-form/src/logic/getResolverOptions.ts","../node_modules/react-hook-form/src/logic/getRuleValue.ts","../node_modules/react-hook-form/src/logic/hasValidation.ts","../node_modules/react-hook-form/src/logic/schemaErrorLookup.ts","../node_modules/react-hook-form/src/logic/skipValidation.ts","../node_modules/react-hook-form/src/logic/unsetEmptyArray.ts","../node_modules/react-hook-form/src/logic/createFormControl.ts","../node_modules/react-hook-form/src/useForm.ts","../node_modules/jwt-decode/lib/atob.js","../node_modules/jwt-decode/lib/index.js","../node_modules/jwt-decode/lib/base64_url_decode.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/serialize/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-select/node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","Pages/Profile/Profile.js","Pages/Profile/Wishlist.js","Pages/Profile/Subscribe.js","../node_modules/react-bootstrap/esm/ProgressBar.js","Pages/Profile/Mycourse.js","Pages/Profile/Orderhistory.js","Pages/Profile/Question.js","../node_modules/react-icons/gi/index.esm.js","../node_modules/react-icons/sl/index.esm.js","../node_modules/react-icons/ri/index.esm.js","../node_modules/react-circular-progressbar/src/constants.ts","../node_modules/react-circular-progressbar/src/Path.tsx","../node_modules/react-circular-progressbar/src/CircularProgressbar.tsx","Pages/Profile/Dashboard.js","Pages/Edcator/Educator.js","Pages/Profile/Assessmentsucess.js","Pages/Sucess/Coursesucess.js","../node_modules/react-icons/lia/index.esm.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/ImperativeTransition.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@restart/ui/esm/utils.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-bootstrap/esm/Modal.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","Pages/Course/Courselist.js","../node_modules/react-loader-spinner/dist/esm/type.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/styled-components/src/utils/interleave.js","../node_modules/styled-components/src/utils/isPlainObject.js","../node_modules/styled-components/src/utils/empties.js","../node_modules/styled-components/src/utils/isFunction.js","../node_modules/styled-components/src/utils/getComponentName.js","../node_modules/styled-components/src/utils/isStyledComponent.js","../node_modules/styled-components/src/constants.js","../node_modules/styled-components/src/utils/error.js","../node_modules/styled-components/src/sheet/GroupedTag.js","../node_modules/styled-components/src/sheet/GroupIDAllocator.js","../node_modules/styled-components/src/sheet/Rehydration.js","../node_modules/styled-components/src/utils/nonce.js","../node_modules/styled-components/src/sheet/dom.js","../node_modules/styled-components/src/sheet/Tag.js","../node_modules/styled-components/src/sheet/Sheet.js","../node_modules/styled-components/src/utils/generateAlphabeticName.js","../node_modules/styled-components/src/utils/hash.js","../node_modules/styled-components/src/utils/isStaticRules.js","../node_modules/styled-components/src/models/ComponentStyle.js","../node_modules/styled-components/src/utils/stylis.js","../node_modules/styled-components/src/utils/stylisPluginInsertRule.js","../node_modules/styled-components/src/models/StyleSheetManager.js","../node_modules/styled-components/src/models/Keyframes.js","../node_modules/styled-components/src/utils/hyphenateStyleName.js","../node_modules/styled-components/src/utils/flatten.js","../node_modules/styled-components/src/utils/isStatelessFunction.js","../node_modules/styled-components/src/utils/addUnitIfNeeded.js","../node_modules/styled-components/src/constructors/css.js","../node_modules/styled-components/src/utils/checkDynamicCreation.js","../node_modules/styled-components/src/utils/determineTheme.js","../node_modules/styled-components/src/utils/escape.js","../node_modules/styled-components/src/utils/generateComponentId.js","../node_modules/styled-components/src/utils/isTag.js","../node_modules/styled-components/src/utils/mixinDeep.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/StyledComponent.js","../node_modules/styled-components/src/utils/generateDisplayName.js","../node_modules/styled-components/src/utils/joinStrings.js","../node_modules/styled-components/src/utils/domElements.js","../node_modules/styled-components/src/constructors/styled.js","../node_modules/styled-components/src/constructors/constructWithOptions.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/src/constructors/keyframes.js","../node_modules/styled-components/src/models/ServerStyleSheet.js","../node_modules/react-loader-spinner/dist/esm/loader/InfinitySpin.js","../node_modules/styled-components/src/base.js","../node_modules/styled-tools/dist/es/prop.js","../node_modules/styled-tools/dist/es/ifProp.js","../node_modules/react-loader-spinner/dist/esm/loader/RotatingLines.js","../node_modules/react-loader-spinner/dist/esm/helpers.js","../node_modules/react-loader-spinner/dist/esm/loader/Triangle.js","../node_modules/react-loader-spinner/dist/esm/loader/TailSpin.js","../node_modules/react-loader-spinner/dist/esm/loader/Blocks.js","../node_modules/reactstrap/esm/utils.js","../node_modules/react-icons/md/index.esm.js","../node_modules/react-icons/gr/index.esm.js","../node_modules/react-icons/fi/index.esm.js","../node_modules/react-icons/io/index.esm.js","../node_modules/reactstrap/esm/Portal.js","../node_modules/reactstrap/esm/Fade.js","../node_modules/reactstrap/esm/Modal.js","../node_modules/reactstrap/esm/ModalBody.js","../node_modules/reactstrap/esm/CloseButton.js","../node_modules/reactstrap/esm/Button.js","Component/Header/Header.js","../node_modules/react-icons/im/index.esm.js","Component/Footer/Footer.js","Pages/Activations/Accountactivate.js","Pages/Activations/Passwordreseted.js","../node_modules/@restart/ui/node_modules/uncontrollable/lib/esm/index.js","../node_modules/@react-aria/ssr/dist/packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/TabPanel.js","../node_modules/@restart/ui/esm/Tabs.js","../node_modules/react-bootstrap/esm/TabContent.js","../node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/react-bootstrap/esm/TabPane.js","../node_modules/react-bootstrap/esm/Tabs.js","../node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/react-bootstrap/esm/Tab.js","Pages/Course/Viewcourse.js","Pages/Profile/Assessments.js","Pages/Test/Test.js","Pages/Activations/CoursePurchase.js","../node_modules/react-icons/pi/index.esm.js","../node_modules/react-icons/fa6/index.esm.js","Pages/JobListing/JobListing.js","Pages/JobListing/Applyjob.js","Pages/Training/Training.js","Pages/Cart/TrainingCart.js","Pages/Activations/PaymentSuccess.js","Pages/Activations/PaymentFailed.js","Pages/Profile/TrainingHistory.js","Pages/EOB/StartPayment.jsx","Pages/EOB/PaymentSuccess.jsx","Pages/EOB/PaymentFailed.jsx","Pages/Corporate Joining/Corporate.js","App.js","redux/store.js","../node_modules/@reduxjs/toolkit/src/configureStore.ts","index.js"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","/*!\n * \n * jsPDF AutoTable plugin v3.6.0\n *\n * Copyright (c) 2023 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n *\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jspdf\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }())) : factory(root[\"jspdf\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof globalThis !== 'undefined' ? globalThis : typeof this !== 'undefined' ? this : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : global , function(__WEBPACK_EXTERNAL_MODULE__84__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 662:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CellHookData = exports.HookData = void 0;\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.pageCount = this.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nexports.HookData = HookData;\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\nexports.CellHookData = CellHookData;\n\n\n/***/ }),\n\n/***/ 790:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar htmlParser_1 = __webpack_require__(148);\nvar autoTableText_1 = __webpack_require__(938);\nvar documentHandler_1 = __webpack_require__(323);\nvar inputParser_1 = __webpack_require__(587);\nvar tableDrawer_1 = __webpack_require__(49);\nvar tableCalculator_1 = __webpack_require__(858);\nfunction default_1(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options;\n if (args.length === 1) {\n options = args[0];\n }\n else {\n console.error('Use of deprecated autoTable initiation');\n options = args[2] || {};\n options.columns = args[0];\n options.body = args[1];\n }\n var input = (0, inputParser_1.parseInput)(this, options);\n var table = (0, tableCalculator_1.createTable)(this, input);\n (0, tableDrawer_1.drawTable)(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.previousAutoTable = false; // deprecated in v3\n jsPDF.API.autoTable.previous = false; // deprecated in v3\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n (0, autoTableText_1.default)(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n documentHandler_1.DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n documentHandler_1.DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new documentHandler_1.DocHandler(this);\n var _a = (0, htmlParser_1.parseHtml)(doc, tableElem, window, includeHiddenElements, false), head = _a.head, body = _a.body;\n var columns = head[0].map(function (c) { return c.content; });\n return { columns: columns, rows: body, data: body };\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableEndPosY = function () {\n console.error('Use of deprecated function: autoTableEndPosY. Use doc.lastAutoTable.finalY instead.');\n var prev = this.lastAutoTable;\n if (prev && prev.finalY) {\n return prev.finalY;\n }\n else {\n return 0;\n }\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPageContent = function (hook) {\n console.error('Use of deprecated function: autoTableAddPageContent. Use jsPDF.autoTableSetDefaults({didDrawPage: () => {}}) instead.');\n if (!jsPDF.API.autoTable.globalDefaults) {\n jsPDF.API.autoTable.globalDefaults = {};\n }\n jsPDF.API.autoTable.globalDefaults.addPageContent = hook;\n return this;\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPage = function () {\n console.error('Use of deprecated function: autoTableAddPage. Use doc.addPage()');\n this.addPage();\n return this;\n };\n}\nexports[\"default\"] = default_1;\n\n\n/***/ }),\n\n/***/ 938:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction default_1(text, x, y, styles, doc) {\n styles = styles || {};\n var FONT_ROW_RATIO = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - FONT_ROW_RATIO);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * fontSize * FONT_ROW_RATIO;\n else if (styles.valign === 'bottom')\n y -= lineCount * fontSize * FONT_ROW_RATIO;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += fontSize * FONT_ROW_RATIO;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, {\n maxWidth: styles.maxWidth || 100,\n align: 'justify',\n });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\nexports[\"default\"] = default_1;\n\n\n/***/ }),\n\n/***/ 200:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseSpacing = exports.getFillStyle = exports.addTableBorder = exports.getStringWidth = void 0;\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nexports.getStringWidth = getStringWidth;\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nexports.addTableBorder = addTableBorder;\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nexports.getFillStyle = getFillStyle;\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nexports.parseSpacing = parseSpacing;\n\n\n/***/ }),\n\n/***/ 913:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTheme = exports.defaultStyles = exports.HtmlRowInput = exports.FONT_ROW_RATIO = void 0;\n/**\n * Ratio between font size and font height. The number comes from jspdf's source code\n */\nexports.FONT_ROW_RATIO = 1.15;\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\nexports.HtmlRowInput = HtmlRowInput;\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica',\n fontStyle: 'normal',\n overflow: 'linebreak',\n fillColor: false,\n textColor: 20,\n halign: 'left',\n valign: 'top',\n fontSize: 10,\n cellPadding: 5 / scaleFactor,\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto',\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nexports.defaultStyles = defaultStyles;\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: {\n head: { fontStyle: 'bold' },\n foot: { fontStyle: 'bold' },\n },\n };\n return themes[name];\n}\nexports.getTheme = getTheme;\n\n\n/***/ }),\n\n/***/ 259:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseCss = void 0;\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nvar common_1 = __webpack_require__(200);\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var backgroundColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (backgroundColor != null)\n result.fillColor = backgroundColor;\n var textColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (textColor != null)\n result.textColor = textColor;\n var borderColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['borderTopColor'];\n });\n if (borderColor != null)\n result.lineColor = borderColor;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n // style.borderWidth only works in chrome (borderTopWidth etc works in firefox and ie as well)\n var bw = parseInt(style.borderTopWidth || '');\n bw = bw / pxScaleFactor / scaleFactor;\n if (bw)\n result.lineWidth = bw;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nexports.parseCss = parseCss;\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n || '0') / pxScaleFactor;\n });\n var padding = (0, common_1.parseSpacing)(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\n\n/***/ }),\n\n/***/ 323:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DocHandler = void 0;\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n // 0 for versions of jspdf without getLineWidth\n lineWidth: jsPDFDocument.getLineWidth\n ? this.jsPDFDocument.getLineWidth()\n : 0,\n // Black for versions of jspdf without getDrawColor\n lineColor: jsPDFDocument.getDrawColor\n ? this.jsPDFDocument.getDrawColor()\n : 0,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle)\n this.jsPDFDocument.setFontStyle &&\n this.jsPDFDocument.setFontStyle(styles.fontStyle);\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles &&\n availableFontStyles.indexOf(fontStyle) === -1) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle &&\n this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n /**\n * Adds a rectangle to the PDF\n * @param x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param width Width (in units declared at inception of PDF document)\n * @param height Height (in units declared at inception of PDF document)\n * @param fillStyle A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. **In \"advanced\" API mode this parameter is deprecated.**\n */\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n if (!['S', 'F', 'DF', 'FD', null].some(function (v) { return v === fillStyle; })) {\n throw new TypeError(\"Invalid value '\".concat(fillStyle, \"' passed to rect. Allowed values are: 'S', 'F', 'DF', 'FD', null\"));\n }\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = {\n width: pageSize.getWidth(),\n height: pageSize.getHeight(),\n };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\nexports.DocHandler = DocHandler;\n\n\n/***/ }),\n\n/***/ 148:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseHtml = void 0;\nvar cssParser_1 = __webpack_require__(259);\nvar config_1 = __webpack_require__(913);\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nexports.parseHtml = parseHtml;\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new config_1.HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = (0, cssParser_1.parseCss)(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve
tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(/\\/) //start with ''.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\n\n/***/ }),\n\n/***/ 587:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseInput = void 0;\nvar htmlParser_1 = __webpack_require__(148);\nvar polyfills_1 = __webpack_require__(360);\nvar common_1 = __webpack_require__(200);\nvar documentHandler_1 = __webpack_require__(323);\nvar inputValidator_1 = __webpack_require__(291);\nfunction parseInput(d, current) {\n var doc = new documentHandler_1.DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n (0, inputValidator_1.default)(doc, global, document, current);\n var options = (0, polyfills_1.assign)({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent(doc, options, win);\n return {\n id: current.tableId,\n content: content,\n hooks: hooks,\n styles: styles,\n settings: settings,\n };\n}\nexports.parseInput = parseInput;\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global_1 = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = (0, polyfills_1.assign)({}, global_1, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = (0, polyfills_1.assign)({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n willDrawPage: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.willDrawPage)\n result.willDrawPage.push(options.willDrawPage);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n var margin = (0, common_1.parseSpacing)(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = options.horizontalPageBreak\n ? true\n : false;\n var horizontalPageBreakRepeat = (_e = options.horizontalPageBreakRepeat) !== null && _e !== void 0 ? _e : null;\n return {\n includeHiddenHtml: (_f = options.includeHiddenHtml) !== null && _f !== void 0 ? _f : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_g = options.pageBreak) !== null && _g !== void 0 ? _g : 'auto',\n rowPageBreak: (_h = options.rowPageBreak) !== null && _h !== void 0 ? _h : 'auto',\n tableWidth: (_j = options.tableWidth) !== null && _j !== void 0 ? _j : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_k = options.tableLineWidth) !== null && _k !== void 0 ? _k : 0,\n tableLineColor: (_l = options.tableLineColor) !== null && _l !== void 0 ? _l : 200,\n horizontalPageBreak: horizontalPageBreak,\n horizontalPageBreakRepeat: horizontalPageBreakRepeat,\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = (0, htmlParser_1.parseHtml)(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return {\n columns: columns,\n head: head,\n body: body,\n foot: foot,\n };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\".concat(i) : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\n\n/***/ }),\n\n/***/ 291:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction default_1(doc, global, document, current) {\n var _loop_1 = function (options) {\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (typeof options.extendWidth !== 'undefined') {\n options.tableWidth = options.extendWidth ? 'auto' : 'wrap';\n console.error('Use of deprecated option: extendWidth, use tableWidth instead.');\n }\n if (typeof options.margins !== 'undefined') {\n if (typeof options.margin === 'undefined')\n options.margin = options.margins;\n console.error('Use of deprecated option: margins, use margin instead.');\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n if (!options.didDrawPage &&\n (options.afterPageContent ||\n options.beforePageContent ||\n options.afterPageAdd)) {\n console.error('The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead');\n options.didDrawPage = function (data) {\n doc.applyStyles(doc.userStyles);\n if (options.beforePageContent)\n options.beforePageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageContent)\n options.afterPageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageAdd && data.pageNumber > 1) {\n ;\n data.afterPageAdd(data);\n }\n doc.applyStyles(doc.userStyles);\n };\n }\n ;\n [\n 'createdHeaderCell',\n 'drawHeaderRow',\n 'drawRow',\n 'drawHeaderCell',\n ].forEach(function (name) {\n if (options[name]) {\n console.error(\"The \\\"\".concat(name, \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\"));\n }\n });\n [\n ['showFoot', 'showFooter'],\n ['showHead', 'showHeader'],\n ['didDrawPage', 'addPageContent'],\n ['didParseCell', 'createdCell'],\n ['headStyles', 'headerStyles'],\n ].forEach(function (_a) {\n var current = _a[0], deprecated = _a[1];\n if (options[deprecated]) {\n console.error(\"Use of deprecated option \".concat(deprecated, \". Use \").concat(current, \" instead\"));\n options[current] = options[deprecated];\n }\n });\n [\n ['padding', 'cellPadding'],\n ['lineHeight', 'rowHeight'],\n 'fontSize',\n 'overflow',\n ].forEach(function (o) {\n var deprecatedOption = typeof o === 'string' ? o : o[0];\n var style = typeof o === 'string' ? o : o[1];\n if (typeof options[deprecatedOption] !== 'undefined') {\n if (typeof options.styles[style] === 'undefined') {\n options.styles[style] = options[deprecatedOption];\n }\n console.error('Use of deprecated option: ' +\n deprecatedOption +\n ', use the style ' +\n style +\n ' instead.');\n }\n });\n for (var _b = 0, _c = [\n 'styles',\n 'bodyStyles',\n 'headStyles',\n 'footStyles',\n ]; _b < _c.length; _b++) {\n var styleProp = _c[_b];\n checkStyles(options[styleProp] || {});\n }\n var columnStyles = options['columnStyles'] || {};\n for (var _d = 0, _e = Object.keys(columnStyles); _d < _e.length; _d++) {\n var key = _e[_d];\n checkStyles(columnStyles[key] || {});\n }\n };\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n _loop_1(options);\n }\n}\nexports[\"default\"] = default_1;\nfunction checkStyles(styles) {\n if (styles.rowHeight) {\n console.error('Use of deprecated style rowHeight. It is renamed to minCellHeight.');\n if (!styles.minCellHeight) {\n styles.minCellHeight = styles.rowHeight;\n }\n }\n else if (styles.columnWidth) {\n console.error('Use of deprecated style columnWidth. It is renamed to cellWidth.');\n if (!styles.cellWidth) {\n styles.cellWidth = styles.columnWidth;\n }\n }\n}\n\n\n/***/ }),\n\n/***/ 287:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Column = exports.Cell = exports.Row = exports.Table = void 0;\nvar config_1 = __webpack_require__(913);\nvar HookData_1 = __webpack_require__(662);\nvar common_1 = __webpack_require__(200);\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n // Deprecated, use pageNumber instead\n // Not using getter since:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/596\n this.pageCount = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new HookData_1.CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.callWillDrawPageHooks = function (doc, cursor) {\n for (var _i = 0, _a = this.hooks.willDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof config_1.HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var fontHeight = (cell.styles.fontSize / doc.scaleFactor()) * config_1.FONT_ROW_RATIO;\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + fontHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a, _b;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_b = (_a = raw.content) !== null && _a !== void 0 ? _a : raw.title) !== null && _b !== void 0 ? _b : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n Cell.prototype.getContentHeight = function (scaleFactor) {\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var fontHeight = (this.styles.fontSize / scaleFactor) * config_1.FONT_ROW_RATIO;\n var height = lineCount * fontHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = (0, common_1.parseSpacing)(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nexports.Cell = Cell;\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n\n/***/ 360:\n/***/ (function(__unused_webpack_module, exports) {\n\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assign = void 0;\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexports.assign = assign;\n\n\n/***/ }),\n\n/***/ 858:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createTable = void 0;\nvar documentHandler_1 = __webpack_require__(323);\nvar models_1 = __webpack_require__(287);\nvar widthCalculator_1 = __webpack_require__(189);\nvar config_1 = __webpack_require__(913);\nvar polyfills_1 = __webpack_require__(360);\nfunction createTable(jsPDFDoc, input) {\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new models_1.Table(input, content);\n (0, widthCalculator_1.calculateWidths)(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nexports.createTable = createTable;\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new models_1.Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new models_1.Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || column.title || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a, _b;\n var key;\n if (typeof input === 'object') {\n key = (_b = (_a = input.dataKey) !== null && _a !== void 0 ? _a : input.key) !== null && _b !== void 0 ? _b : index;\n }\n else {\n key = index;\n }\n return new models_1.Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = (0, config_1.getTheme)(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = (0, polyfills_1.assign)({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? (0, polyfills_1.assign)({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = (0, config_1.defaultStyles)(scaleFactor);\n var themeStyles = (0, polyfills_1.assign)({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return (0, polyfills_1.assign)(themeStyles, cellInputStyles);\n}\n\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.addPage = exports.drawTable = void 0;\nvar config_1 = __webpack_require__(913);\nvar common_1 = __webpack_require__(200);\nvar models_1 = __webpack_require__(287);\nvar documentHandler_1 = __webpack_require__(323);\nvar polyfills_1 = __webpack_require__(360);\nvar autoTableText_1 = __webpack_require__(938);\nvar tablePrinter_1 = __webpack_require__(435);\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = {\n x: margin.left,\n y: startY,\n };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.body;\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n table.callWillDrawPageHooks(doc, cursor);\n var startPos = (0, polyfills_1.assign)({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak === true) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n }\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n jsPDFDoc.previousAutoTable = table; // Deprecated\n if (jsPDFDoc.autoTable)\n jsPDFDoc.autoTable.previous = table; // Deprecated\n doc.applyStyles(doc.userStyles);\n}\nexports.drawTable = drawTable;\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = tablePrinter_1.default.calculateAllColumnsCanFitInPage(doc, table);\n allColumnsCanFitResult.map(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n // print foot for selected columns\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var fontHeight = (cell.styles.fontSize / doc.scaleFactor()) * config_1.FONT_ROW_RATIO;\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / fontHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new models_1.Cell(cell.raw, cell.styles, cell.section);\n remainderCell = (0, polyfills_1.assign)(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new models_1.Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.error(\"Will not be able to print row \".concat(row.index, \" correctly since it's minimum height is larger than page height\"));\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.error(\"The content of row \".concat(row.index, \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\"));\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n }\n else {\n if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellBorders(doc, cell, cursor);\n var textPos = cell.getTextPos();\n (0, autoTableText_1.default)(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellBorders(doc, cell, cursor) {\n var cellStyles = cell.styles;\n doc.getDocument().setFillColor(doc.getDocument().getFillColor());\n if (typeof cellStyles.lineWidth === 'number') {\n // prints normal cell border using rect's stroke\n var fillStyle = (0, common_1.getFillStyle)(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n drawCellBackground(doc, cell, cursor, cellStyles.fillColor);\n drawBorders(doc, cell, cursor, cellStyles.fillColor, cellStyles.lineWidth);\n }\n}\n/**\n * Prints cell background without borders and allows transparent color.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor - passed to getFillStyle; `false` will map to transparent, `truthy` values to 'F' from jsPDF.rect\n */\nfunction drawCellBackground(doc, cell, cursor, fillColor) {\n var fillStyle = (0, common_1.getFillStyle)(0, fillColor);\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n}\n/**\n * Draw all specified borders. Borders are centered on cell's edge and lengthened\n * to overlap with neighbours to create sharp corners.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor\n * @param lineWidth\n */\nfunction drawBorders(doc, cell, cursor, fillColor, lineWidth) {\n var x1, y1, x2, y2;\n if (lineWidth.top) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine([x1, y1, x2, y2], lineWidth.top, fillColor);\n }\n if (lineWidth.bottom) {\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine([x1, y1, x2, y2], lineWidth.bottom, fillColor);\n }\n if (lineWidth.left) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine([x1, y1, x2, y2], lineWidth.left, fillColor);\n }\n if (lineWidth.right) {\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine([x1, y1, x2, y2], lineWidth.right, fillColor);\n }\n function drawLine(coords, width, color) {\n var _a;\n doc.getDocument().setLineWidth(width);\n (_a = doc.getDocument()).line.apply(_a, __spreadArray(__spreadArray([], coords, false), [(0, common_1.getFillStyle)(width, color)], false));\n }\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns) {\n if (columns === void 0) { columns = []; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n table.pageCount++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n startPos.y = margin.top;\n // call didAddPage hooks before any content is added to the page\n table.callWillDrawPageHooks(doc, cursor);\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n doc.applyStyles(doc.userStyles);\n }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n return true;\n }\n return false;\n}\n\n\n/***/ }),\n\n/***/ 435:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar common_1 = __webpack_require__(200);\nvar getPageAvailableWidth = function (doc, table) {\n var margins = (0, common_1.parseSpacing)(table.settings.margin, 0);\n var availablePageWidth = doc.pageSize().width - (margins.left + margins.right);\n return availablePageWidth;\n};\n// get columns can be fit into page\nvar getColumnsCanFitInPage = function (doc, table, config) {\n var _a;\n if (config === void 0) { config = {}; }\n // Get page width\n var availablePageWidth = getPageAvailableWidth(doc, table);\n var remainingWidth = availablePageWidth;\n // Get column data key to repeat\n var repeatColumnsMap = new Map();\n var repeatColumn = null;\n var cols = [];\n var columns = [];\n var len = table.columns.length;\n var i = (_a = config === null || config === void 0 ? void 0 : config.start) !== null && _a !== void 0 ? _a : 0;\n var horizontalPageBreakRepeat = table.settings.horizontalPageBreakRepeat;\n // Code to repeat the given column in split pages\n if (horizontalPageBreakRepeat !== null && horizontalPageBreakRepeat !== undefined && Array.isArray(horizontalPageBreakRepeat)) {\n var _loop_1 = function (field) {\n var col = table.columns.find(function (item) {\n return item.dataKey === field ||\n item.index === field;\n });\n if (col) {\n repeatColumnsMap.set(col.index, col);\n cols.push(col.index);\n columns.push(table.columns[col.index]);\n remainingWidth = remainingWidth - col.wrappedWidth;\n }\n };\n for (var _i = 0, horizontalPageBreakRepeat_1 = horizontalPageBreakRepeat; _i < horizontalPageBreakRepeat_1.length; _i++) {\n var field = horizontalPageBreakRepeat_1[_i];\n _loop_1(field);\n }\n // It can be a single value of type string or number (even number: 0)\n }\n else if (horizontalPageBreakRepeat !== null && horizontalPageBreakRepeat !== undefined) {\n repeatColumn = table.columns.find(function (item) {\n return item.dataKey === horizontalPageBreakRepeat ||\n item.index === horizontalPageBreakRepeat;\n });\n if (repeatColumn) {\n cols.push(repeatColumn.index);\n columns.push(table.columns[repeatColumn.index]);\n remainingWidth = remainingWidth - repeatColumn.wrappedWidth;\n }\n }\n while (i < len) {\n // Prevent columnDataKeyToRepeat from being pushed twice on a page\n if ((Array.isArray(horizontalPageBreakRepeat) && repeatColumnsMap.get(i))\n || (repeatColumn === null || repeatColumn === void 0 ? void 0 : repeatColumn.index) === i) {\n i++;\n continue;\n }\n var colWidth = table.columns[i].wrappedWidth;\n if (remainingWidth < colWidth) {\n if (i === 0 || i === config.start) {\n cols.push(i);\n columns.push(table.columns[i]);\n }\n break;\n }\n cols.push(i);\n columns.push(table.columns[i]);\n remainingWidth -= colWidth;\n i++;\n }\n return { colIndexes: cols, columns: columns, lastIndex: i };\n};\nvar calculateAllColumnsCanFitInPage = function (doc, table) {\n // const margins = table.settings.margin;\n // const availablePageWidth = doc.pageSize().width - (margins.left + margins.right);\n var allResults = [];\n var index = 0;\n var len = table.columns.length;\n while (index < len) {\n var result = getColumnsCanFitInPage(doc, table, {\n start: index === 0 ? 0 : index,\n });\n if (result && result.columns && result.columns.length) {\n index = result.lastIndex;\n allResults.push(result);\n }\n else {\n index++;\n }\n }\n return allResults;\n};\nexports[\"default\"] = {\n getColumnsCanFitInPage: getColumnsCanFitInPage,\n calculateAllColumnsCanFitInPage: calculateAllColumnsCanFitInPage,\n getPageAvailableWidth: getPageAvailableWidth,\n};\n\n\n/***/ }),\n\n/***/ 189:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ellipsize = exports.resizeColumns = exports.calculateWidths = void 0;\nvar common_1 = __webpack_require__(200);\nvar tablePrinter_1 = __webpack_require__(435);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak &&\n resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.warn(\"Of the table content, \".concat(resizeWidth, \" units width could not fit page\"));\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n var horizontalPageBreak = table.settings.horizontalPageBreak;\n var availablePageWidth = tablePrinter_1.default.getPageAvailableWidth(doc, table);\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = (0, common_1.getStringWidth)(cell.text, cell.styles, doc) + padding;\n var longestWordWidth = (0, common_1.getStringWidth)(cell.text.join(' ').split(/\\s+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap' ||\n horizontalPageBreak === true) {\n // cell width should not be more than available page width\n if (cell.contentWidth > availablePageWidth) {\n cell.minWidth = availablePageWidth;\n cell.wrappedWidth = availablePageWidth;\n }\n else {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nexports.resizeColumns = resizeColumns;\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n var result = cell.styles.overflow(cell.text, textSpace);\n if (typeof result === 'string') {\n cell.text = [result];\n }\n else {\n cell.text = result;\n }\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nexports.ellipsize = ellipsize;\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= (0, common_1.getStringWidth)(text, styles, doc)) {\n return text;\n }\n while (width < (0, common_1.getStringWidth)(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\n\n/***/ }),\n\n/***/ 84:\n/***/ (function(module) {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE__84__ === 'undefined') { var e = new Error(\"Cannot find module 'undefined'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__84__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\nvar exports = __webpack_exports__;\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cell = exports.Column = exports.Row = exports.Table = exports.CellHookData = exports.__drawTable = exports.__createTable = exports.applyPlugin = void 0;\nvar applyPlugin_1 = __webpack_require__(790);\nvar inputParser_1 = __webpack_require__(587);\nvar tableDrawer_1 = __webpack_require__(49);\nvar tableCalculator_1 = __webpack_require__(858);\nvar models_1 = __webpack_require__(287);\nObject.defineProperty(exports, \"Table\", ({ enumerable: true, get: function () { return models_1.Table; } }));\nvar HookData_1 = __webpack_require__(662);\nObject.defineProperty(exports, \"CellHookData\", ({ enumerable: true, get: function () { return HookData_1.CellHookData; } }));\nvar models_2 = __webpack_require__(287);\nObject.defineProperty(exports, \"Cell\", ({ enumerable: true, get: function () { return models_2.Cell; } }));\nObject.defineProperty(exports, \"Column\", ({ enumerable: true, get: function () { return models_2.Column; } }));\nObject.defineProperty(exports, \"Row\", ({ enumerable: true, get: function () { return models_2.Row; } }));\n// export { applyPlugin } didn't export applyPlugin\n// to index.d.ts for some reason\nfunction applyPlugin(jsPDF) {\n (0, applyPlugin_1.default)(jsPDF);\n}\nexports.applyPlugin = applyPlugin;\nfunction autoTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n var table = (0, tableCalculator_1.createTable)(d, input);\n (0, tableDrawer_1.drawTable)(d, table);\n}\n// Experimental export\nfunction __createTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n return (0, tableCalculator_1.createTable)(d, input);\n}\nexports.__createTable = __createTable;\nfunction __drawTable(d, table) {\n (0, tableDrawer_1.drawTable)(d, table);\n}\nexports.__drawTable = __drawTable;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n var jsPDF = __webpack_require__(84);\n // Webpack imported jspdf instead of jsPDF for some reason\n // while it seemed to work everywhere else.\n if (jsPDF.jsPDF)\n jsPDF = jsPDF.jsPDF;\n applyPlugin(jsPDF);\n}\ncatch (error) {\n // Importing jspdf in nodejs environments does not work as of jspdf\n // 1.5.3 so we need to silence potential errors to support using for example\n // the nodejs jspdf dist files with the exported applyPlugin\n}\nexports[\"default\"] = autoTable;\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Much of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// Many optimizations have been made, so the bundle size is ultimately smaller but performance is similar.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var u = ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([c], { type: 'text/javascript' })));\n var w = new Worker(u);\n w.onerror = function (e) { return cb(e.error, null); };\n w.onmessage = function (e) { return cb(null, e.data); };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\n// see fleb note\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new u32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return [b, r];\n};\nvar _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1];\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i)\n ++l[cd[i] - 1];\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 0; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >>> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i)\n co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8)) >>> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >>> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, buf, st) {\n // source length\n var sl = dat.length;\n // have to estimate size\n var noBuf = !buf || st;\n // no state\n var noSt = !st || st.i;\n if (!st)\n st = {};\n // Assumes roughly 33% compression ratio average\n if (!buf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n st.f = final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n throw 'unexpected EOF';\n break;\n }\n // ensure size\n if (noBuf)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n if (!noSt && pos + tl * (clb + 7) > tbts)\n break;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >>> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n throw 'invalid block type';\n if (pos > tbts)\n throw 'unexpected EOF';\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17;\n if (noBuf)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var mxa = lbt + dbt + 18;\n while (noSt || pos + mxa < tbts) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;\n pos += c & 15;\n if (pos > tbts)\n throw 'unexpected EOF';\n if (!c)\n throw 'invalid length/literal';\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;\n if (!d)\n throw 'invalid distance';\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & ((1 << b) - 1), pos += b;\n }\n if (pos > tbts)\n throw 'unexpected EOF';\n if (noBuf)\n cbuf(bt + 131072);\n var end = bt + add;\n for (; bt < end; bt += 4) {\n buf[bt] = buf[bt - dt];\n buf[bt + 1] = buf[bt + 1 - dt];\n buf[bt + 2] = buf[bt + 2 - dt];\n buf[bt + 3] = buf[bt + 3 - dt];\n }\n bt = end;\n }\n }\n st.l = lm, st.p = pos, st.b = bt;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n return bt == buf.length ? buf : slc(buf, 0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n d[o + 2] |= v >>> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return [new u8(0), 0];\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return [v, 1];\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return [new u8(tr), mbt];\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return [cl.subarray(0, cli), s];\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >>> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];\n var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];\n var _c = lc(dlt), lclt = _c[0], nlc = _c[1];\n var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n lcfreq[lclt[i] & 31]++;\n for (var i = 0; i < lcdt.length; ++i)\n lcfreq[lcdt[i] & 31]++;\n var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);\n if (flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n if (syms[i] > 255) {\n var len = (syms[i] >>> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];\n var dst = syms[i] & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, lst) {\n var s = dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var pos = 0;\n if (!lvl || s < 8) {\n for (var i = 0; i <= s; i += 65535) {\n // end\n var e = i + 65535;\n if (e < s) {\n // write full block\n pos = wfblk(w, pos, dat.subarray(i, e));\n }\n else {\n // write final block\n w[i] = lst;\n pos = wfblk(w, pos, dat.subarray(i, s));\n }\n }\n }\n else {\n var opt = deo[lvl - 1];\n var n = opt >>> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = new u16(32768), head = new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new u32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx bitpos\n var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;\n for (; i < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768\n var imod = i & 32767;\n // previous index with this value\n var pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && rem > 423) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = (i - dif + j + 32768) & 32767;\n var pti = prev[ti];\n var cd = (ti - pti + 32768) & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += (imod - pimod + 32768) & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one Uint32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n // this is the easiest way to avoid needing to maintain state\n if (!lst)\n pos = wfblk(w, pos, et);\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new u32(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && 0xEDB88320) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = 0xFFFFFFFF;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return c ^ 0xFFFFFFFF; }\n };\n};\n// Alder32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 5552, l);\n for (; i < e; ++i)\n n += d[i], m += n;\n n %= 65521, m %= 65521;\n }\n a = n, b = m;\n },\n d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/ /g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return [fnStr, td];\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k] instanceof u8 || v[k] instanceof u16 || v[k] instanceof u32)\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n var _a;\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1];\n ch[id] = wcln(fns[m], fnStr, td_1);\n }\n var td = mrg({}, ch[id][1]);\n return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, hMap, max, bits, bits16, shft, slc, inflt, inflateSync, pbf, gu8]; };\nvar bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zlv]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get u8\nvar gu8 = function (o) { return o && o.size && new u8(o.size); };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n if (!opts.consume)\n dat = new u8(dat);\n w.postMessage([dat, opts], [dat.buffer]);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.push = function (d, f) {\n if (t)\n throw 'stream finished';\n if (!strm.ondata)\n throw 'no stream handler';\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16)) + (d[b + 3] << 23) * 2; };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n throw 'invalid gzip data';\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += d[10] | (d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) + (2 * (d[l - 1] << 23));\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);\n};\n// zlib valid\nvar zlv = function (d) {\n if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n throw 'invalid zlib data';\n if (d[1] & 32)\n throw 'invalid zlib data: preset dictionaries not supported';\n};\nfunction AsyncCmpStrm(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n// zlib footer: -4 to -0 is Adler32\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, !f), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n this.d = final;\n this.p(chunk, final || false);\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n return dopt(data, opts, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n /**\n * Creates an inflation stream\n * @param cb The callback to call whenever data is inflated\n */\n function Inflate(cb) {\n this.s = {};\n this.p = new u8(0);\n this.ondata = cb;\n }\n Inflate.prototype.e = function (c) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n var l = this.p.length;\n var n = new u8(l + c.length);\n n.set(this.p), n.set(c, l), this.p = n;\n };\n Inflate.prototype.c = function (final) {\n this.d = this.s.i = final || false;\n var bts = this.s.b;\n var dt = inflt(this.p, this.o, this.s);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) >> 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous inflation stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncInflate(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, 0, function () {\n var strm = new Inflate();\n onmessage = astrm(strm);\n }, 7);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, out) {\n return inflt(data, out);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n this.c.p(c);\n this.l += c.length;\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n /**\n * Creates a GUNZIP stream\n * @param cb The callback to call whenever data is inflated\n */\n function Gunzip(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n var s = gzs(this.p);\n if (s >= this.p.length && !final)\n return;\n this.p = this.p.subarray(s), this.v = 0;\n }\n if (final) {\n if (this.p.length < 8)\n throw 'invalid gzip stream';\n this.p = this.p.subarray(0, -8);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous GUNZIP stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncGunzip(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, 0, function () {\n var strm = new Gunzip();\n onmessage = astrm(strm);\n }, 9);\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory.\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, out) {\n return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n this.c.p(c);\n var raw = dopt(c, this.o, this.v && 2, f && 4, !f);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n /**\n * Creates a Zlib decompression stream\n * @param cb The callback to call whenever data is inflated\n */\n function Unzlib(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 2 && !final)\n return;\n this.p = this.p.subarray(2), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n throw 'invalid zlib stream';\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous Zlib decompression stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncUnzlib(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, 0, function () {\n var strm = new Unzlib();\n onmessage = astrm(strm);\n }, 11);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, out) {\n return inflt((zlv(data), data.subarray(2, -4)), out);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function Decompress(cb) {\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n throw 'no stream handler';\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n var _this_1 = this;\n var cb = function () { _this_1.ondata.apply(_this_1, arguments); };\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(cb)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(cb)\n : new this.Z(cb);\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function AsyncDecompress(cb) {\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, out) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, out)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, out)\n : unzlibSync(data, out);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k;\n if (val instanceof u8)\n t[n] = [val, o];\n else if (Array.isArray(val))\n t[n] = [val[0], mrg(o, val[1])];\n else\n fltn(val, n + '/', t, o);\n }\n};\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n var l = str.length;\n if (!latin1 && typeof TextEncoder != 'undefined')\n return new TextEncoder().encode(str);\n var ar = new u8(str.length + (str.length >>> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >>> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n var r = '';\n if (!latin1 && typeof TextDecoder != 'undefined')\n return new TextDecoder().decode(dat);\n for (var i = 0; i < dat.length;) {\n var c = dat[i++];\n if (c < 128 || latin1)\n r += String.fromCharCode(c);\n else if (c < 224)\n r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63));\n else if (c < 240)\n r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63));\n else\n c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n return r;\n}\n;\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl;\n var _a = z ? z64e(d, es) : [b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b4(d, b + 12), b4(d, b + 4), b4(d, b + 20)];\n};\n// write zip header\nvar wzh = function (d, b, c, cmp, su, fn, u, o, ce, t) {\n var fl = fn.length, l = cmp.length;\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b] = 20, b += 2;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (t == 8 && (o.level == 1 ? 6 : o.level < 6 ? 4 : o.level == 9 ? 2 : 0)), d[b++] = u && 8;\n d[b] = t, b += 2;\n var dt = new Date(o.mtime || Date.now()), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n throw 'date not in range 1980-2099';\n wbytes(d, b, ((y << 24) * 2) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1));\n b += 4;\n wbytes(d, b, c);\n wbytes(d, b + 4, l);\n wbytes(d, b + 8, su);\n wbytes(d, b + 12, fl), b += 16; // skip extra field, comment\n if (ce != null)\n wbytes(d, b += 10, ce), b += 4;\n d.set(fn, b);\n b += fl;\n if (ce == null)\n d.set(cmp, b);\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n wzh(out, tot, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, tot, f.t), o += 46 + f.n.length, tot += 30 + f.n.length + f.d.length;\n }\n catch (e) {\n return cb(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cb(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), m = file.length;\n c.p(file);\n var n = strToU8(fn), s = n.length;\n var t = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n var l = d.length;\n files[i] = {\n t: t,\n d: d,\n m: m,\n c: c.d(),\n u: fn.length != l,\n n: n,\n p: p\n };\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n if (!--lft)\n cbf();\n }\n };\n if (n.length > 65535)\n cbl('filename too long', null);\n if (!t)\n cbl(null, file);\n else if (m < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var t = p.level == 0 ? 0 : 8;\n var n = strToU8(fn), s = n.length;\n if (n.length > 65535)\n throw 'filename too long';\n var d = t ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push({\n t: t,\n d: d,\n m: file.length,\n c: c.d(),\n u: fn.length != s,\n n: n,\n o: o,\n p: p\n });\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, f.o, f.t), o += 46 + f.n.length;\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Asynchronously decompresses a ZIP archive\n * @param data The raw compressed ZIP file\n * @param cb The callback to call with the decompressed files\n * @returns A function that can be used to immediately terminate the unzipping\n */\nexport function unzip(data, cb) {\n if (typeof cb != 'function')\n throw 'no callback';\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cb('invalid zip file', null);\n return;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (!lft)\n cb(null, {});\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = lft = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n var _loop_2 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n files[fn] = d;\n if (!--lft)\n cb(null, files);\n }\n };\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n if (sc < 320000) {\n try {\n cbl(null, inflateSync(infl, new u8(su)));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl('unknown compression type ' + c_1, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_2(i);\n }\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @returns The decompressed files\n */\nexport function unzipSync(data) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n throw 'invalid zip file';\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su));\n else\n throw 'unknown compression type ' + c_2;\n }\n return files;\n}\n","export var globalObject = (function() {\n return \"undefined\" !== typeof window\n ? window\n : \"undefined\" !== typeof global\n ? global\n : \"undefined\" !== typeof self\n ? self\n : this;\n})();\n","import { globalObject } from \"./globalObject.js\";\n\nfunction consoleLog() {\n if (globalObject.console && typeof globalObject.console.log === \"function\") {\n globalObject.console.log.apply(globalObject.console, arguments);\n }\n}\n\nfunction consoleWarn(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.warn === \"function\") {\n globalObject.console.warn.apply(globalObject.console, arguments);\n } else {\n consoleLog.call(null, arguments);\n }\n }\n}\n\nfunction consoleError(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.error === \"function\") {\n globalObject.console.error.apply(globalObject.console, arguments);\n } else {\n consoleLog(str);\n }\n }\n}\nexport var console = {\n log: consoleLog,\n warn: consoleWarn,\n error: consoleError\n};\n","/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source : http://purl.eligrey.com/github/FileSaver.js\n */\n\nimport { globalObject as _global } from \"./globalObject.js\";\nimport { console } from \"./console.js\";\n\nfunction bom(blob, opts) {\n if (typeof opts === \"undefined\") opts = { autoBom: false };\n else if (typeof opts !== \"object\") {\n console.warn(\"Deprecated: Expected third argument to be a object\");\n opts = { autoBom: !opts };\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (\n opts.autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(\n blob.type\n )\n ) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\n\nfunction download(url, name, opts) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.onload = function() {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function() {\n console.error(\"could not download file\");\n };\n xhr.send();\n}\n\nfunction corsEnabled(url) {\n var xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open(\"HEAD\", url, false);\n try {\n xhr.send();\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299;\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent(\"click\"));\n } catch (e) {\n var evt = document.createEvent(\"MouseEvents\");\n evt.initMouseEvent(\n \"click\",\n true,\n true,\n window,\n 0,\n 0,\n 0,\n 80,\n 20,\n false,\n false,\n false,\n false,\n 0,\n null\n );\n node.dispatchEvent(evt);\n }\n}\n\nvar saveAs =\n _global.saveAs ||\n // probably in some web worker\n (typeof window !== \"object\" || window !== _global\n ? function saveAs() {\n /* noop */\n }\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a native app\n typeof HTMLAnchorElement !== \"undefined\" &&\n \"download\" in HTMLAnchorElement.prototype\n ? function saveAs(blob, name, opts) {\n var URL = _global.URL || _global.webkitURL;\n var a = document.createElement(\"a\");\n name = name || blob.name || \"download\";\n\n a.download = name;\n a.rel = \"noopener\"; // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === \"string\") {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, (a.target = \"_blank\"));\n } else {\n click(a);\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function() {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function() {\n click(a);\n }, 0);\n }\n }\n : // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in navigator\n ? function saveAs(blob, name, opts) {\n name = name || blob.name || \"download\";\n\n if (typeof blob === \"string\") {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n } else {\n var a = document.createElement(\"a\");\n a.href = blob;\n a.target = \"_blank\";\n setTimeout(function() {\n click(a);\n });\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n }\n : // Fallback to using FileReader and a popup\n function saveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open(\"\", \"_blank\");\n if (popup) {\n popup.document.title = popup.document.body.innerText =\n \"downloading...\";\n }\n\n if (typeof blob === \"string\") return download(blob, name, opts);\n\n var force = blob.type === \"application/octet-stream\";\n var isSafari =\n /constructor/i.test(_global.HTMLElement) || _global.safari;\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n\n if (\n (isChromeIOS || (force && isSafari)) &&\n typeof FileReader === \"object\"\n ) {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader();\n reader.onloadend = function() {\n var url = reader.result;\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n if (popup) popup.location.href = url;\n else location = url;\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n } else {\n var URL = _global.URL || _global.webkitURL;\n var url = URL.createObjectURL(blob);\n if (popup) popup.location = url;\n else location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function() {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n });\n\nexport { saveAs };\n","import { globalObject } from \"./globalObject.js\";\n\nvar atob, btoa;\n\n(function() {\n atob = globalObject.atob.bind(globalObject);\n btoa = globalObject.btoa.bind(globalObject);\n return;\n\n})();\n\nexport { atob, btoa };\n","/**\n * A class to parse color values\n * @author Stoyan Stefanov \n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */\n\nfunction RGBColor(color_string) {\n color_string = color_string || \"\";\n this.ok = false;\n\n // strip any leading #\n if (color_string.charAt(0) == \"#\") {\n // remove # if any\n color_string = color_string.substr(1, 6);\n }\n\n color_string = color_string.replace(/ /g, \"\");\n color_string = color_string.toLowerCase();\n\n var channels;\n\n // before getting into regexps, try simple matches\n // and overwrite the input\n var simple_colors = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"00ffff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000000\",\n blanchedalmond: \"ffebcd\",\n blue: \"0000ff\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"00ffff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dodgerblue: \"1e90ff\",\n feldspar: \"d19275\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"ff00ff\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgrey: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslateblue: \"8470ff\",\n lightslategray: \"778899\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"00ff00\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"ff00ff\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"d87093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n red: \"ff0000\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n violetred: \"d02090\",\n wheat: \"f5deb3\",\n white: \"ffffff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ffff00\",\n yellowgreen: \"9acd32\"\n };\n color_string = simple_colors[color_string] || color_string;\n\n // array of color definition objects\n var color_defs = [\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n example: [\"rgb(123, 234, 45)\", \"rgb(255,234,245)\"],\n process: function(bits) {\n return [parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3])];\n }\n },\n {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n example: [\"#00ff00\", \"336699\"],\n process: function(bits) {\n return [\n parseInt(bits[1], 16),\n parseInt(bits[2], 16),\n parseInt(bits[3], 16)\n ];\n }\n },\n {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n example: [\"#fb0\", \"f0f\"],\n process: function(bits) {\n return [\n parseInt(bits[1] + bits[1], 16),\n parseInt(bits[2] + bits[2], 16),\n parseInt(bits[3] + bits[3], 16)\n ];\n }\n }\n ];\n\n // search through the definitions to find a match\n for (var i = 0; i < color_defs.length; i++) {\n var re = color_defs[i].re;\n var processor = color_defs[i].process;\n var bits = re.exec(color_string);\n if (bits) {\n channels = processor(bits);\n this.r = channels[0];\n this.g = channels[1];\n this.b = channels[2];\n this.ok = true;\n }\n }\n\n // validate/cleanup values\n this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r;\n this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g;\n this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b;\n\n // some getters\n this.toRGB = function() {\n return \"rgb(\" + this.r + \", \" + this.g + \", \" + this.b + \")\";\n };\n this.toHex = function() {\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n if (r.length == 1) r = \"0\" + r;\n if (g.length == 1) g = \"0\" + g;\n if (b.length == 1) b = \"0\" + b;\n return \"#\" + r + g + b;\n };\n}\n\nexport { RGBColor };\n","/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\n\nfunction md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a = ff(a, b, c, d, k[0], 7, -680876936);\n d = ff(d, a, b, c, k[1], 12, -389564586);\n c = ff(c, d, a, b, k[2], 17, 606105819);\n b = ff(b, c, d, a, k[3], 22, -1044525330);\n a = ff(a, b, c, d, k[4], 7, -176418897);\n d = ff(d, a, b, c, k[5], 12, 1200080426);\n c = ff(c, d, a, b, k[6], 17, -1473231341);\n b = ff(b, c, d, a, k[7], 22, -45705983);\n a = ff(a, b, c, d, k[8], 7, 1770035416);\n d = ff(d, a, b, c, k[9], 12, -1958414417);\n c = ff(c, d, a, b, k[10], 17, -42063);\n b = ff(b, c, d, a, k[11], 22, -1990404162);\n a = ff(a, b, c, d, k[12], 7, 1804603682);\n d = ff(d, a, b, c, k[13], 12, -40341101);\n c = ff(c, d, a, b, k[14], 17, -1502002290);\n b = ff(b, c, d, a, k[15], 22, 1236535329);\n\n a = gg(a, b, c, d, k[1], 5, -165796510);\n d = gg(d, a, b, c, k[6], 9, -1069501632);\n c = gg(c, d, a, b, k[11], 14, 643717713);\n b = gg(b, c, d, a, k[0], 20, -373897302);\n a = gg(a, b, c, d, k[5], 5, -701558691);\n d = gg(d, a, b, c, k[10], 9, 38016083);\n c = gg(c, d, a, b, k[15], 14, -660478335);\n b = gg(b, c, d, a, k[4], 20, -405537848);\n a = gg(a, b, c, d, k[9], 5, 568446438);\n d = gg(d, a, b, c, k[14], 9, -1019803690);\n c = gg(c, d, a, b, k[3], 14, -187363961);\n b = gg(b, c, d, a, k[8], 20, 1163531501);\n a = gg(a, b, c, d, k[13], 5, -1444681467);\n d = gg(d, a, b, c, k[2], 9, -51403784);\n c = gg(c, d, a, b, k[7], 14, 1735328473);\n b = gg(b, c, d, a, k[12], 20, -1926607734);\n\n a = hh(a, b, c, d, k[5], 4, -378558);\n d = hh(d, a, b, c, k[8], 11, -2022574463);\n c = hh(c, d, a, b, k[11], 16, 1839030562);\n b = hh(b, c, d, a, k[14], 23, -35309556);\n a = hh(a, b, c, d, k[1], 4, -1530992060);\n d = hh(d, a, b, c, k[4], 11, 1272893353);\n c = hh(c, d, a, b, k[7], 16, -155497632);\n b = hh(b, c, d, a, k[10], 23, -1094730640);\n a = hh(a, b, c, d, k[13], 4, 681279174);\n d = hh(d, a, b, c, k[0], 11, -358537222);\n c = hh(c, d, a, b, k[3], 16, -722521979);\n b = hh(b, c, d, a, k[6], 23, 76029189);\n a = hh(a, b, c, d, k[9], 4, -640364487);\n d = hh(d, a, b, c, k[12], 11, -421815835);\n c = hh(c, d, a, b, k[15], 16, 530742520);\n b = hh(b, c, d, a, k[2], 23, -995338651);\n\n a = ii(a, b, c, d, k[0], 6, -198630844);\n d = ii(d, a, b, c, k[7], 10, 1126891415);\n c = ii(c, d, a, b, k[14], 15, -1416354905);\n b = ii(b, c, d, a, k[5], 21, -57434055);\n a = ii(a, b, c, d, k[12], 6, 1700485571);\n d = ii(d, a, b, c, k[3], 10, -1894986606);\n c = ii(c, d, a, b, k[10], 15, -1051523);\n b = ii(b, c, d, a, k[1], 21, -2054922799);\n a = ii(a, b, c, d, k[8], 6, 1873313359);\n d = ii(d, a, b, c, k[15], 10, -30611744);\n c = ii(c, d, a, b, k[6], 15, -1560198380);\n b = ii(b, c, d, a, k[13], 21, 1309151649);\n a = ii(a, b, c, d, k[4], 6, -145523070);\n d = ii(d, a, b, c, k[11], 10, -1120210379);\n c = ii(c, d, a, b, k[2], 15, 718787259);\n b = ii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = add32(a, x[0]);\n x[1] = add32(b, x[1]);\n x[2] = add32(c, x[2]);\n x[3] = add32(d, x[3]);\n}\n\nfunction cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n}\n\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\n\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\n\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nfunction md51(s) {\n // txt = '';\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i;\n for (i = 64; i <= s.length; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < s.length; i++)\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i++) tail[i] = 0;\n }\n tail[14] = n * 8;\n md5cycle(state, tail);\n return state;\n}\n\n/* there needs to be support for Unicode here,\n * unless we pretend that we can redefine the MD-5\n * algorithm for multi-byte characters (perhaps\n * by adding every four 16-bit characters and\n * shortening the sum to 32 bits). Otherwise\n * I suggest performing MD-5 as if every character\n * was two bytes--e.g., 0040 0025 = @%--but then\n * how will an ordinary MD-5 sum be matched?\n * There is no way to standardize text to something\n * like UTF-8 before transformation; speed cost is\n * utterly prohibitive. The JavaScript standard\n * itself needs to look at this: it should start\n * providing access to strings as preformed UTF-8\n * 8-bit unsigned value arrays.\n */\nfunction md5blk(s) {\n /* I figured global was faster. */\n var md5blks = [],\n i; /* Andy King said do it this way. */\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n s.charCodeAt(i) +\n (s.charCodeAt(i + 1) << 8) +\n (s.charCodeAt(i + 2) << 16) +\n (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n}\n\nvar hex_chr = \"0123456789abcdef\".split(\"\");\n\nfunction rhex(n) {\n var s = \"\",\n j = 0;\n for (; j < 4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0f] + hex_chr[(n >> (j * 8)) & 0x0f];\n return s;\n}\n\nfunction hex(x) {\n for (var i = 0; i < x.length; i++) x[i] = rhex(x[i]);\n return x.join(\"\");\n}\n\n// Converts a 4-byte number to byte string\nfunction singleToByteString(n) {\n return String.fromCharCode(\n (n & 0xff) >> 0,\n (n & 0xff00) >> 8,\n (n & 0xff0000) >> 16,\n (n & 0xff000000) >> 24\n );\n}\n\n// Converts an array of numbers to a byte string\nfunction toByteString(x) {\n return x.map(singleToByteString).join(\"\");\n}\n\n// Returns the MD5 hash as a byte string\nfunction md5Bin(s) {\n return toByteString(md51(s));\n}\n\n// Returns MD5 hash as a hex string\nfunction md5(s) {\n return hex(md51(s));\n}\n\nvar md5Check = md5(\"hello\") != \"5d41402abc4b2a76b9719d911017c592\";\n\nfunction add32(a, b) {\n if (md5Check) {\n /* if the md5Check does not match\n the expected value, we're dealing\n with an old browser and need\n this function. */\n var lsw = (a & 0xffff) + (b & 0xffff),\n msw = (a >> 16) + (b >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n } else {\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n return (a + b) & 0xffffffff;\n }\n}\n\nexport { md5, md5Bin };\n","/**\r\n * @license\r\n * FPDF is released under a permissive license: there is no usage restriction.\r\n * You may embed it freely in your application (commercial or not), with or\r\n * without modifications.\r\n *\r\n * Reference: http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nfunction repeat(str, num) {\r\n return new Array(num + 1).join(str);\r\n}\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name rc4\r\n * @function\r\n * @param {string} key Byte string of encryption key\r\n * @param {string} data Byte string of data to be encrypted\r\n * @returns {string} Encrypted string\r\n */\r\nfunction rc4(key, data) {\r\n var lastKey, lastState;\r\n if (key !== lastKey) {\r\n var k = repeat(key, ((256 / key.length) >> 0) + 1);\r\n var state = [];\r\n for (var i = 0; i < 256; i++) {\r\n state[i] = i;\r\n }\r\n var j = 0;\r\n for (var i = 0; i < 256; i++) {\r\n var t = state[i];\r\n j = (j + t + k.charCodeAt(i)) % 256;\r\n state[i] = state[j];\r\n state[j] = t;\r\n }\r\n lastKey = key;\r\n lastState = state;\r\n } else {\r\n state = lastState;\r\n }\r\n var length = data.length;\r\n var a = 0;\r\n var b = 0;\r\n var out = \"\";\r\n for (var i = 0; i < length; i++) {\r\n a = (a + 1) % 256;\r\n t = state[a];\r\n b = (b + t) % 256;\r\n state[a] = state[b];\r\n state[b] = t;\r\n k = state[(state[a] + state[b]) % 256];\r\n out += String.fromCharCode(data.charCodeAt(i) ^ k);\r\n }\r\n return out;\r\n}\r\n\r\nexport { rc4 };\r\n","/**\r\n * @license\r\n * Licensed under the MIT License.\r\n * http://opensource.org/licenses/mit-license\r\n * Author: Owen Leong (@owenl131)\r\n * Date: 15 Oct 2020\r\n * References:\r\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\r\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\r\n * http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nimport { md5Bin } from \"./md5.js\";\r\nimport { rc4 } from \"./rc4.js\";\r\n\r\nvar permissionOptions = {\r\n print: 4,\r\n modify: 8,\r\n copy: 16,\r\n \"annot-forms\": 32\r\n};\r\n\r\n/**\r\n * Initializes encryption settings\r\n *\r\n * @name constructor\r\n * @function\r\n * @param {Array} permissions Permissions allowed for user, \"print\", \"modify\", \"copy\" and \"annot-forms\".\r\n * @param {String} userPassword Permissions apply to this user. Leaving this empty means the document\r\n * is not password protected but viewer has the above permissions.\r\n * @param {String} ownerPassword Owner has full functionalities to the file.\r\n * @param {String} fileId As hex string, should be same as the file ID in the trailer.\r\n * @example\r\n * var security = new PDFSecurity([\"print\"])\r\n */\r\nfunction PDFSecurity(permissions, userPassword, ownerPassword, fileId) {\r\n this.v = 1; // algorithm 1, future work can add in more recent encryption schemes\r\n this.r = 2; // revision 2\r\n\r\n // set flags for what functionalities the user can access\r\n let protection = 192;\r\n permissions.forEach(function(perm) {\r\n if (typeof permissionOptions.perm !== \"undefined\") {\r\n throw new Error(\"Invalid permission: \" + perm);\r\n }\r\n protection += permissionOptions[perm];\r\n });\r\n\r\n // padding is used to pad the passwords to 32 bytes, also is hashed and stored in the final PDF\r\n this.padding =\r\n \"\\x28\\xBF\\x4E\\x5E\\x4E\\x75\\x8A\\x41\\x64\\x00\\x4E\\x56\\xFF\\xFA\\x01\\x08\" +\r\n \"\\x2E\\x2E\\x00\\xB6\\xD0\\x68\\x3E\\x80\\x2F\\x0C\\xA9\\xFE\\x64\\x53\\x69\\x7A\";\r\n let paddedUserPassword = (userPassword + this.padding).substr(0, 32);\r\n let paddedOwnerPassword = (ownerPassword + this.padding).substr(0, 32);\r\n\r\n this.O = this.processOwnerPassword(paddedUserPassword, paddedOwnerPassword);\r\n this.P = -((protection ^ 255) + 1);\r\n this.encryptionKey = md5Bin(\r\n paddedUserPassword +\r\n this.O +\r\n this.lsbFirstWord(this.P) +\r\n this.hexToBytes(fileId)\r\n ).substr(0, 5);\r\n this.U = rc4(this.encryptionKey, this.padding);\r\n}\r\n\r\n/**\r\n * Breaks down a 4-byte number into its individual bytes, with the least significant bit first\r\n *\r\n * @name lsbFirstWord\r\n * @function\r\n * @param {number} data 32-bit number\r\n * @returns {Array}\r\n */\r\nPDFSecurity.prototype.lsbFirstWord = function(data) {\r\n return String.fromCharCode(\r\n (data >> 0) & 0xff,\r\n (data >> 8) & 0xff,\r\n (data >> 16) & 0xff,\r\n (data >> 24) & 0xff\r\n );\r\n};\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name toHexString\r\n * @function\r\n * @param {String} byteString Byte string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.toHexString = function(byteString) {\r\n return byteString\r\n .split(\"\")\r\n .map(function(byte) {\r\n return (\"0\" + (byte.charCodeAt(0) & 0xff).toString(16)).slice(-2);\r\n })\r\n .join(\"\");\r\n};\r\n\r\n/**\r\n * Converts a hex string to a byte string\r\n *\r\n * @name hexToBytes\r\n * @function\r\n * @param {String} hex Hex string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.hexToBytes = function(hex) {\r\n for (var bytes = [], c = 0; c < hex.length; c += 2)\r\n bytes.push(String.fromCharCode(parseInt(hex.substr(c, 2), 16)));\r\n return bytes.join(\"\");\r\n};\r\n\r\n/**\r\n * Computes the 'O' field in the encryption dictionary\r\n *\r\n * @name processOwnerPassword\r\n * @function\r\n * @param {String} paddedUserPassword Byte string of padded user password\r\n * @param {String} paddedOwnerPassword Byte string of padded owner password\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.processOwnerPassword = function(\r\n paddedUserPassword,\r\n paddedOwnerPassword\r\n) {\r\n let key = md5Bin(paddedOwnerPassword).substr(0, 5);\r\n return rc4(key, paddedUserPassword);\r\n};\r\n\r\n/**\r\n * Returns an encryptor function which can take in a byte string and returns the encrypted version\r\n *\r\n * @name encryptor\r\n * @function\r\n * @param {number} objectId\r\n * @param {number} generation Not sure what this is for, you can set it to 0\r\n * @returns {Function}\r\n * @example\r\n * out(\"stream\");\r\n * encryptor = security.encryptor(object.id, 0);\r\n * out(encryptor(data));\r\n * out(\"endstream\");\r\n */\r\nPDFSecurity.prototype.encryptor = function(objectId, generation) {\r\n let key = md5Bin(\r\n this.encryptionKey +\r\n String.fromCharCode(\r\n objectId & 0xff,\r\n (objectId >> 8) & 0xff,\r\n (objectId >> 16) & 0xff,\r\n generation & 0xff,\r\n (generation >> 8) & 0xff\r\n )\r\n ).substr(0, 10);\r\n return function(data) {\r\n return rc4(key, data);\r\n };\r\n};\r\n\r\nexport { PDFSecurity };\r\n","/**\n * Convert string to `PDF Name Object`.\n * Detail: PDF Reference 1.3 - Chapter 3.2.4 Name Object\n * @param str\n */\nfunction toPDFName(str) {\n // eslint-disable-next-line no-control-regex\n if (/[^\\u0000-\\u00ff]/.test(str)) {\n // non ascii string\n throw new Error(\n \"Invalid PDF Name Object: \" + str + \", Only accept ASCII characters.\"\n );\n }\n var result = \"\",\n strLength = str.length;\n for (var i = 0; i < strLength; i++) {\n var charCode = str.charCodeAt(i);\n if (\n charCode < 0x21 ||\n charCode === 0x23 /* # */ ||\n charCode === 0x25 /* % */ ||\n charCode === 0x28 /* ( */ ||\n charCode === 0x29 /* ) */ ||\n charCode === 0x2f /* / */ ||\n charCode === 0x3c /* < */ ||\n charCode === 0x3e /* > */ ||\n charCode === 0x5b /* [ */ ||\n charCode === 0x5d /* ] */ ||\n charCode === 0x7b /* { */ ||\n charCode === 0x7d /* } */ ||\n charCode > 0x7e\n ) {\n // Char CharCode hexStr paddingHexStr Result\n // \"\\t\" 9 9 09 #09\n // \" \" 32 20 20 #20\n // \"©\" 169 a9 a9 #a9\n var hexStr = charCode.toString(16),\n paddingHexStr = (\"0\" + hexStr).slice(-2);\n\n result += \"#\" + paddingHexStr;\n } else {\n // Other ASCII printable characters between 0x21 <= X <= 0x7e\n result += str[i];\n }\n }\n return result;\n}\n\nexport { toPDFName };\n","/* eslint-disable no-console */\r\n\r\nimport { saveAs } from \"./libs/FileSaver.js\";\r\nimport { globalObject } from \"./libs/globalObject.js\";\r\nimport { RGBColor } from \"./libs/rgbcolor.js\";\r\nimport { btoa } from \"./libs/AtobBtoa.js\";\r\nimport { console } from \"./libs/console.js\";\r\nimport { PDFSecurity } from \"./libs/pdfsecurity.js\";\r\nimport { toPDFName } from \"./libs/pdfname.js\";\r\n/**\r\n * jsPDF's Internal PubSub Implementation.\r\n * Backward compatible rewritten on 2014 by\r\n * Diego Casorran, https://github.com/diegocr\r\n *\r\n * @class\r\n * @name PubSub\r\n * @ignore\r\n */\r\nfunction PubSub(context) {\r\n if (typeof context !== \"object\") {\r\n throw new Error(\r\n \"Invalid Context passed to initialize PubSub (jsPDF-module)\"\r\n );\r\n }\r\n var topics = {};\r\n\r\n this.subscribe = function(topic, callback, once) {\r\n once = once || false;\r\n if (\r\n typeof topic !== \"string\" ||\r\n typeof callback !== \"function\" ||\r\n typeof once !== \"boolean\"\r\n ) {\r\n throw new Error(\r\n \"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\"\r\n );\r\n }\r\n\r\n if (!topics.hasOwnProperty(topic)) {\r\n topics[topic] = {};\r\n }\r\n\r\n var token = Math.random().toString(35);\r\n topics[topic][token] = [callback, !!once];\r\n\r\n return token;\r\n };\r\n\r\n this.unsubscribe = function(token) {\r\n for (var topic in topics) {\r\n if (topics[topic][token]) {\r\n delete topics[topic][token];\r\n if (Object.keys(topics[topic]).length === 0) {\r\n delete topics[topic];\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n this.publish = function(topic) {\r\n if (topics.hasOwnProperty(topic)) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n tokens = [];\r\n\r\n for (var token in topics[topic]) {\r\n var sub = topics[topic][token];\r\n try {\r\n sub[0].apply(context, args);\r\n } catch (ex) {\r\n if (globalObject.console) {\r\n console.error(\"jsPDF PubSub Error\", ex.message, ex);\r\n }\r\n }\r\n if (sub[1]) tokens.push(token);\r\n }\r\n if (tokens.length) tokens.forEach(this.unsubscribe);\r\n }\r\n };\r\n\r\n this.getTopics = function() {\r\n return topics;\r\n };\r\n}\r\n\r\nfunction GState(parameters) {\r\n if (!(this instanceof GState)) {\r\n return new GState(parameters);\r\n }\r\n\r\n /**\r\n * @name GState#opacity\r\n * @type {any}\r\n */\r\n /**\r\n * @name GState#stroke-opacity\r\n * @type {any}\r\n */\r\n var supported = \"opacity,stroke-opacity\".split(\",\");\r\n for (var p in parameters) {\r\n if (parameters.hasOwnProperty(p) && supported.indexOf(p) >= 0) {\r\n this[p] = parameters[p];\r\n }\r\n }\r\n /**\r\n * @name GState#id\r\n * @type {string}\r\n */\r\n this.id = \"\"; // set by addGState()\r\n /**\r\n * @name GState#objectNumber\r\n * @type {number}\r\n */\r\n this.objectNumber = -1; // will be set by putGState()\r\n}\r\n\r\nGState.prototype.equals = function equals(other) {\r\n var ignore = \"id,objectNumber,equals\";\r\n var p;\r\n if (!other || typeof other !== typeof this) return false;\r\n var count = 0;\r\n for (p in this) {\r\n if (ignore.indexOf(p) >= 0) continue;\r\n if (this.hasOwnProperty(p) && !other.hasOwnProperty(p)) return false;\r\n if (this[p] !== other[p]) return false;\r\n count++;\r\n }\r\n for (p in other) {\r\n if (other.hasOwnProperty(p) && ignore.indexOf(p) < 0) count--;\r\n }\r\n return count === 0;\r\n};\r\n\r\nfunction Pattern(gState, matrix) {\r\n this.gState = gState;\r\n this.matrix = matrix;\r\n\r\n this.id = \"\"; // set by addPattern()\r\n this.objectNumber = -1; // will be set by putPattern()\r\n}\r\n\r\nfunction ShadingPattern(type, coords, colors, gState, matrix) {\r\n if (!(this instanceof ShadingPattern)) {\r\n return new ShadingPattern(type, coords, colors, gState, matrix);\r\n }\r\n\r\n // see putPattern() for information how they are realized\r\n this.type = type === \"axial\" ? 2 : 3;\r\n this.coords = coords;\r\n this.colors = colors;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\nfunction TilingPattern(boundingBox, xStep, yStep, gState, matrix) {\r\n if (!(this instanceof TilingPattern)) {\r\n return new TilingPattern(boundingBox, xStep, yStep, gState, matrix);\r\n }\r\n\r\n this.boundingBox = boundingBox;\r\n this.xStep = xStep;\r\n this.yStep = yStep;\r\n\r\n this.stream = \"\"; // set by endTilingPattern();\r\n\r\n this.cloneIndex = 0;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\n/**\r\n * Creates new jsPDF document object instance.\r\n * @name jsPDF\r\n * @class\r\n * @param {Object} [options] - Collection of settings initializing the jsPDF-instance\r\n * @param {string} [options.orientation=portrait] - Orientation of the first page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" or \"l\").
\r\n * @param {string} [options.unit=mm] Measurement unit (base unit) to be used when coordinates are specified.
\r\n * Possible values are \"pt\" (points), \"mm\", \"cm\", \"in\", \"px\", \"pc\", \"em\" or \"ex\". Note that in order to get the correct scaling for \"px\"\r\n * units, you need to enable the hotfix \"px_scaling\" by setting options.hotfixes = [\"px_scaling\"].\r\n * @param {string/Array} [options.format=a4] The format of the first page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param {boolean} [options.putOnlyUsedFonts=false] Only put fonts into the PDF, which were used.\r\n * @param {boolean} [options.compress=false] Compress the generated PDF.\r\n * @param {number} [options.precision=16] Precision of the element-positions.\r\n * @param {number} [options.userUnit=1.0] Not to be confused with the base unit. Please inform yourself before you use it.\r\n * @param {string[]} [options.hotfixes] An array of strings to enable hotfixes such as correct pixel scaling.\r\n * @param {Object} [options.encryption]\r\n * @param {string} [options.encryption.userPassword] Password for the user bound by the given permissions list.\r\n * @param {string} [options.encryption.ownerPassword] Both userPassword and ownerPassword should be set for proper authentication.\r\n * @param {string[]} [options.encryption.userPermissions] Array of permissions \"print\", \"modify\", \"copy\", \"annot-forms\", accessible by the user.\r\n * @param {number|\"smart\"} [options.floatPrecision=16]\r\n * @returns {jsPDF} jsPDF-instance\r\n * @description\r\n * ```\r\n * {\r\n * orientation: 'p',\r\n * unit: 'mm',\r\n * format: 'a4',\r\n * putOnlyUsedFonts:true,\r\n * floatPrecision: 16 // or \"smart\", default is 16\r\n * }\r\n * ```\r\n *\r\n * @constructor\r\n */\r\nfunction jsPDF(options) {\r\n var orientation = typeof arguments[0] === \"string\" ? arguments[0] : \"p\";\r\n var unit = arguments[1];\r\n var format = arguments[2];\r\n var compressPdf = arguments[3];\r\n var filters = [];\r\n var userUnit = 1.0;\r\n var precision;\r\n var floatPrecision = 16;\r\n var defaultPathOperation = \"S\";\r\n var encryptionOptions = null;\r\n\r\n options = options || {};\r\n\r\n if (typeof options === \"object\") {\r\n orientation = options.orientation;\r\n unit = options.unit || unit;\r\n format = options.format || format;\r\n compressPdf = options.compress || options.compressPdf || compressPdf;\r\n encryptionOptions = options.encryption || null;\r\n if (encryptionOptions !== null) {\r\n encryptionOptions.userPassword = encryptionOptions.userPassword || \"\";\r\n encryptionOptions.ownerPassword = encryptionOptions.ownerPassword || \"\";\r\n encryptionOptions.userPermissions =\r\n encryptionOptions.userPermissions || [];\r\n }\r\n userUnit =\r\n typeof options.userUnit === \"number\" ? Math.abs(options.userUnit) : 1.0;\r\n if (typeof options.precision !== \"undefined\") {\r\n precision = options.precision;\r\n }\r\n if (typeof options.floatPrecision !== \"undefined\") {\r\n floatPrecision = options.floatPrecision;\r\n }\r\n defaultPathOperation = options.defaultPathOperation || \"S\";\r\n }\r\n\r\n filters =\r\n options.filters || (compressPdf === true ? [\"FlateEncode\"] : filters);\r\n\r\n unit = unit || \"mm\";\r\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\r\n var putOnlyUsedFonts = options.putOnlyUsedFonts || false;\r\n var usedFonts = {};\r\n\r\n var API = {\r\n internal: {},\r\n __private__: {}\r\n };\r\n\r\n API.__private__.PubSub = PubSub;\r\n\r\n var pdfVersion = \"1.3\";\r\n var getPdfVersion = (API.__private__.getPdfVersion = function() {\r\n return pdfVersion;\r\n });\r\n\r\n API.__private__.setPdfVersion = function(value) {\r\n pdfVersion = value;\r\n };\r\n\r\n // Size in pt of various paper formats\r\n var pageFormats = {\r\n a0: [2383.94, 3370.39],\r\n a1: [1683.78, 2383.94],\r\n a2: [1190.55, 1683.78],\r\n a3: [841.89, 1190.55],\r\n a4: [595.28, 841.89],\r\n a5: [419.53, 595.28],\r\n a6: [297.64, 419.53],\r\n a7: [209.76, 297.64],\r\n a8: [147.4, 209.76],\r\n a9: [104.88, 147.4],\r\n a10: [73.7, 104.88],\r\n b0: [2834.65, 4008.19],\r\n b1: [2004.09, 2834.65],\r\n b2: [1417.32, 2004.09],\r\n b3: [1000.63, 1417.32],\r\n b4: [708.66, 1000.63],\r\n b5: [498.9, 708.66],\r\n b6: [354.33, 498.9],\r\n b7: [249.45, 354.33],\r\n b8: [175.75, 249.45],\r\n b9: [124.72, 175.75],\r\n b10: [87.87, 124.72],\r\n c0: [2599.37, 3676.54],\r\n c1: [1836.85, 2599.37],\r\n c2: [1298.27, 1836.85],\r\n c3: [918.43, 1298.27],\r\n c4: [649.13, 918.43],\r\n c5: [459.21, 649.13],\r\n c6: [323.15, 459.21],\r\n c7: [229.61, 323.15],\r\n c8: [161.57, 229.61],\r\n c9: [113.39, 161.57],\r\n c10: [79.37, 113.39],\r\n dl: [311.81, 623.62],\r\n letter: [612, 792],\r\n \"government-letter\": [576, 756],\r\n legal: [612, 1008],\r\n \"junior-legal\": [576, 360],\r\n ledger: [1224, 792],\r\n tabloid: [792, 1224],\r\n \"credit-card\": [153, 243]\r\n };\r\n\r\n API.__private__.getPageFormats = function() {\r\n return pageFormats;\r\n };\r\n\r\n var getPageFormat = (API.__private__.getPageFormat = function(value) {\r\n return pageFormats[value];\r\n });\r\n\r\n format = format || \"a4\";\r\n\r\n var ApiMode = {\r\n COMPAT: \"compat\",\r\n ADVANCED: \"advanced\"\r\n };\r\n var apiMode = ApiMode.COMPAT;\r\n\r\n function advancedAPI() {\r\n // prepend global change of basis matrix\r\n // (Now, instead of converting every coordinate to the pdf coordinate system, we apply a matrix\r\n // that does this job for us (however, texts, images and similar objects must be drawn bottom up))\r\n this.saveGraphicsState();\r\n out(\r\n new Matrix(\r\n scaleFactor,\r\n 0,\r\n 0,\r\n -scaleFactor,\r\n 0,\r\n getPageHeight() * scaleFactor\r\n ).toString() + \" cm\"\r\n );\r\n this.setFontSize(this.getFontSize() / scaleFactor);\r\n\r\n // The default in MrRio's implementation is \"S\" (stroke), whereas the default in the yWorks implementation\r\n // was \"n\" (none). Although this has nothing to do with transforms, we should use the API switch here.\r\n defaultPathOperation = \"n\";\r\n\r\n apiMode = ApiMode.ADVANCED;\r\n }\r\n\r\n function compatAPI() {\r\n this.restoreGraphicsState();\r\n defaultPathOperation = \"S\";\r\n apiMode = ApiMode.COMPAT;\r\n }\r\n\r\n /**\r\n * @function combineFontStyleAndFontWeight\r\n * @param {string} fontStyle Fontstyle or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @returns {string}\r\n * @private\r\n */\r\n var combineFontStyleAndFontWeight = (API.__private__.combineFontStyleAndFontWeight = function(\r\n fontStyle,\r\n fontWeight\r\n ) {\r\n if (\r\n (fontStyle == \"bold\" && fontWeight == \"normal\") ||\r\n (fontStyle == \"bold\" && fontWeight == 400) ||\r\n (fontStyle == \"normal\" && fontWeight == \"italic\") ||\r\n (fontStyle == \"bold\" && fontWeight == \"italic\")\r\n ) {\r\n throw new Error(\"Invalid Combination of fontweight and fontstyle\");\r\n }\r\n if (fontWeight) {\r\n fontStyle =\r\n fontWeight == 400 || fontWeight === \"normal\"\r\n ? fontStyle === \"italic\"\r\n ? \"italic\"\r\n : \"normal\"\r\n : (fontWeight == 700 || fontWeight === \"bold\") &&\r\n fontStyle === \"normal\"\r\n ? \"bold\"\r\n : (fontWeight == 700 ? \"bold\" : fontWeight) + \"\" + fontStyle;\r\n }\r\n return fontStyle;\r\n });\r\n\r\n /**\r\n * @callback ApiSwitchBody\r\n * @param {jsPDF} pdf\r\n */\r\n\r\n /**\r\n * For compatibility reasons jsPDF offers two API modes which differ in the way they convert between the the usual\r\n * screen coordinates and the PDF coordinate system.\r\n * - \"compat\": Offers full compatibility across all plugins but does not allow arbitrary transforms\r\n * - \"advanced\": Allows arbitrary transforms and more advanced features like pattern fills. Some plugins might\r\n * not support this mode, though.\r\n * Initial mode is \"compat\".\r\n *\r\n * You can either provide a callback to the body argument, which means that jsPDF will automatically switch back to\r\n * the original API mode afterwards; or you can omit the callback and switch back manually using {@link compatAPI}.\r\n *\r\n * Note, that the calls to {@link saveGraphicsState} and {@link restoreGraphicsState} need to be balanced within the\r\n * callback or between calls of this method and its counterpart {@link compatAPI}. Calls to {@link beginFormObject}\r\n * or {@link beginTilingPattern} need to be closed by their counterparts before switching back to \"compat\" API mode.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name advancedAPI\r\n */\r\n API.advancedAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.COMPAT;\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Switches to \"compat\" API mode. See {@link advancedAPI} for more details.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @return {jsPDF}\r\n * @memberof jsPDF#\r\n * @name compatApi\r\n */\r\n API.compatAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.ADVANCED;\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * @return {boolean} True iff the current API mode is \"advanced\". See {@link advancedAPI}.\r\n * @memberof jsPDF#\r\n * @name isAdvancedAPI\r\n */\r\n API.isAdvancedAPI = function() {\r\n return apiMode === ApiMode.ADVANCED;\r\n };\r\n\r\n var advancedApiModeTrap = function(methodName) {\r\n if (apiMode !== ApiMode.ADVANCED) {\r\n throw new Error(\r\n methodName +\r\n \" is only available in 'advanced' API mode. \" +\r\n \"You need to call advancedAPI() first.\"\r\n );\r\n }\r\n };\r\n\r\n var roundToPrecision = (API.roundToPrecision = API.__private__.roundToPrecision = function(\r\n number,\r\n parmPrecision\r\n ) {\r\n var tmpPrecision = precision || parmPrecision;\r\n if (isNaN(number) || isNaN(tmpPrecision)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");\r\n }\r\n return number.toFixed(tmpPrecision).replace(/0+$/, \"\");\r\n });\r\n\r\n // high precision float\r\n var hpf;\r\n if (typeof floatPrecision === \"number\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, floatPrecision);\r\n };\r\n } else if (floatPrecision === \"smart\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n if (number > -1 && number < 1) {\r\n return roundToPrecision(number, 16);\r\n } else {\r\n return roundToPrecision(number, 5);\r\n }\r\n };\r\n } else {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, 16);\r\n };\r\n }\r\n var f2 = (API.f2 = API.__private__.f2 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f2\");\r\n }\r\n return roundToPrecision(number, 2);\r\n });\r\n\r\n var f3 = (API.__private__.f3 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f3\");\r\n }\r\n return roundToPrecision(number, 3);\r\n });\r\n\r\n var scale = (API.scale = API.__private__.scale = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.scale\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return number * scaleFactor;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return number;\r\n }\r\n });\r\n\r\n var transformY = function(y) {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return getPageHeight() - y;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return y;\r\n }\r\n };\r\n\r\n var transformScaleY = function(y) {\r\n return scale(transformY(y));\r\n };\r\n\r\n /**\r\n * @name setPrecision\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} precision\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setPrecision = API.setPrecision = function(value) {\r\n if (typeof parseInt(value, 10) === \"number\") {\r\n precision = parseInt(value, 10);\r\n }\r\n };\r\n\r\n var fileId = \"00000000000000000000000000000000\";\r\n\r\n var getFileId = (API.__private__.getFileId = function() {\r\n return fileId;\r\n });\r\n\r\n var setFileId = (API.__private__.setFileId = function(value) {\r\n if (typeof value !== \"undefined\" && /^[a-fA-F0-9]{32}$/.test(value)) {\r\n fileId = value.toUpperCase();\r\n } else {\r\n fileId = fileId\r\n .split(\"\")\r\n .map(function() {\r\n return \"ABCDEF0123456789\".charAt(Math.floor(Math.random() * 16));\r\n })\r\n .join(\"\");\r\n }\r\n\r\n if (encryptionOptions !== null) {\r\n encryption = new PDFSecurity(\r\n encryptionOptions.userPermissions,\r\n encryptionOptions.userPassword,\r\n encryptionOptions.ownerPassword,\r\n fileId\r\n );\r\n }\r\n return fileId;\r\n });\r\n\r\n /**\r\n * @name setFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} value GUID.\r\n * @returns {jsPDF}\r\n */\r\n API.setFileId = function(value) {\r\n setFileId(value);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n *\r\n * @returns {string} GUID.\r\n */\r\n API.getFileId = function() {\r\n return getFileId();\r\n };\r\n\r\n var creationDate;\r\n\r\n var convertDateToPDFDate = (API.__private__.convertDateToPDFDate = function(\r\n parmDate\r\n ) {\r\n var result = \"\";\r\n var tzoffset = parmDate.getTimezoneOffset(),\r\n tzsign = tzoffset < 0 ? \"+\" : \"-\",\r\n tzhour = Math.floor(Math.abs(tzoffset / 60)),\r\n tzmin = Math.abs(tzoffset % 60),\r\n timeZoneString = [tzsign, padd2(tzhour), \"'\", padd2(tzmin), \"'\"].join(\"\");\r\n\r\n result = [\r\n \"D:\",\r\n parmDate.getFullYear(),\r\n padd2(parmDate.getMonth() + 1),\r\n padd2(parmDate.getDate()),\r\n padd2(parmDate.getHours()),\r\n padd2(parmDate.getMinutes()),\r\n padd2(parmDate.getSeconds()),\r\n timeZoneString\r\n ].join(\"\");\r\n return result;\r\n });\r\n\r\n var convertPDFDateToDate = (API.__private__.convertPDFDateToDate = function(\r\n parmPDFDate\r\n ) {\r\n var year = parseInt(parmPDFDate.substr(2, 4), 10);\r\n var month = parseInt(parmPDFDate.substr(6, 2), 10) - 1;\r\n var date = parseInt(parmPDFDate.substr(8, 2), 10);\r\n var hour = parseInt(parmPDFDate.substr(10, 2), 10);\r\n var minutes = parseInt(parmPDFDate.substr(12, 2), 10);\r\n var seconds = parseInt(parmPDFDate.substr(14, 2), 10);\r\n // var timeZoneHour = parseInt(parmPDFDate.substr(16, 2), 10);\r\n // var timeZoneMinutes = parseInt(parmPDFDate.substr(20, 2), 10);\r\n\r\n var resultingDate = new Date(year, month, date, hour, minutes, seconds, 0);\r\n return resultingDate;\r\n });\r\n\r\n var setCreationDate = (API.__private__.setCreationDate = function(date) {\r\n var tmpCreationDateString;\r\n var regexPDFCreationDate = /^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/;\r\n if (typeof date === \"undefined\") {\r\n date = new Date();\r\n }\r\n\r\n if (date instanceof Date) {\r\n tmpCreationDateString = convertDateToPDFDate(date);\r\n } else if (regexPDFCreationDate.test(date)) {\r\n tmpCreationDateString = date;\r\n } else {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");\r\n }\r\n creationDate = tmpCreationDateString;\r\n return creationDate;\r\n });\r\n\r\n var getCreationDate = (API.__private__.getCreationDate = function(type) {\r\n var result = creationDate;\r\n if (type === \"jsDate\") {\r\n result = convertPDFDateToDate(creationDate);\r\n }\r\n return result;\r\n });\r\n\r\n /**\r\n * @name setCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} date\r\n * @returns {jsPDF}\r\n */\r\n API.setCreationDate = function(date) {\r\n setCreationDate(date);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} type\r\n * @returns {Object}\r\n */\r\n API.getCreationDate = function(type) {\r\n return getCreationDate(type);\r\n };\r\n\r\n var padd2 = (API.__private__.padd2 = function(number) {\r\n return (\"0\" + parseInt(number)).slice(-2);\r\n });\r\n\r\n var padd2Hex = (API.__private__.padd2Hex = function(hexString) {\r\n hexString = hexString.toString();\r\n return (\"00\" + hexString).substr(hexString.length);\r\n });\r\n\r\n var objectNumber = 0; // 'n' Current object number\r\n var offsets = []; // List of offsets. Activated and reset by buildDocument(). Pupulated by various calls buildDocument makes.\r\n var content = [];\r\n var contentLength = 0;\r\n var additionalObjects = [];\r\n\r\n var pages = [];\r\n var currentPage;\r\n var hasCustomDestination = false;\r\n var outputDestination = content;\r\n\r\n var resetDocument = function() {\r\n //reset fields relevant for objectNumber generation and xref.\r\n objectNumber = 0;\r\n contentLength = 0;\r\n content = [];\r\n offsets = [];\r\n additionalObjects = [];\r\n\r\n rootDictionaryObjId = newObjectDeferred();\r\n resourceDictionaryObjId = newObjectDeferred();\r\n };\r\n\r\n API.__private__.setCustomOutputDestination = function(destination) {\r\n hasCustomDestination = true;\r\n outputDestination = destination;\r\n };\r\n var setOutputDestination = function(destination) {\r\n if (!hasCustomDestination) {\r\n outputDestination = destination;\r\n }\r\n };\r\n\r\n API.__private__.resetCustomOutputDestination = function() {\r\n hasCustomDestination = false;\r\n outputDestination = content;\r\n };\r\n\r\n var out = (API.__private__.out = function(string) {\r\n string = string.toString();\r\n contentLength += string.length + 1;\r\n outputDestination.push(string);\r\n\r\n return outputDestination;\r\n });\r\n\r\n var write = (API.__private__.write = function(value) {\r\n return out(\r\n arguments.length === 1\r\n ? value.toString()\r\n : Array.prototype.join.call(arguments, \" \")\r\n );\r\n });\r\n\r\n var getArrayBuffer = (API.__private__.getArrayBuffer = function(data) {\r\n var len = data.length,\r\n ab = new ArrayBuffer(len),\r\n u8 = new Uint8Array(ab);\r\n\r\n while (len--) u8[len] = data.charCodeAt(len);\r\n return ab;\r\n });\r\n\r\n var standardFonts = [\r\n [\"Helvetica\", \"helvetica\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Bold\", \"helvetica\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Oblique\", \"helvetica\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-BoldOblique\", \"helvetica\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Courier\", \"courier\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Courier-Bold\", \"courier\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Courier-Oblique\", \"courier\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Courier-BoldOblique\", \"courier\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Times-Roman\", \"times\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Times-Bold\", \"times\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Times-Italic\", \"times\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Times-BoldItalic\", \"times\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"ZapfDingbats\", \"zapfdingbats\", \"normal\", null],\r\n [\"Symbol\", \"symbol\", \"normal\", null]\r\n ];\r\n\r\n API.__private__.getStandardFonts = function() {\r\n return standardFonts;\r\n };\r\n\r\n var activeFontSize = options.fontSize || 16;\r\n\r\n /**\r\n * Sets font size for upcoming text elements.\r\n *\r\n * @param {number} size Font size in points.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFontSize\r\n */\r\n API.__private__.setFontSize = API.setFontSize = function(size) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n activeFontSize = size / scaleFactor;\r\n } else {\r\n activeFontSize = size;\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets the fontsize for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number}\r\n * @memberof jsPDF#\r\n * @name getFontSize\r\n */\r\n var getFontSize = (API.__private__.getFontSize = API.getFontSize = function() {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return activeFontSize;\r\n } else {\r\n return activeFontSize * scaleFactor;\r\n }\r\n });\r\n\r\n var R2L = options.R2L || false;\r\n\r\n /**\r\n * Set value of R2L functionality.\r\n *\r\n * @param {boolean} value\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setR2L\r\n */\r\n API.__private__.setR2L = API.setR2L = function(value) {\r\n R2L = value;\r\n return this;\r\n };\r\n\r\n /**\r\n * Get value of R2L functionality.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {boolean} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name getR2L\r\n */\r\n API.__private__.getR2L = API.getR2L = function() {\r\n return R2L;\r\n };\r\n\r\n var zoomMode; // default: 1;\r\n\r\n var setZoomMode = (API.__private__.setZoomMode = function(zoom) {\r\n var validZoomModes = [\r\n undefined,\r\n null,\r\n \"fullwidth\",\r\n \"fullheight\",\r\n \"fullpage\",\r\n \"original\"\r\n ];\r\n\r\n if (/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(zoom)) {\r\n zoomMode = zoom;\r\n } else if (!isNaN(zoom)) {\r\n zoomMode = parseInt(zoom, 10);\r\n } else if (validZoomModes.indexOf(zoom) !== -1) {\r\n zoomMode = zoom;\r\n } else {\r\n throw new Error(\r\n 'zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"' +\r\n zoom +\r\n '\" is not recognized.'\r\n );\r\n }\r\n });\r\n\r\n API.__private__.getZoomMode = function() {\r\n return zoomMode;\r\n };\r\n\r\n var pageMode; // default: 'UseOutlines';\r\n var setPageMode = (API.__private__.setPageMode = function(pmode) {\r\n var validPageModes = [\r\n undefined,\r\n null,\r\n \"UseNone\",\r\n \"UseOutlines\",\r\n \"UseThumbs\",\r\n \"FullScreen\"\r\n ];\r\n\r\n if (validPageModes.indexOf(pmode) == -1) {\r\n throw new Error(\r\n 'Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"' +\r\n pmode +\r\n '\" is not recognized.'\r\n );\r\n }\r\n pageMode = pmode;\r\n });\r\n\r\n API.__private__.getPageMode = function() {\r\n return pageMode;\r\n };\r\n\r\n var layoutMode; // default: 'continuous';\r\n var setLayoutMode = (API.__private__.setLayoutMode = function(layout) {\r\n var validLayoutModes = [\r\n undefined,\r\n null,\r\n \"continuous\",\r\n \"single\",\r\n \"twoleft\",\r\n \"tworight\",\r\n \"two\"\r\n ];\r\n\r\n if (validLayoutModes.indexOf(layout) == -1) {\r\n throw new Error(\r\n 'Layout mode must be one of continuous, single, twoleft, tworight. \"' +\r\n layout +\r\n '\" is not recognized.'\r\n );\r\n }\r\n layoutMode = layout;\r\n });\r\n\r\n API.__private__.getLayoutMode = function() {\r\n return layoutMode;\r\n };\r\n\r\n /**\r\n * Set the display mode options of the page like zoom and layout.\r\n *\r\n * @name setDisplayMode\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {integer|String} zoom You can pass an integer or percentage as\r\n * a string. 2 will scale the document up 2x, '200%' will scale up by the\r\n * same amount. You can also set it to 'fullwidth', 'fullheight',\r\n * 'fullpage', or 'original'.\r\n *\r\n * Only certain PDF readers support this, such as Adobe Acrobat.\r\n *\r\n * @param {string} layout Layout mode can be: 'continuous' - this is the\r\n * default continuous scroll. 'single' - the single page mode only shows one\r\n * page at a time. 'twoleft' - two column left mode, first page starts on\r\n * the left, and 'tworight' - pages are laid out in two columns, with the\r\n * first page on the right. This would be used for books.\r\n * @param {string} pmode 'UseOutlines' - it shows the\r\n * outline of the document on the left. 'UseThumbs' - shows thumbnails along\r\n * the left. 'FullScreen' - prompts the user to enter fullscreen mode.\r\n *\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setDisplayMode = API.setDisplayMode = function(\r\n zoom,\r\n layout,\r\n pmode\r\n ) {\r\n setZoomMode(zoom);\r\n setLayoutMode(layout);\r\n setPageMode(pmode);\r\n return this;\r\n };\r\n\r\n var documentProperties = {\r\n title: \"\",\r\n subject: \"\",\r\n author: \"\",\r\n keywords: \"\",\r\n creator: \"\"\r\n };\r\n\r\n API.__private__.getDocumentProperty = function(key) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");\r\n }\r\n return documentProperties[key];\r\n };\r\n\r\n API.__private__.getDocumentProperties = function() {\r\n return documentProperties;\r\n };\r\n\r\n /**\r\n * Adds a properties to the PDF document.\r\n *\r\n * @param {Object} A property_name-to-property_value object structure.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDocumentProperties\r\n */\r\n API.__private__.setDocumentProperties = API.setProperties = API.setDocumentProperties = function(\r\n properties\r\n ) {\r\n // copying only those properties we can render.\r\n for (var property in documentProperties) {\r\n if (documentProperties.hasOwnProperty(property) && properties[property]) {\r\n documentProperties[property] = properties[property];\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n API.__private__.setDocumentProperty = function(key, value) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");\r\n }\r\n return (documentProperties[key] = value);\r\n };\r\n\r\n var fonts = {}; // collection of font objects, where key is fontKey - a dynamically created label for a given font.\r\n var fontmap = {}; // mapping structure fontName > fontStyle > font key - performance layer. See addFont()\r\n var activeFontKey; // will be string representing the KEY of the font as combination of fontName + fontStyle\r\n var fontStateStack = []; //\r\n var patterns = {}; // collection of pattern objects\r\n var patternMap = {}; // see fonts\r\n var gStates = {}; // collection of graphic state objects\r\n var gStatesMap = {}; // see fonts\r\n var activeGState = null;\r\n var scaleFactor; // Scale factor\r\n var page = 0;\r\n var pagesContext = [];\r\n var events = new PubSub(API);\r\n var hotfixes = options.hotfixes || [];\r\n\r\n var renderTargets = {};\r\n var renderTargetMap = {};\r\n var renderTargetStack = [];\r\n var pageX;\r\n var pageY;\r\n var pageMatrix; // only used for FormObjects\r\n\r\n /**\r\n * A matrix object for 2D homogenous transformations:
\r\n * | a b 0 |
\r\n * | c d 0 |
\r\n * | e f 1 |
\r\n * pdf multiplies matrices righthand: v' = v x m1 x m2 x ...\r\n *\r\n * @class\r\n * @name Matrix\r\n * @param {number} sx\r\n * @param {number} shy\r\n * @param {number} shx\r\n * @param {number} sy\r\n * @param {number} tx\r\n * @param {number} ty\r\n * @constructor\r\n */\r\n var Matrix = function(sx, shy, shx, sy, tx, ty) {\r\n if (!(this instanceof Matrix)) {\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n }\r\n\r\n if (isNaN(sx)) sx = 1;\r\n if (isNaN(shy)) shy = 0;\r\n if (isNaN(shx)) shx = 0;\r\n if (isNaN(sy)) sy = 1;\r\n if (isNaN(tx)) tx = 0;\r\n if (isNaN(ty)) ty = 0;\r\n\r\n this._matrix = [sx, shy, shx, sy, tx, ty];\r\n };\r\n\r\n /**\r\n * @name sx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sx\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shy\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shx\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name sy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sy\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name tx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"tx\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ty\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"ty\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"a\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"b\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"c\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"d\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"e\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"f\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name rotation\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"rotation\", {\r\n get: function() {\r\n return Math.atan2(this.shx, this.sx);\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleX\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleX\", {\r\n get: function() {\r\n return this.decompose().scale.sx;\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleY\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleY\", {\r\n get: function() {\r\n return this.decompose().scale.sy;\r\n }\r\n });\r\n\r\n /**\r\n * @name isIdentity\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"isIdentity\", {\r\n get: function() {\r\n if (this.sx !== 1) {\r\n return false;\r\n }\r\n if (this.shy !== 0) {\r\n return false;\r\n }\r\n if (this.shx !== 0) {\r\n return false;\r\n }\r\n if (this.sy !== 1) {\r\n return false;\r\n }\r\n if (this.tx !== 0) {\r\n return false;\r\n }\r\n if (this.ty !== 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n });\r\n\r\n /**\r\n * Join the Matrix Values to a String\r\n *\r\n * @function join\r\n * @param {string} separator Specifies a string to separate each pair of adjacent elements of the array. The separator is converted to a string if necessary. If omitted, the array elements are separated with a comma (\",\"). If separator is an empty string, all elements are joined without any characters in between them.\r\n * @returns {string} A string with all array elements joined.\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.join = function(separator) {\r\n return [this.sx, this.shy, this.shx, this.sy, this.tx, this.ty]\r\n .map(hpf)\r\n .join(separator);\r\n };\r\n\r\n /**\r\n * Multiply the matrix with given Matrix\r\n *\r\n * @function multiply\r\n * @param matrix\r\n * @returns {Matrix}\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.multiply = function(matrix) {\r\n var sx = matrix.sx * this.sx + matrix.shy * this.shx;\r\n var shy = matrix.sx * this.shy + matrix.shy * this.sy;\r\n var shx = matrix.shx * this.sx + matrix.sy * this.shx;\r\n var sy = matrix.shx * this.shy + matrix.sy * this.sy;\r\n var tx = matrix.tx * this.sx + matrix.ty * this.shx + this.tx;\r\n var ty = matrix.tx * this.shy + matrix.ty * this.sy + this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n /**\r\n * @function decompose\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.decompose = function() {\r\n var a = this.sx;\r\n var b = this.shy;\r\n var c = this.shx;\r\n var d = this.sy;\r\n var e = this.tx;\r\n var f = this.ty;\r\n\r\n var scaleX = Math.sqrt(a * a + b * b);\r\n a /= scaleX;\r\n b /= scaleX;\r\n\r\n var shear = a * c + b * d;\r\n c -= a * shear;\r\n d -= b * shear;\r\n\r\n var scaleY = Math.sqrt(c * c + d * d);\r\n c /= scaleY;\r\n d /= scaleY;\r\n shear /= scaleY;\r\n\r\n if (a * d < b * c) {\r\n a = -a;\r\n b = -b;\r\n shear = -shear;\r\n scaleX = -scaleX;\r\n }\r\n\r\n return {\r\n scale: new Matrix(scaleX, 0, 0, scaleY, 0, 0),\r\n translate: new Matrix(1, 0, 0, 1, e, f),\r\n rotate: new Matrix(a, b, -b, a, 0, 0),\r\n skew: new Matrix(1, 0, shear, 1, 0, 0)\r\n };\r\n };\r\n\r\n /**\r\n * @function toString\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.toString = function(parmPrecision) {\r\n return this.join(\" \");\r\n };\r\n\r\n /**\r\n * @function inversed\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.inversed = function() {\r\n var a = this.sx,\r\n b = this.shy,\r\n c = this.shx,\r\n d = this.sy,\r\n e = this.tx,\r\n f = this.ty;\r\n\r\n var quot = 1 / (a * d - b * c);\r\n\r\n var aInv = d * quot;\r\n var bInv = -b * quot;\r\n var cInv = -c * quot;\r\n var dInv = a * quot;\r\n var eInv = -aInv * e - cInv * f;\r\n var fInv = -bInv * e - dInv * f;\r\n\r\n return new Matrix(aInv, bInv, cInv, dInv, eInv, fInv);\r\n };\r\n\r\n /**\r\n * @function applyToPoint\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToPoint = function(pt) {\r\n var x = pt.x * this.sx + pt.y * this.shx + this.tx;\r\n var y = pt.x * this.shy + pt.y * this.sy + this.ty;\r\n return new Point(x, y);\r\n };\r\n\r\n /**\r\n * @function applyToRectangle\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToRectangle = function(rect) {\r\n var pt1 = this.applyToPoint(rect);\r\n var pt2 = this.applyToPoint(new Point(rect.x + rect.w, rect.y + rect.h));\r\n return new Rectangle(pt1.x, pt1.y, pt2.x - pt1.x, pt2.y - pt1.y);\r\n };\r\n\r\n /**\r\n * Clone the Matrix\r\n *\r\n * @function clone\r\n * @memberof Matrix#\r\n * @name clone\r\n * @instance\r\n */\r\n Matrix.prototype.clone = function() {\r\n var sx = this.sx;\r\n var shy = this.shy;\r\n var shx = this.shx;\r\n var sy = this.sy;\r\n var tx = this.tx;\r\n var ty = this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n API.Matrix = Matrix;\r\n\r\n /**\r\n * Multiplies two matrices. (see {@link Matrix})\r\n * @param {Matrix} m1\r\n * @param {Matrix} m2\r\n * @memberof jsPDF#\r\n * @name matrixMult\r\n */\r\n var matrixMult = (API.matrixMult = function(m1, m2) {\r\n return m2.multiply(m1);\r\n });\r\n\r\n /**\r\n * The identity matrix (equivalent to new Matrix(1, 0, 0, 1, 0, 0)).\r\n * @type {Matrix}\r\n * @memberof! jsPDF#\r\n * @name identityMatrix\r\n */\r\n var identityMatrix = new Matrix(1, 0, 0, 1, 0, 0);\r\n API.unitMatrix = API.identityMatrix = identityMatrix;\r\n\r\n /**\r\n * Adds a new pattern for later use.\r\n * @param {String} key The key by it can be referenced later. The keys must be unique!\r\n * @param {API.Pattern} pattern The pattern\r\n */\r\n var addPattern = function(key, pattern) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (patternMap[key]) return;\r\n\r\n var prefix = pattern instanceof ShadingPattern ? \"Sh\" : \"P\";\r\n var patternKey = prefix + (Object.keys(patterns).length + 1).toString(10);\r\n pattern.id = patternKey;\r\n\r\n patternMap[key] = patternKey;\r\n patterns[patternKey] = pattern;\r\n\r\n events.publish(\"addPattern\", pattern);\r\n };\r\n\r\n /**\r\n * A pattern describing a shading pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {String} type One of \"axial\" or \"radial\"\r\n * @param {Array} coords Either [x1, y1, x2, y2] for \"axial\" type describing the two interpolation points\r\n * or [x1, y1, r, x2, y2, r2] for \"radial\" describing inner and the outer circle.\r\n * @param {Array} colors An array of objects with the fields \"offset\" and \"color\". \"offset\" describes\r\n * the offset in parameter space [0, 1]. \"color\" is an array of length 3 describing RGB values in [0, 255].\r\n * @param {GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.ShadingPattern = ShadingPattern;\r\n\r\n /**\r\n * A PDF Tiling pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {Array.} boundingBox The bounding box at which one pattern cell gets clipped.\r\n * @param {Number} xStep Horizontal spacing between pattern cells.\r\n * @param {Number} yStep Vertical spacing between pattern cells.\r\n * @param {API.GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.TilingPattern = TilingPattern;\r\n\r\n /**\r\n * Adds a new {@link API.ShadingPattern} for later use. Only available in \"advanced\" API mode.\r\n * @param {String} key\r\n * @param {Pattern} pattern\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name addPattern\r\n */\r\n API.addShadingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"addShadingPattern()\");\r\n\r\n addPattern(key, pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Begins a new tiling pattern. All subsequent render calls are drawn to this pattern until {@link API.endTilingPattern}\r\n * gets called. Only available in \"advanced\" API mode.\r\n * @param {API.Pattern} pattern\r\n * @memberof jsPDF#\r\n * @name beginTilingPattern\r\n */\r\n API.beginTilingPattern = function(pattern) {\r\n advancedApiModeTrap(\"beginTilingPattern()\");\r\n\r\n beginNewRenderTarget(\r\n pattern.boundingBox[0],\r\n pattern.boundingBox[1],\r\n pattern.boundingBox[2] - pattern.boundingBox[0],\r\n pattern.boundingBox[3] - pattern.boundingBox[1],\r\n pattern.matrix\r\n );\r\n };\r\n\r\n /**\r\n * Ends a tiling pattern and sets the render target to the one active before {@link API.beginTilingPattern} has been called.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {string} key A unique key that is used to reference this pattern at later use.\r\n * @param {API.Pattern} pattern The pattern to end.\r\n * @memberof jsPDF#\r\n * @name endTilingPattern\r\n */\r\n API.endTilingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"endTilingPattern()\");\r\n\r\n // retrieve the stream\r\n pattern.stream = pages[currentPage].join(\"\\n\");\r\n\r\n addPattern(key, pattern);\r\n\r\n events.publish(\"endTilingPattern\", pattern);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n var newObject = (API.__private__.newObject = function() {\r\n var oid = newObjectDeferred();\r\n newObjectDeferredBegin(oid, true);\r\n return oid;\r\n });\r\n\r\n // Does not output the object. The caller must call newObjectDeferredBegin(oid) before outputing any data\r\n var newObjectDeferred = (API.__private__.newObjectDeferred = function() {\r\n objectNumber++;\r\n offsets[objectNumber] = function() {\r\n return contentLength;\r\n };\r\n return objectNumber;\r\n });\r\n\r\n var newObjectDeferredBegin = function(oid, doOutput) {\r\n doOutput = typeof doOutput === \"boolean\" ? doOutput : false;\r\n offsets[oid] = contentLength;\r\n if (doOutput) {\r\n out(oid + \" 0 obj\");\r\n }\r\n return oid;\r\n };\r\n // Does not output the object until after the pages have been output.\r\n // Returns an object containing the objectId and content.\r\n // All pages have been added so the object ID can be estimated to start right after.\r\n // This does not modify the current objectNumber; It must be updated after the newObjects are output.\r\n var newAdditionalObject = (API.__private__.newAdditionalObject = function() {\r\n var objId = newObjectDeferred();\r\n var obj = {\r\n objId: objId,\r\n content: \"\"\r\n };\r\n additionalObjects.push(obj);\r\n return obj;\r\n });\r\n\r\n var rootDictionaryObjId = newObjectDeferred();\r\n var resourceDictionaryObjId = newObjectDeferred();\r\n\r\n /////////////////////\r\n // Private functions\r\n /////////////////////\r\n\r\n var decodeColorString = (API.__private__.decodeColorString = function(color) {\r\n var colorEncoded = color.split(\" \");\r\n if (\r\n colorEncoded.length === 2 &&\r\n (colorEncoded[1] === \"g\" || colorEncoded[1] === \"G\")\r\n ) {\r\n // convert grayscale value to rgb so that it can be converted to hex for consistency\r\n var floatVal = parseFloat(colorEncoded[0]);\r\n colorEncoded = [floatVal, floatVal, floatVal, \"r\"];\r\n } else if (\r\n colorEncoded.length === 5 &&\r\n (colorEncoded[4] === \"k\" || colorEncoded[4] === \"K\")\r\n ) {\r\n // convert CMYK values to rbg so that it can be converted to hex for consistency\r\n var red = (1.0 - colorEncoded[0]) * (1.0 - colorEncoded[3]);\r\n var green = (1.0 - colorEncoded[1]) * (1.0 - colorEncoded[3]);\r\n var blue = (1.0 - colorEncoded[2]) * (1.0 - colorEncoded[3]);\r\n\r\n colorEncoded = [red, green, blue, \"r\"];\r\n }\r\n var colorAsRGB = \"#\";\r\n for (var i = 0; i < 3; i++) {\r\n colorAsRGB += (\r\n \"0\" + Math.floor(parseFloat(colorEncoded[i]) * 255).toString(16)\r\n ).slice(-2);\r\n }\r\n return colorAsRGB;\r\n });\r\n\r\n var encodeColorString = (API.__private__.encodeColorString = function(\r\n options\r\n ) {\r\n var color;\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n ch1: options\r\n };\r\n }\r\n var ch1 = options.ch1;\r\n var ch2 = options.ch2;\r\n var ch3 = options.ch3;\r\n var ch4 = options.ch4;\r\n var letterArray =\r\n options.pdfColorType === \"draw\" ? [\"G\", \"RG\", \"K\"] : [\"g\", \"rg\", \"k\"];\r\n\r\n if (typeof ch1 === \"string\" && ch1.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(ch1);\r\n if (rgbColor.ok) {\r\n ch1 = rgbColor.toHex();\r\n } else if (!/^\\d*\\.?\\d*$/.test(ch1)) {\r\n throw new Error(\r\n 'Invalid color \"' + ch1 + '\" passed to jsPDF.encodeColorString.'\r\n );\r\n }\r\n }\r\n //convert short rgb to long form\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{3}$/.test(ch1)) {\r\n ch1 = \"#\" + ch1[1] + ch1[1] + ch1[2] + ch1[2] + ch1[3] + ch1[3];\r\n }\r\n\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(ch1)) {\r\n var hex = parseInt(ch1.substr(1), 16);\r\n ch1 = (hex >> 16) & 255;\r\n ch2 = (hex >> 8) & 255;\r\n ch3 = hex & 255;\r\n }\r\n\r\n if (\r\n typeof ch2 === \"undefined\" ||\r\n (typeof ch4 === \"undefined\" && ch1 === ch2 && ch2 === ch3)\r\n ) {\r\n // Gray color space.\r\n if (typeof ch1 === \"string\") {\r\n color = ch1 + \" \" + letterArray[0];\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = f2(ch1 / 255) + \" \" + letterArray[0];\r\n break;\r\n case 3:\r\n default:\r\n color = f3(ch1 / 255) + \" \" + letterArray[0];\r\n }\r\n }\r\n } else if (typeof ch4 === \"undefined\" || typeof ch4 === \"object\") {\r\n // assume RGBA\r\n if (ch4 && !isNaN(ch4.a)) {\r\n //TODO Implement transparency.\r\n //WORKAROUND use white for now, if transparent, otherwise handle as rgb\r\n if (ch4.a === 0) {\r\n color = [\"1.\", \"1.\", \"1.\", letterArray[1]].join(\" \");\r\n return color;\r\n }\r\n }\r\n // assume RGB\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, letterArray[1]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [\r\n f2(ch1 / 255),\r\n f2(ch2 / 255),\r\n f2(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n break;\r\n default:\r\n case 3:\r\n color = [\r\n f3(ch1 / 255),\r\n f3(ch2 / 255),\r\n f3(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n }\r\n }\r\n } else {\r\n // assume CMYK\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, ch4, letterArray[2]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [f2(ch1), f2(ch2), f2(ch3), f2(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n break;\r\n case 3:\r\n default:\r\n color = [f3(ch1), f3(ch2), f3(ch3), f3(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n }\r\n }\r\n }\r\n return color;\r\n });\r\n\r\n var getFilters = (API.__private__.getFilters = function() {\r\n return filters;\r\n });\r\n\r\n var putStream = (API.__private__.putStream = function(options) {\r\n options = options || {};\r\n var data = options.data || \"\";\r\n var filters = options.filters || getFilters();\r\n var alreadyAppliedFilters = options.alreadyAppliedFilters || [];\r\n var addLength1 = options.addLength1 || false;\r\n var valueOfLength1 = data.length;\r\n var objectId = options.objectId;\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null && typeof objectId == \"undefined\") {\r\n throw new Error(\r\n \"ObjectId must be passed to putStream for file encryption\"\r\n );\r\n }\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n\r\n var processedData = {};\r\n if (filters === true) {\r\n filters = [\"FlateEncode\"];\r\n }\r\n var keyValues = options.additionalKeyValues || [];\r\n if (typeof jsPDF.API.processDataByFilters !== \"undefined\") {\r\n processedData = jsPDF.API.processDataByFilters(data, filters);\r\n } else {\r\n processedData = { data: data, reverseChain: [] };\r\n }\r\n var filterAsString =\r\n processedData.reverseChain +\r\n (Array.isArray(alreadyAppliedFilters)\r\n ? alreadyAppliedFilters.join(\" \")\r\n : alreadyAppliedFilters.toString());\r\n\r\n if (processedData.data.length !== 0) {\r\n keyValues.push({\r\n key: \"Length\",\r\n value: processedData.data.length\r\n });\r\n if (addLength1 === true) {\r\n keyValues.push({\r\n key: \"Length1\",\r\n value: valueOfLength1\r\n });\r\n }\r\n }\r\n\r\n if (filterAsString.length != 0) {\r\n if (filterAsString.split(\"/\").length - 1 === 1) {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: filterAsString\r\n });\r\n } else {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: \"[\" + filterAsString + \"]\"\r\n });\r\n\r\n for (var j = 0; j < keyValues.length; j += 1) {\r\n if (keyValues[j].key === \"DecodeParms\") {\r\n var decodeParmsArray = [];\r\n\r\n for (\r\n var i = 0;\r\n i < processedData.reverseChain.split(\"/\").length - 1;\r\n i += 1\r\n ) {\r\n decodeParmsArray.push(\"null\");\r\n }\r\n\r\n decodeParmsArray.push(keyValues[j].value);\r\n keyValues[j].value = \"[\" + decodeParmsArray.join(\" \") + \"]\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n out(\"<<\");\r\n for (var k = 0; k < keyValues.length; k++) {\r\n out(\"/\" + keyValues[k].key + \" \" + keyValues[k].value);\r\n }\r\n out(\">>\");\r\n if (processedData.data.length !== 0) {\r\n out(\"stream\");\r\n out(encryptor(processedData.data));\r\n out(\"endstream\");\r\n }\r\n });\r\n\r\n var putPage = (API.__private__.putPage = function(page) {\r\n var pageNumber = page.number;\r\n var data = page.data;\r\n var pageObjectNumber = page.objId;\r\n var pageContentsObjId = page.contentsObjId;\r\n\r\n newObjectDeferredBegin(pageObjectNumber, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n // Page content\r\n var pageContent = data.join(\"\\n\");\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n // if the user forgot to switch back to COMPAT mode, we must balance the graphics stack again\r\n pageContent += \"\\nQ\";\r\n }\r\n\r\n newObjectDeferredBegin(pageContentsObjId, true);\r\n putStream({\r\n data: pageContent,\r\n filters: getFilters(),\r\n objectId: pageContentsObjId\r\n });\r\n out(\"endobj\");\r\n return pageObjectNumber;\r\n });\r\n\r\n var putPages = (API.__private__.putPages = function() {\r\n var n,\r\n i,\r\n pageObjectNumbers = [];\r\n\r\n for (n = 1; n <= page; n++) {\r\n pagesContext[n].objId = newObjectDeferred();\r\n pagesContext[n].contentsObjId = newObjectDeferred();\r\n }\r\n\r\n for (n = 1; n <= page; n++) {\r\n pageObjectNumbers.push(\r\n putPage({\r\n number: n,\r\n data: pages[n],\r\n objId: pagesContext[n].objId,\r\n contentsObjId: pagesContext[n].contentsObjId,\r\n mediaBox: pagesContext[n].mediaBox,\r\n cropBox: pagesContext[n].cropBox,\r\n bleedBox: pagesContext[n].bleedBox,\r\n trimBox: pagesContext[n].trimBox,\r\n artBox: pagesContext[n].artBox,\r\n userUnit: pagesContext[n].userUnit,\r\n rootDictionaryObjId: rootDictionaryObjId,\r\n resourceDictionaryObjId: resourceDictionaryObjId\r\n })\r\n );\r\n }\r\n newObjectDeferredBegin(rootDictionaryObjId, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n events.publish(\"postPutPages\");\r\n });\r\n\r\n var putFont = function(font) {\r\n events.publish(\"putFont\", {\r\n font: font,\r\n out: out,\r\n newObject: newObject,\r\n putStream: putStream\r\n });\r\n\r\n if (font.isAlreadyPutted !== true) {\r\n font.objectNumber = newObject();\r\n out(\"<<\");\r\n out(\"/Type /Font\");\r\n out(\"/BaseFont /\" + toPDFName(font.postScriptName));\r\n out(\"/Subtype /Type1\");\r\n if (typeof font.encoding === \"string\") {\r\n out(\"/Encoding /\" + font.encoding);\r\n }\r\n out(\"/FirstChar 32\");\r\n out(\"/LastChar 255\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n }\r\n };\r\n\r\n var putFonts = function() {\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n putFont(fonts[fontKey]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putXObject = function(xObject) {\r\n xObject.objectNumber = newObject();\r\n\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/XObject\" });\r\n options.push({ key: \"Subtype\", value: \"/Form\" });\r\n options.push({\r\n key: \"BBox\",\r\n value:\r\n \"[\" +\r\n [\r\n hpf(xObject.x),\r\n hpf(xObject.y),\r\n hpf(xObject.x + xObject.width),\r\n hpf(xObject.y + xObject.height)\r\n ].join(\" \") +\r\n \"]\"\r\n });\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + xObject.matrix.toString() + \"]\"\r\n });\r\n // TODO: /Resources\r\n\r\n var stream = xObject.pages[1].join(\"\\n\");\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n objectId: xObject.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putXObjects = function() {\r\n for (var xObjectKey in renderTargets) {\r\n if (renderTargets.hasOwnProperty(xObjectKey)) {\r\n putXObject(renderTargets[xObjectKey]);\r\n }\r\n }\r\n };\r\n\r\n var interpolateAndEncodeRGBStream = function(colors, numberSamples) {\r\n var tValues = [];\r\n var t;\r\n var dT = 1.0 / (numberSamples - 1);\r\n for (t = 0.0; t < 1.0; t += dT) {\r\n tValues.push(t);\r\n }\r\n tValues.push(1.0);\r\n // add first and last control point if not present\r\n if (colors[0].offset != 0.0) {\r\n var c0 = {\r\n offset: 0.0,\r\n color: colors[0].color\r\n };\r\n colors.unshift(c0);\r\n }\r\n if (colors[colors.length - 1].offset != 1.0) {\r\n var c1 = {\r\n offset: 1.0,\r\n color: colors[colors.length - 1].color\r\n };\r\n colors.push(c1);\r\n }\r\n var out = \"\";\r\n var index = 0;\r\n\r\n for (var i = 0; i < tValues.length; i++) {\r\n t = tValues[i];\r\n while (t > colors[index + 1].offset) index++;\r\n var a = colors[index].offset;\r\n var b = colors[index + 1].offset;\r\n var d = (t - a) / (b - a);\r\n\r\n var aColor = colors[index].color;\r\n var bColor = colors[index + 1].color;\r\n\r\n out +=\r\n padd2Hex(Math.round((1 - d) * aColor[0] + d * bColor[0]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[1] + d * bColor[1]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[2] + d * bColor[2]).toString(16));\r\n }\r\n return out.trim();\r\n };\r\n\r\n var putShadingPattern = function(pattern, numberSamples) {\r\n /*\r\n Axial patterns shade between the two points specified in coords, radial patterns between the inner\r\n and outer circle.\r\n The user can specify an array (colors) that maps t-Values in [0, 1] to RGB colors. These are now\r\n interpolated to equidistant samples and written to pdf as a sample (type 0) function.\r\n */\r\n // The number of color samples that should be used to describe the shading.\r\n // The higher, the more accurate the gradient will be.\r\n numberSamples || (numberSamples = 21);\r\n var funcObjectNumber = newObject();\r\n var stream = interpolateAndEncodeRGBStream(pattern.colors, numberSamples);\r\n\r\n var options = [];\r\n options.push({ key: \"FunctionType\", value: \"0\" });\r\n options.push({ key: \"Domain\", value: \"[0.0 1.0]\" });\r\n options.push({ key: \"Size\", value: \"[\" + numberSamples + \"]\" });\r\n options.push({ key: \"BitsPerSample\", value: \"8\" });\r\n options.push({ key: \"Range\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n options.push({ key: \"Decode\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n alreadyAppliedFilters: [\"/ASCIIHexDecode\"],\r\n objectId: funcObjectNumber\r\n });\r\n out(\"endobj\");\r\n\r\n pattern.objectNumber = newObject();\r\n out(\"<< /ShadingType \" + pattern.type);\r\n out(\"/ColorSpace /DeviceRGB\");\r\n var coords =\r\n \"/Coords [\" +\r\n hpf(parseFloat(pattern.coords[0])) +\r\n \" \" + // x1\r\n hpf(parseFloat(pattern.coords[1])) +\r\n \" \"; // y1\r\n if (pattern.type === 2) {\r\n // axial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[3])); // y2\r\n } else {\r\n // radial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // r1\r\n hpf(parseFloat(pattern.coords[3])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[4])) +\r\n \" \" + // y2\r\n hpf(parseFloat(pattern.coords[5])); // r2\r\n }\r\n coords += \"]\";\r\n out(coords);\r\n\r\n if (pattern.matrix) {\r\n out(\"/Matrix [\" + pattern.matrix.toString() + \"]\");\r\n }\r\n out(\"/Function \" + funcObjectNumber + \" 0 R\");\r\n out(\"/Extend [true true]\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putTilingPattern = function(pattern, deferredResourceDictionaryIds) {\r\n var resourcesObjectId = newObjectDeferred();\r\n var patternObjectId = newObject();\r\n\r\n deferredResourceDictionaryIds.push({\r\n resourcesOid: resourcesObjectId,\r\n objectOid: patternObjectId\r\n });\r\n\r\n pattern.objectNumber = patternObjectId;\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/Pattern\" });\r\n options.push({ key: \"PatternType\", value: \"1\" }); // tiling pattern\r\n options.push({ key: \"PaintType\", value: \"1\" }); // colored tiling pattern\r\n options.push({ key: \"TilingType\", value: \"1\" }); // constant spacing\r\n options.push({\r\n key: \"BBox\",\r\n value: \"[\" + pattern.boundingBox.map(hpf).join(\" \") + \"]\"\r\n });\r\n options.push({ key: \"XStep\", value: hpf(pattern.xStep) });\r\n options.push({ key: \"YStep\", value: hpf(pattern.yStep) });\r\n options.push({ key: \"Resources\", value: resourcesObjectId + \" 0 R\" });\r\n if (pattern.matrix) {\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + pattern.matrix.toString() + \"]\"\r\n });\r\n }\r\n\r\n putStream({\r\n data: pattern.stream,\r\n additionalKeyValues: options,\r\n objectId: pattern.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putPatterns = function(deferredResourceDictionaryIds) {\r\n var patternKey;\r\n for (patternKey in patterns) {\r\n if (patterns.hasOwnProperty(patternKey)) {\r\n if (patterns[patternKey] instanceof ShadingPattern) {\r\n putShadingPattern(patterns[patternKey]);\r\n } else if (patterns[patternKey] instanceof TilingPattern) {\r\n putTilingPattern(patterns[patternKey], deferredResourceDictionaryIds);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putGState = function(gState) {\r\n gState.objectNumber = newObject();\r\n out(\"<<\");\r\n for (var p in gState) {\r\n switch (p) {\r\n case \"opacity\":\r\n out(\"/ca \" + f2(gState[p]));\r\n break;\r\n case \"stroke-opacity\":\r\n out(\"/CA \" + f2(gState[p]));\r\n break;\r\n }\r\n }\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putGStates = function() {\r\n var gStateKey;\r\n for (gStateKey in gStates) {\r\n if (gStates.hasOwnProperty(gStateKey)) {\r\n putGState(gStates[gStateKey]);\r\n }\r\n }\r\n };\r\n\r\n var putXobjectDict = function() {\r\n out(\"/XObject <<\");\r\n for (var xObjectKey in renderTargets) {\r\n if (\r\n renderTargets.hasOwnProperty(xObjectKey) &&\r\n renderTargets[xObjectKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" +\r\n xObjectKey +\r\n \" \" +\r\n renderTargets[xObjectKey].objectNumber +\r\n \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n // Loop through images, or other data objects\r\n events.publish(\"putXobjectDict\");\r\n out(\">>\");\r\n };\r\n\r\n var putEncryptionDict = function() {\r\n encryption.oid = newObject();\r\n out(\"<<\");\r\n out(\"/Filter /Standard\");\r\n out(\"/V \" + encryption.v);\r\n out(\"/R \" + encryption.r);\r\n out(\"/U <\" + encryption.toHexString(encryption.U) + \">\");\r\n out(\"/O <\" + encryption.toHexString(encryption.O) + \">\");\r\n out(\"/P \" + encryption.P);\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putFontDict = function() {\r\n out(\"/Font <<\");\r\n\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n out(\"/\" + fontKey + \" \" + fonts[fontKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n }\r\n out(\">>\");\r\n };\r\n\r\n var putShadingPatternDict = function() {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Shading <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof ShadingPattern &&\r\n patterns[patternKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n events.publish(\"putShadingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putTilingPatternDict = function(objectOid) {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Pattern <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof API.TilingPattern &&\r\n patterns[patternKey].objectNumber >= 0 &&\r\n patterns[patternKey].objectNumber < objectOid // prevent cyclic dependencies\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n events.publish(\"putTilingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putGStatesDict = function() {\r\n if (Object.keys(gStates).length > 0) {\r\n var gStateKey;\r\n out(\"/ExtGState <<\");\r\n for (gStateKey in gStates) {\r\n if (\r\n gStates.hasOwnProperty(gStateKey) &&\r\n gStates[gStateKey].objectNumber >= 0\r\n ) {\r\n out(\"/\" + gStateKey + \" \" + gStates[gStateKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n\r\n events.publish(\"putGStateDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putResourceDictionary = function(objectIds) {\r\n newObjectDeferredBegin(objectIds.resourcesOid, true);\r\n out(\"<<\");\r\n out(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\");\r\n putFontDict();\r\n putShadingPatternDict();\r\n putTilingPatternDict(objectIds.objectOid);\r\n putGStatesDict();\r\n putXobjectDict();\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putResources = function() {\r\n // FormObjects, Patterns etc. might use other FormObjects/Patterns/Images\r\n // which means their resource dictionaries must contain the already resolved\r\n // object ids. For this reason we defer the serialization of the resource\r\n // dicts until all objects have been serialized and have object ids.\r\n //\r\n // In order to prevent cyclic dependencies (which Adobe Reader doesn't like),\r\n // we only put all oids that are smaller than the oid of the object the\r\n // resource dict belongs to. This is correct behavior, since the streams\r\n // may only use other objects that have already been defined and thus appear\r\n // earlier in their respective collection.\r\n // Currently, this only affects tiling patterns, but a (more) correct\r\n // implementation of FormObjects would also define their own resource dicts.\r\n var deferredResourceDictionaryIds = [];\r\n\r\n putFonts();\r\n putGStates();\r\n putXObjects();\r\n putPatterns(deferredResourceDictionaryIds);\r\n\r\n events.publish(\"putResources\");\r\n deferredResourceDictionaryIds.forEach(putResourceDictionary);\r\n putResourceDictionary({\r\n resourcesOid: resourceDictionaryObjId,\r\n objectOid: Number.MAX_SAFE_INTEGER // output all objects\r\n });\r\n events.publish(\"postPutResources\");\r\n };\r\n\r\n var putAdditionalObjects = function() {\r\n events.publish(\"putAdditionalObjects\");\r\n for (var i = 0; i < additionalObjects.length; i++) {\r\n var obj = additionalObjects[i];\r\n newObjectDeferredBegin(obj.objId, true);\r\n out(obj.content);\r\n out(\"endobj\");\r\n }\r\n events.publish(\"postPutAdditionalObjects\");\r\n };\r\n\r\n var addFontToFontDictionary = function(font) {\r\n fontmap[font.fontName] = fontmap[font.fontName] || {};\r\n fontmap[font.fontName][font.fontStyle] = font.id;\r\n };\r\n\r\n var addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n encoding,\r\n isStandardFont\r\n ) {\r\n var font = {\r\n id: \"F\" + (Object.keys(fonts).length + 1).toString(10),\r\n postScriptName: postScriptName,\r\n fontName: fontName,\r\n fontStyle: fontStyle,\r\n encoding: encoding,\r\n isStandardFont: isStandardFont || false,\r\n metadata: {}\r\n };\r\n\r\n events.publish(\"addFont\", {\r\n font: font,\r\n instance: this\r\n });\r\n\r\n fonts[font.id] = font;\r\n addFontToFontDictionary(font);\r\n return font.id;\r\n };\r\n\r\n var addFonts = function(arrayOfFonts) {\r\n for (var i = 0, l = standardFonts.length; i < l; i++) {\r\n var fontKey = addFont.call(\r\n this,\r\n arrayOfFonts[i][0],\r\n arrayOfFonts[i][1],\r\n arrayOfFonts[i][2],\r\n standardFonts[i][3],\r\n true\r\n );\r\n\r\n if (putOnlyUsedFonts === false) {\r\n usedFonts[fontKey] = true;\r\n }\r\n // adding aliases for standard fonts, this time matching the capitalization\r\n var parts = arrayOfFonts[i][0].split(\"-\");\r\n addFontToFontDictionary({\r\n id: fontKey,\r\n fontName: parts[0],\r\n fontStyle: parts[1] || \"\"\r\n });\r\n }\r\n events.publish(\"addFonts\", {\r\n fonts: fonts,\r\n dictionary: fontmap\r\n });\r\n };\r\n\r\n var SAFE = function __safeCall(fn) {\r\n fn.foo = function __safeCallWrapper() {\r\n try {\r\n return fn.apply(this, arguments);\r\n } catch (e) {\r\n var stack = e.stack || \"\";\r\n if (~stack.indexOf(\" at \")) stack = stack.split(\" at \")[1];\r\n var m =\r\n \"Error in function \" +\r\n stack.split(\"\\n\")[0].split(\"<\")[0] +\r\n \": \" +\r\n e.message;\r\n if (globalObject.console) {\r\n globalObject.console.error(m, e);\r\n if (globalObject.alert) alert(m);\r\n } else {\r\n throw new Error(m);\r\n }\r\n }\r\n };\r\n fn.foo.bar = fn;\r\n return fn.foo;\r\n };\r\n\r\n var to8bitStream = function(text, flags) {\r\n /**\r\n * PDF 1.3 spec:\r\n * \"For text strings encoded in Unicode, the first two bytes must be 254 followed by\r\n * 255, representing the Unicode byte order marker, U+FEFF. (This sequence conflicts\r\n * with the PDFDocEncoding character sequence thorn ydieresis, which is unlikely\r\n * to be a meaningful beginning of a word or phrase.) The remainder of the\r\n * string consists of Unicode character codes, according to the UTF-16 encoding\r\n * specified in the Unicode standard, version 2.0. Commonly used Unicode values\r\n * are represented as 2 bytes per character, with the high-order byte appearing first\r\n * in the string.\"\r\n *\r\n * In other words, if there are chars in a string with char code above 255, we\r\n * recode the string to UCS2 BE - string doubles in length and BOM is prepended.\r\n *\r\n * HOWEVER!\r\n * Actual *content* (body) text (as opposed to strings used in document properties etc)\r\n * does NOT expect BOM. There, it is treated as a literal GID (Glyph ID)\r\n *\r\n * Because of Adobe's focus on \"you subset your fonts!\" you are not supposed to have\r\n * a font that maps directly Unicode (UCS2 / UTF16BE) code to font GID, but you could\r\n * fudge it with \"Identity-H\" encoding and custom CIDtoGID map that mimics Unicode\r\n * code page. There, however, all characters in the stream are treated as GIDs,\r\n * including BOM, which is the reason we need to skip BOM in content text (i.e. that\r\n * that is tied to a font).\r\n *\r\n * To signal this \"special\" PDFEscape / to8bitStream handling mode,\r\n * API.text() function sets (unless you overwrite it with manual values\r\n * given to API.text(.., flags) )\r\n * flags.autoencode = true\r\n * flags.noBOM = true\r\n *\r\n * ===================================================================================\r\n * `flags` properties relied upon:\r\n * .sourceEncoding = string with encoding label.\r\n * \"Unicode\" by default. = encoding of the incoming text.\r\n * pass some non-existing encoding name\r\n * (ex: 'Do not touch my strings! I know what I am doing.')\r\n * to make encoding code skip the encoding step.\r\n * .outputEncoding = Either valid PDF encoding name\r\n * (must be supported by jsPDF font metrics, otherwise no encoding)\r\n * or a JS object, where key = sourceCharCode, value = outputCharCode\r\n * missing keys will be treated as: sourceCharCode === outputCharCode\r\n * .noBOM\r\n * See comment higher above for explanation for why this is important\r\n * .autoencode\r\n * See comment higher above for explanation for why this is important\r\n */\r\n\r\n var i,\r\n l,\r\n sourceEncoding,\r\n encodingBlock,\r\n outputEncoding,\r\n newtext,\r\n isUnicode,\r\n ch,\r\n bch;\r\n\r\n flags = flags || {};\r\n sourceEncoding = flags.sourceEncoding || \"Unicode\";\r\n outputEncoding = flags.outputEncoding;\r\n\r\n // This 'encoding' section relies on font metrics format\r\n // attached to font objects by, among others,\r\n // \"Willow Systems' standard_font_metrics plugin\"\r\n // see jspdf.plugin.standard_font_metrics.js for format\r\n // of the font.metadata.encoding Object.\r\n // It should be something like\r\n // .encoding = {'codePages':['WinANSI....'], 'WinANSI...':{code:code, ...}}\r\n // .widths = {0:width, code:width, ..., 'fof':divisor}\r\n // .kerning = {code:{previous_char_code:shift, ..., 'fof':-divisor},...}\r\n if (\r\n (flags.autoencode || outputEncoding) &&\r\n fonts[activeFontKey].metadata &&\r\n fonts[activeFontKey].metadata[sourceEncoding] &&\r\n fonts[activeFontKey].metadata[sourceEncoding].encoding\r\n ) {\r\n encodingBlock = fonts[activeFontKey].metadata[sourceEncoding].encoding;\r\n\r\n // each font has default encoding. Some have it clearly defined.\r\n if (!outputEncoding && fonts[activeFontKey].encoding) {\r\n outputEncoding = fonts[activeFontKey].encoding;\r\n }\r\n\r\n // Hmmm, the above did not work? Let's try again, in different place.\r\n if (!outputEncoding && encodingBlock.codePages) {\r\n outputEncoding = encodingBlock.codePages[0]; // let's say, first one is the default\r\n }\r\n\r\n if (typeof outputEncoding === \"string\") {\r\n outputEncoding = encodingBlock[outputEncoding];\r\n }\r\n // we want output encoding to be a JS Object, where\r\n // key = sourceEncoding's character code and\r\n // value = outputEncoding's character code.\r\n if (outputEncoding) {\r\n isUnicode = false;\r\n newtext = [];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = outputEncoding[text.charCodeAt(i)];\r\n if (ch) {\r\n newtext.push(String.fromCharCode(ch));\r\n } else {\r\n newtext.push(text[i]);\r\n }\r\n\r\n // since we are looping over chars anyway, might as well\r\n // check for residual unicodeness\r\n if (newtext[i].charCodeAt(0) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n }\r\n text = newtext.join(\"\");\r\n }\r\n }\r\n\r\n i = text.length;\r\n // isUnicode may be set to false above. Hence the triple-equal to undefined\r\n while (isUnicode === undefined && i !== 0) {\r\n if (text.charCodeAt(i - 1) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n i--;\r\n }\r\n if (!isUnicode) {\r\n return text;\r\n }\r\n\r\n newtext = flags.noBOM ? [] : [254, 255];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = text.charCodeAt(i);\r\n bch = ch >> 8; // divide by 256\r\n if (bch >> 8) {\r\n /* something left after dividing by 256 second time */\r\n throw new Error(\r\n \"Character at position \" +\r\n i +\r\n \" of string '\" +\r\n text +\r\n \"' exceeds 16bits. Cannot be encoded into UCS-2 BE\"\r\n );\r\n }\r\n newtext.push(bch);\r\n newtext.push(ch - (bch << 8));\r\n }\r\n return String.fromCharCode.apply(undefined, newtext);\r\n };\r\n\r\n var pdfEscape = (API.__private__.pdfEscape = API.pdfEscape = function(\r\n text,\r\n flags\r\n ) {\r\n /**\r\n * Replace '/', '(', and ')' with pdf-safe versions\r\n *\r\n * Doing to8bitStream does NOT make this PDF display unicode text. For that\r\n * we also need to reference a unicode font and embed it - royal pain in the rear.\r\n *\r\n * There is still a benefit to to8bitStream - PDF simply cannot handle 16bit chars,\r\n * which JavaScript Strings are happy to provide. So, while we still cannot display\r\n * 2-byte characters property, at least CONDITIONALLY converting (entire string containing)\r\n * 16bit chars to (USC-2-BE) 2-bytes per char + BOM streams we ensure that entire PDF\r\n * is still parseable.\r\n * This will allow immediate support for unicode in document properties strings.\r\n */\r\n return to8bitStream(text, flags)\r\n .replace(/\\\\/g, \"\\\\\\\\\")\r\n .replace(/\\(/g, \"\\\\(\")\r\n .replace(/\\)/g, \"\\\\)\");\r\n });\r\n\r\n var beginPage = (API.__private__.beginPage = function(format) {\r\n pages[++page] = [];\r\n pagesContext[page] = {\r\n objId: 0,\r\n contentsObjId: 0,\r\n userUnit: Number(userUnit),\r\n artBox: null,\r\n bleedBox: null,\r\n cropBox: null,\r\n trimBox: null,\r\n mediaBox: {\r\n bottomLeftX: 0,\r\n bottomLeftY: 0,\r\n topRightX: Number(format[0]),\r\n topRightY: Number(format[1])\r\n }\r\n };\r\n _setPage(page);\r\n setOutputDestination(pages[currentPage]);\r\n });\r\n\r\n var _addPage = function(parmFormat, parmOrientation) {\r\n var dimensions, width, height;\r\n\r\n orientation = parmOrientation || orientation;\r\n\r\n if (typeof parmFormat === \"string\") {\r\n dimensions = getPageFormat(parmFormat.toLowerCase());\r\n if (Array.isArray(dimensions)) {\r\n width = dimensions[0];\r\n height = dimensions[1];\r\n }\r\n }\r\n\r\n if (Array.isArray(parmFormat)) {\r\n width = parmFormat[0] * scaleFactor;\r\n height = parmFormat[1] * scaleFactor;\r\n }\r\n\r\n if (isNaN(width)) {\r\n width = format[0];\r\n height = format[1];\r\n }\r\n\r\n if (width > 14400 || height > 14400) {\r\n console.warn(\r\n \"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"\r\n );\r\n width = Math.min(14400, width);\r\n height = Math.min(14400, height);\r\n }\r\n\r\n format = [width, height];\r\n\r\n switch (orientation.substr(0, 1)) {\r\n case \"l\":\r\n if (height > width) {\r\n format = [height, width];\r\n }\r\n break;\r\n case \"p\":\r\n if (width > height) {\r\n format = [height, width];\r\n }\r\n break;\r\n }\r\n\r\n beginPage(format);\r\n\r\n // Set line width\r\n setLineWidth(lineWidth);\r\n // Set draw color\r\n out(strokeColor);\r\n // resurrecting non-default line caps, joins\r\n if (lineCapID !== 0) {\r\n out(lineCapID + \" J\");\r\n }\r\n if (lineJoinID !== 0) {\r\n out(lineJoinID + \" j\");\r\n }\r\n events.publish(\"addPage\", {\r\n pageNumber: page\r\n });\r\n };\r\n\r\n var _deletePage = function(n) {\r\n if (n > 0 && n <= page) {\r\n pages.splice(n, 1);\r\n pagesContext.splice(n, 1);\r\n page--;\r\n if (currentPage > page) {\r\n currentPage = page;\r\n }\r\n this.setPage(currentPage);\r\n }\r\n };\r\n\r\n var _setPage = function(n) {\r\n if (n > 0 && n <= page) {\r\n currentPage = n;\r\n }\r\n };\r\n\r\n var getNumberOfPages = (API.__private__.getNumberOfPages = API.getNumberOfPages = function() {\r\n return pages.length - 1;\r\n });\r\n\r\n /**\r\n * Returns a document-specific font key - a label assigned to a\r\n * font name + font type combination at the time the font was added\r\n * to the font inventory.\r\n *\r\n * Font key is used as label for the desired font for a block of text\r\n * to be added to the PDF document stream.\r\n * @private\r\n * @function\r\n * @param fontName {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @param fontStyle {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @returns {string} Font key.\r\n * @ignore\r\n */\r\n var getFont = function(fontName, fontStyle, options) {\r\n var key = undefined,\r\n fontNameLowerCase;\r\n options = options || {};\r\n\r\n fontName =\r\n fontName !== undefined ? fontName : fonts[activeFontKey].fontName;\r\n fontStyle =\r\n fontStyle !== undefined ? fontStyle : fonts[activeFontKey].fontStyle;\r\n fontNameLowerCase = fontName.toLowerCase();\r\n\r\n if (\r\n fontmap[fontNameLowerCase] !== undefined &&\r\n fontmap[fontNameLowerCase][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontNameLowerCase][fontStyle];\r\n } else if (\r\n fontmap[fontName] !== undefined &&\r\n fontmap[fontName][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontName][fontStyle];\r\n } else {\r\n if (options.disableWarning === false) {\r\n console.warn(\r\n \"Unable to look up font label for font '\" +\r\n fontName +\r\n \"', '\" +\r\n fontStyle +\r\n \"'. Refer to getFontList() for available fonts.\"\r\n );\r\n }\r\n }\r\n\r\n if (!key && !options.noFallback) {\r\n key = fontmap[\"times\"][fontStyle];\r\n if (key == null) {\r\n key = fontmap[\"times\"][\"normal\"];\r\n }\r\n }\r\n return key;\r\n };\r\n\r\n var putInfo = (API.__private__.putInfo = function() {\r\n var objectId = newObject();\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n out(\"<<\");\r\n out(\"/Producer (\" + pdfEscape(encryptor(\"jsPDF \" + jsPDF.version)) + \")\");\r\n for (var key in documentProperties) {\r\n if (documentProperties.hasOwnProperty(key) && documentProperties[key]) {\r\n out(\r\n \"/\" +\r\n key.substr(0, 1).toUpperCase() +\r\n key.substr(1) +\r\n \" (\" +\r\n pdfEscape(encryptor(documentProperties[key])) +\r\n \")\"\r\n );\r\n }\r\n }\r\n out(\"/CreationDate (\" + pdfEscape(encryptor(creationDate)) + \")\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putCatalog = (API.__private__.putCatalog = function(options) {\r\n options = options || {};\r\n var tmpRootDictionaryObjId =\r\n options.rootDictionaryObjId || rootDictionaryObjId;\r\n newObject();\r\n out(\"<<\");\r\n out(\"/Type /Catalog\");\r\n out(\"/Pages \" + tmpRootDictionaryObjId + \" 0 R\");\r\n // PDF13ref Section 7.2.1\r\n if (!zoomMode) zoomMode = \"fullwidth\";\r\n switch (zoomMode) {\r\n case \"fullwidth\":\r\n out(\"/OpenAction [3 0 R /FitH null]\");\r\n break;\r\n case \"fullheight\":\r\n out(\"/OpenAction [3 0 R /FitV null]\");\r\n break;\r\n case \"fullpage\":\r\n out(\"/OpenAction [3 0 R /Fit]\");\r\n break;\r\n case \"original\":\r\n out(\"/OpenAction [3 0 R /XYZ null null 1]\");\r\n break;\r\n default:\r\n var pcn = \"\" + zoomMode;\r\n if (pcn.substr(pcn.length - 1) === \"%\")\r\n zoomMode = parseInt(zoomMode) / 100;\r\n if (typeof zoomMode === \"number\") {\r\n out(\"/OpenAction [3 0 R /XYZ null null \" + f2(zoomMode) + \"]\");\r\n }\r\n }\r\n if (!layoutMode) layoutMode = \"continuous\";\r\n switch (layoutMode) {\r\n case \"continuous\":\r\n out(\"/PageLayout /OneColumn\");\r\n break;\r\n case \"single\":\r\n out(\"/PageLayout /SinglePage\");\r\n break;\r\n case \"two\":\r\n case \"twoleft\":\r\n out(\"/PageLayout /TwoColumnLeft\");\r\n break;\r\n case \"tworight\":\r\n out(\"/PageLayout /TwoColumnRight\");\r\n break;\r\n }\r\n if (pageMode) {\r\n /**\r\n * A name object specifying how the document should be displayed when opened:\r\n * UseNone : Neither document outline nor thumbnail images visible -- DEFAULT\r\n * UseOutlines : Document outline visible\r\n * UseThumbs : Thumbnail images visible\r\n * FullScreen : Full-screen mode, with no menu bar, window controls, or any other window visible\r\n */\r\n out(\"/PageMode /\" + pageMode);\r\n }\r\n events.publish(\"putCatalog\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putTrailer = (API.__private__.putTrailer = function() {\r\n out(\"trailer\");\r\n out(\"<<\");\r\n out(\"/Size \" + (objectNumber + 1));\r\n // Root and Info must be the last and second last objects written respectively\r\n out(\"/Root \" + objectNumber + \" 0 R\");\r\n out(\"/Info \" + (objectNumber - 1) + \" 0 R\");\r\n if (encryptionOptions !== null) {\r\n out(\"/Encrypt \" + encryption.oid + \" 0 R\");\r\n }\r\n out(\"/ID [ <\" + fileId + \"> <\" + fileId + \"> ]\");\r\n out(\">>\");\r\n });\r\n\r\n var putHeader = (API.__private__.putHeader = function() {\r\n out(\"%PDF-\" + pdfVersion);\r\n out(\"%\\xBA\\xDF\\xAC\\xE0\");\r\n });\r\n\r\n var putXRef = (API.__private__.putXRef = function() {\r\n var p = \"0000000000\";\r\n\r\n out(\"xref\");\r\n out(\"0 \" + (objectNumber + 1));\r\n out(\"0000000000 65535 f \");\r\n for (var i = 1; i <= objectNumber; i++) {\r\n var offset = offsets[i];\r\n if (typeof offset === \"function\") {\r\n out((p + offsets[i]()).slice(-10) + \" 00000 n \");\r\n } else {\r\n if (typeof offsets[i] !== \"undefined\") {\r\n out((p + offsets[i]).slice(-10) + \" 00000 n \");\r\n } else {\r\n out(\"0000000000 00000 n \");\r\n }\r\n }\r\n }\r\n });\r\n\r\n var buildDocument = (API.__private__.buildDocument = function() {\r\n resetDocument();\r\n setOutputDestination(content);\r\n\r\n events.publish(\"buildDocument\");\r\n\r\n putHeader();\r\n putPages();\r\n putAdditionalObjects();\r\n putResources();\r\n if (encryptionOptions !== null) putEncryptionDict();\r\n putInfo();\r\n putCatalog();\r\n\r\n var offsetOfXRef = contentLength;\r\n putXRef();\r\n putTrailer();\r\n out(\"startxref\");\r\n out(\"\" + offsetOfXRef);\r\n out(\"%%EOF\");\r\n\r\n setOutputDestination(pages[currentPage]);\r\n\r\n return content.join(\"\\n\");\r\n });\r\n\r\n var getBlob = (API.__private__.getBlob = function(data) {\r\n return new Blob([getArrayBuffer(data)], {\r\n type: \"application/pdf\"\r\n });\r\n });\r\n\r\n /**\r\n * Generates the PDF document.\r\n *\r\n * If `type` argument is undefined, output is raw body of resulting PDF returned as a string.\r\n *\r\n * @param {string} type A string identifying one of the possible output types.
\r\n * Possible values are:
\r\n * 'arraybuffer' -> (ArrayBuffer)
\r\n * 'blob' -> (Blob)
\r\n * 'bloburi'/'bloburl' -> (string)
\r\n * 'datauristring'/'dataurlstring' -> (string)
\r\n * 'datauri'/'dataurl' -> (undefined) -> change location to generated datauristring/dataurlstring
\r\n * 'dataurlnewwindow' -> (window | null | undefined) throws error if global isn't a window object(node)
\r\n * 'pdfobjectnewwindow' -> (window | null) throws error if global isn't a window object(node)
\r\n * 'pdfjsnewwindow' -> (wind | null)\r\n * @param {Object|string} options An object providing some additional signalling to PDF generator.
\r\n * Possible options are 'filename'.
\r\n * A string can be passed instead of {filename:string} and defaults to 'generated.pdf'\r\n * @function\r\n * @instance\r\n * @returns {string|window|ArrayBuffer|Blob|jsPDF|null|undefined}\r\n * @memberof jsPDF#\r\n * @name output\r\n */\r\n var output = (API.output = API.__private__.output = SAFE(function output(\r\n type,\r\n options\r\n ) {\r\n options = options || {};\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n filename: options\r\n };\r\n } else {\r\n options.filename = options.filename || \"generated.pdf\";\r\n }\r\n\r\n switch (type) {\r\n case undefined:\r\n return buildDocument();\r\n case \"save\":\r\n API.save(options.filename);\r\n break;\r\n case \"arraybuffer\":\r\n return getArrayBuffer(buildDocument());\r\n case \"blob\":\r\n return getBlob(buildDocument());\r\n case \"bloburi\":\r\n case \"bloburl\":\r\n // Developer is responsible of calling revokeObjectURL\r\n if (\r\n typeof globalObject.URL !== \"undefined\" &&\r\n typeof globalObject.URL.createObjectURL === \"function\"\r\n ) {\r\n return (\r\n (globalObject.URL &&\r\n globalObject.URL.createObjectURL(getBlob(buildDocument()))) ||\r\n void 0\r\n );\r\n } else {\r\n console.warn(\r\n \"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\"\r\n );\r\n }\r\n break;\r\n case \"datauristring\":\r\n case \"dataurlstring\":\r\n var dataURI = \"\";\r\n var pdfDocument = buildDocument();\r\n try {\r\n dataURI = btoa(pdfDocument);\r\n } catch (e) {\r\n dataURI = btoa(unescape(encodeURIComponent(pdfDocument)));\r\n }\r\n return (\r\n \"data:application/pdf;filename=\" +\r\n options.filename +\r\n \";base64,\" +\r\n dataURI\r\n );\r\n case \"pdfobjectnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfObjectUrl =\r\n \"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\";\r\n var integrity =\r\n ' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';\r\n\r\n if (options.pdfObjectUrl) {\r\n pdfObjectUrl = options.pdfObjectUrl;\r\n integrity = \"\";\r\n }\r\n\r\n var htmlForNewWindow =\r\n \"\" +\r\n '\";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n });\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion 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\\nbracketleft backslash bracketright asciicircum underscore grave\\na 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\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","\nmodule.exports = function load (src, opts, cb) {\n var head = document.head || document.getElementsByTagName('head')[0]\n var script = document.createElement('script')\n\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n\n opts = opts || {}\n cb = cb || function() {}\n\n script.type = opts.type || 'text/javascript'\n script.charset = opts.charset || 'utf8';\n script.async = 'async' in opts ? !!opts.async : true\n script.src = src\n\n if (opts.attrs) {\n setAttributes(script, opts.attrs)\n }\n\n if (opts.text) {\n script.text = '' + opts.text\n }\n\n var onend = 'onload' in script ? stdOnEnd : ieOnEnd\n onend(script, cb)\n\n // some good legacy browsers (firefox) fail the 'in' detection above\n // so as a fallback we always set onload\n // old IE will ignore this and new IE will set onload\n if (!script.onload) {\n stdOnEnd(script, cb);\n }\n\n head.appendChild(script)\n}\n\nfunction setAttributes(script, attrs) {\n for (var attr in attrs) {\n script.setAttribute(attr, attrs[attr]);\n }\n}\n\nfunction stdOnEnd (script, cb) {\n script.onload = function () {\n this.onerror = this.onload = null\n cb(null, script)\n }\n script.onerror = function () {\n // this.onload = null here is necessary\n // because even IE9 works not like others\n this.onerror = this.onload = null\n cb(new Error('Failed to load ' + this.src), script)\n }\n}\n\nfunction ieOnEnd (script, cb) {\n script.onreadystatechange = function () {\n if (this.readyState != 'complete' && this.readyState != 'loaded') return\n this.onreadystatechange = null\n cb(null, script) // there is no way to catch loading errors in IE8\n }\n}\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = all;\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction all() {\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\n validators[_key] = arguments[_key];\n }\n\n function allPropTypes() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var error = null;\n\n validators.forEach(function (validator) {\n if (error != null) {\n return;\n }\n\n var result = validator.apply(undefined, args);\n if (result != null) {\n error = result;\n }\n });\n\n return error;\n }\n\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createChainableTypeChecker;\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n// Mostly taken from ReactPropTypes.\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\n }\n\n return null;\n }\n\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n args[_key - 6] = arguments[_key];\n }\n\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactPaginate\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"ReactPaginate\"] = factory(root[\"React\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__98__) => {\nreturn ","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__98__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PageView = (props) => {\n let { pageClassName, pageLinkClassName } = props;\n const {\n page,\n selected,\n activeClassName,\n activeLinkClassName,\n getEventListener,\n pageSelectedHandler,\n href,\n extraAriaContext,\n pageLabelBuilder,\n rel,\n } = props;\n\n let ariaLabel =\n props.ariaLabel ||\n 'Page ' + page + (extraAriaContext ? ' ' + extraAriaContext : '');\n let ariaCurrent = null;\n\n if (selected) {\n ariaCurrent = 'page';\n\n ariaLabel = props.ariaLabel || 'Page ' + page + ' is your current page';\n\n if (typeof pageClassName !== 'undefined') {\n pageClassName = pageClassName + ' ' + activeClassName;\n } else {\n pageClassName = activeClassName;\n }\n\n if (typeof pageLinkClassName !== 'undefined') {\n if (typeof activeLinkClassName !== 'undefined') {\n pageLinkClassName = pageLinkClassName + ' ' + activeLinkClassName;\n }\n } else {\n pageLinkClassName = activeLinkClassName;\n }\n }\n\n return (\n
  • \n \n {pageLabelBuilder(page)}\n \n
  • \n );\n};\n\nPageView.propTypes = {\n pageSelectedHandler: PropTypes.func.isRequired,\n selected: PropTypes.bool.isRequired,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n href: PropTypes.string,\n ariaLabel: PropTypes.string,\n page: PropTypes.number.isRequired,\n getEventListener: PropTypes.func.isRequired,\n pageLabelBuilder: PropTypes.func.isRequired,\n rel: PropTypes.string,\n};\n\nexport default PageView;\n","'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst BreakView = (props) => {\n const {\n breakLabel,\n breakAriaLabel,\n breakClassName,\n breakLinkClassName,\n breakHandler,\n getEventListener,\n } = props;\n const className = breakClassName || 'break';\n\n return (\n
  • \n \n {breakLabel}\n \n
  • \n );\n};\n\nBreakView.propTypes = {\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n breakAriaLabel: PropTypes.string,\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n breakHandler: PropTypes.func.isRequired,\n getEventListener: PropTypes.func.isRequired,\n};\n\nexport default BreakView;\n","export function classNameIfDefined(className, orClassName = '') {\n return className !== undefined && className !== null\n ? className\n : orClassName;\n}\n","'use strict';\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport PageView from './PageView';\nimport BreakView from './BreakView';\nimport { classNameIfDefined } from './utils';\n\nexport default class PaginationBoxView extends Component {\n static propTypes = {\n pageCount: PropTypes.number.isRequired,\n pageRangeDisplayed: PropTypes.number,\n marginPagesDisplayed: PropTypes.number,\n previousLabel: PropTypes.node,\n previousAriaLabel: PropTypes.string,\n prevPageRel: PropTypes.string,\n prevRel: PropTypes.string,\n nextLabel: PropTypes.node,\n nextAriaLabel: PropTypes.string,\n nextPageRel: PropTypes.string,\n nextRel: PropTypes.string,\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n breakAriaLabels: PropTypes.shape({\n forward: PropTypes.string,\n backward: PropTypes.string,\n }),\n hrefBuilder: PropTypes.func,\n hrefAllControls: PropTypes.bool,\n onPageChange: PropTypes.func,\n onPageActive: PropTypes.func,\n onClick: PropTypes.func,\n initialPage: PropTypes.number,\n forcePage: PropTypes.number,\n disableInitialCallback: PropTypes.bool,\n containerClassName: PropTypes.string,\n className: PropTypes.string,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n pageLabelBuilder: PropTypes.func,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n previousClassName: PropTypes.string,\n nextClassName: PropTypes.string,\n previousLinkClassName: PropTypes.string,\n nextLinkClassName: PropTypes.string,\n disabledClassName: PropTypes.string,\n disabledLinkClassName: PropTypes.string,\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n ariaLabelBuilder: PropTypes.func,\n eventListener: PropTypes.string,\n renderOnZeroPageCount: PropTypes.func,\n selectedPageRel: PropTypes.string,\n };\n\n static defaultProps = {\n pageRangeDisplayed: 2,\n marginPagesDisplayed: 3,\n activeClassName: 'selected',\n previousLabel: 'Previous',\n previousClassName: 'previous',\n previousAriaLabel: 'Previous page',\n prevPageRel: 'prev',\n prevRel: 'prev',\n nextLabel: 'Next',\n nextClassName: 'next',\n nextAriaLabel: 'Next page',\n nextPageRel: 'next',\n nextRel: 'next',\n breakLabel: '...',\n breakAriaLabels: { forward: 'Jump forward', backward: 'Jump backward' },\n disabledClassName: 'disabled',\n disableInitialCallback: false,\n pageLabelBuilder: (page) => page,\n eventListener: 'onClick',\n renderOnZeroPageCount: undefined,\n selectedPageRel: 'canonical',\n hrefAllControls: false,\n };\n\n constructor(props) {\n super(props);\n\n if (props.initialPage !== undefined && props.forcePage !== undefined) {\n console.warn(\n `(react-paginate): Both initialPage (${props.initialPage}) and forcePage (${props.forcePage}) props are provided, which is discouraged.` +\n ' Use exclusively forcePage prop for a controlled component.\\nSee https://reactjs.org/docs/forms.html#controlled-components'\n );\n }\n\n let initialSelected;\n if (props.initialPage) {\n initialSelected = props.initialPage;\n } else if (props.forcePage) {\n initialSelected = props.forcePage;\n } else {\n initialSelected = 0;\n }\n\n this.state = {\n selected: initialSelected,\n };\n }\n\n componentDidMount() {\n const {\n initialPage,\n disableInitialCallback,\n extraAriaContext,\n pageCount,\n forcePage,\n } = this.props;\n // Call the callback with the initialPage item:\n if (typeof initialPage !== 'undefined' && !disableInitialCallback) {\n this.callCallback(initialPage);\n }\n\n if (extraAriaContext) {\n console.warn(\n 'DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead.'\n );\n }\n\n if (!Number.isInteger(pageCount)) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${pageCount}). Did you forget a Math.ceil()?`\n );\n }\n\n if (initialPage !== undefined && initialPage > pageCount - 1) {\n console.warn(\n `(react-paginate): The initialPage prop provided is greater than the maximum page index from pageCount prop (${initialPage} > ${\n pageCount - 1\n }).`\n );\n }\n\n if (forcePage !== undefined && forcePage > pageCount - 1) {\n console.warn(\n `(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (${forcePage} > ${\n pageCount - 1\n }).`\n );\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.forcePage !== undefined &&\n this.props.forcePage !== prevProps.forcePage\n ) {\n if (this.props.forcePage > this.props.pageCount - 1) {\n console.warn(\n `(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (${\n this.props.forcePage\n } > ${this.props.pageCount - 1}).`\n );\n }\n\n this.setState({ selected: this.props.forcePage });\n }\n\n if (\n Number.isInteger(prevProps.pageCount) &&\n !Number.isInteger(this.props.pageCount)\n ) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${this.props.pageCount}). Did you forget a Math.ceil()?`\n );\n }\n }\n\n handlePreviousPage = (event) => {\n const { selected } = this.state;\n\n this.handleClick(event, null, selected > 0 ? selected - 1 : undefined, {\n isPrevious: true,\n });\n };\n\n handleNextPage = (event) => {\n const { selected } = this.state;\n const { pageCount } = this.props;\n\n this.handleClick(\n event,\n null,\n selected < pageCount - 1 ? selected + 1 : undefined,\n { isNext: true }\n );\n };\n\n handlePageSelected = (selected, event) => {\n if (this.state.selected === selected) {\n this.callActiveCallback(selected);\n this.handleClick(event, null, undefined, { isActive: true });\n return;\n }\n\n this.handleClick(event, null, selected);\n };\n\n handlePageChange = (selected) => {\n if (this.state.selected === selected) {\n return;\n }\n this.setState({ selected });\n\n // Call the callback with the new selected item:\n this.callCallback(selected);\n };\n\n getEventListener = (handlerFunction) => {\n const { eventListener } = this.props;\n return {\n [eventListener]: handlerFunction,\n };\n };\n\n getForwardJump() {\n const { selected } = this.state;\n const { pageCount, pageRangeDisplayed } = this.props;\n\n const forwardJump = selected + pageRangeDisplayed;\n return forwardJump >= pageCount ? pageCount - 1 : forwardJump;\n }\n\n getBackwardJump() {\n const { selected } = this.state;\n const { pageRangeDisplayed } = this.props;\n\n const backwardJump = selected - pageRangeDisplayed;\n return backwardJump < 0 ? 0 : backwardJump;\n }\n\n handleClick = (\n event,\n index,\n nextSelectedPage,\n {\n isPrevious = false,\n isNext = false,\n isBreak = false,\n isActive = false,\n } = {}\n ) => {\n event.preventDefault ? event.preventDefault() : (event.returnValue = false);\n const { selected } = this.state;\n const { onClick } = this.props;\n\n let newPage = nextSelectedPage;\n\n if (onClick) {\n const onClickReturn = onClick({\n index,\n selected,\n nextSelectedPage,\n event,\n isPrevious,\n isNext,\n isBreak,\n isActive,\n });\n if (onClickReturn === false) {\n // We abord standard behavior and let parent handle\n // all behavior.\n return;\n }\n if (Number.isInteger(onClickReturn)) {\n // We assume parent want to go to the returned page.\n newPage = onClickReturn;\n }\n }\n\n if (newPage !== undefined) {\n this.handlePageChange(newPage);\n }\n };\n\n handleBreakClick = (index, event) => {\n const { selected } = this.state;\n\n this.handleClick(\n event,\n index,\n selected < index ? this.getForwardJump() : this.getBackwardJump(),\n { isBreak: true }\n );\n };\n\n getElementHref(pageIndex) {\n const { hrefBuilder, pageCount, hrefAllControls } = this.props;\n if (!hrefBuilder) return;\n if (hrefAllControls || (pageIndex >= 0 && pageIndex < pageCount)) {\n return hrefBuilder(pageIndex + 1, pageCount, this.state.selected);\n }\n }\n\n ariaLabelBuilder(pageIndex) {\n const selected = pageIndex === this.state.selected;\n if (\n this.props.ariaLabelBuilder &&\n pageIndex >= 0 &&\n pageIndex < this.props.pageCount\n ) {\n let label = this.props.ariaLabelBuilder(pageIndex + 1, selected);\n // DEPRECATED: The extraAriaContext prop was used to add additional context\n // to the aria-label. Users should now use the ariaLabelBuilder instead.\n if (this.props.extraAriaContext && !selected) {\n label = label + ' ' + this.props.extraAriaContext;\n }\n return label;\n }\n }\n\n callCallback = (selectedItem) => {\n if (\n this.props.onPageChange !== undefined &&\n typeof this.props.onPageChange === 'function'\n ) {\n this.props.onPageChange({ selected: selectedItem });\n }\n };\n\n callActiveCallback = (selectedItem) => {\n if (\n this.props.onPageActive !== undefined &&\n typeof this.props.onPageActive === 'function'\n ) {\n this.props.onPageActive({ selected: selectedItem });\n }\n };\n\n getElementPageRel = (index) => {\n const { selected } = this.state;\n const { nextPageRel, prevPageRel, selectedPageRel } = this.props;\n\n if (selected - 1 === index) {\n return prevPageRel;\n } else if (selected === index) {\n return selectedPageRel;\n } else if (selected + 1 === index) {\n return nextPageRel;\n }\n return undefined;\n };\n\n getPageElement(index) {\n const { selected } = this.state;\n const {\n pageClassName,\n pageLinkClassName,\n activeClassName,\n activeLinkClassName,\n extraAriaContext,\n pageLabelBuilder,\n } = this.props;\n\n return (\n \n );\n }\n\n pagination = () => {\n const items = [];\n const {\n pageRangeDisplayed,\n pageCount,\n marginPagesDisplayed,\n breakLabel,\n breakClassName,\n breakLinkClassName,\n breakAriaLabels,\n } = this.props;\n\n const { selected } = this.state;\n\n if (pageCount <= pageRangeDisplayed) {\n for (let index = 0; index < pageCount; index++) {\n items.push(this.getPageElement(index));\n }\n } else {\n let leftSide = pageRangeDisplayed / 2;\n let rightSide = pageRangeDisplayed - leftSide;\n\n // If the selected page index is on the default right side of the pagination,\n // we consider that the new right side is made up of it (= only one break element).\n // If the selected page index is on the default left side of the pagination,\n // we consider that the new left side is made up of it (= only one break element).\n if (selected > pageCount - pageRangeDisplayed / 2) {\n rightSide = pageCount - selected;\n leftSide = pageRangeDisplayed - rightSide;\n } else if (selected < pageRangeDisplayed / 2) {\n leftSide = selected;\n rightSide = pageRangeDisplayed - leftSide;\n }\n\n let createPageView = (index) => this.getPageElement(index);\n let index;\n let breakView;\n\n // First pass: process the pages or breaks to display (or not).\n const pagesBreaking = [];\n for (index = 0; index < pageCount; index++) {\n const page = index + 1;\n\n // If the page index is lower than the margin defined,\n // the page has to be displayed on the left side of\n // the pagination.\n if (page <= marginPagesDisplayed) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If the page index is greater than the page count\n // minus the margin defined, the page has to be\n // displayed on the right side of the pagination.\n if (page > pageCount - marginPagesDisplayed) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If it is the first element of the array the rightSide need to be adjusted,\n // otherwise an extra element will be rendered\n const adjustedRightSide =\n selected === 0 && pageRangeDisplayed > 1 ? rightSide - 1 : rightSide;\n\n // If the page index is near the selected page index\n // and inside the defined range (pageRangeDisplayed)\n // we have to display it (it will create the center\n // part of the pagination).\n if (\n index >= selected - leftSide &&\n index <= selected + adjustedRightSide\n ) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If the page index doesn't meet any of the conditions above,\n // we check if the last item of the current \"items\" array\n // is a break element. If not, we add a break element, else,\n // we do nothing (because we don't want to display the page).\n if (\n breakLabel &&\n pagesBreaking.length > 0 &&\n pagesBreaking[pagesBreaking.length - 1].display !== breakView &&\n // We do not show break if only one active page is displayed.\n (pageRangeDisplayed > 0 || marginPagesDisplayed > 0)\n ) {\n const useBreakAriaLabel =\n index < selected\n ? breakAriaLabels.backward\n : breakAriaLabels.forward;\n breakView = (\n \n );\n pagesBreaking.push({ type: 'break', index, display: breakView });\n }\n }\n // Second pass: we remove breaks containing one page to the actual page.\n pagesBreaking.forEach((pageElement, i) => {\n let actualPageElement = pageElement;\n // 1 2 3 4 5 6 7 ... 9 10\n // |\n // 1 2 ... 4 5 6 7 8 9 10\n // |\n // The break should be replaced by the page.\n if (\n pageElement.type === 'break' &&\n pagesBreaking[i - 1] &&\n pagesBreaking[i - 1].type === 'page' &&\n pagesBreaking[i + 1] &&\n pagesBreaking[i + 1].type === 'page' &&\n pagesBreaking[i + 1].index - pagesBreaking[i - 1].index <= 2\n ) {\n actualPageElement = {\n type: 'page',\n index: pageElement.index,\n display: createPageView(pageElement.index),\n };\n }\n // We add the displayed elements in the same pass, to avoid another iteration.\n items.push(actualPageElement.display);\n });\n }\n\n return items;\n };\n\n render() {\n const { renderOnZeroPageCount } = this.props;\n if (this.props.pageCount === 0 && renderOnZeroPageCount !== undefined) {\n return renderOnZeroPageCount\n ? renderOnZeroPageCount(this.props)\n : renderOnZeroPageCount;\n }\n const {\n disabledClassName,\n disabledLinkClassName,\n pageCount,\n className,\n containerClassName,\n previousLabel,\n previousClassName,\n previousLinkClassName,\n previousAriaLabel,\n prevRel,\n nextLabel,\n nextClassName,\n nextLinkClassName,\n nextAriaLabel,\n nextRel,\n } = this.props;\n\n const { selected } = this.state;\n\n const isPreviousDisabled = selected === 0;\n const isNextDisabled = selected === pageCount - 1;\n\n const previousClasses = `${classNameIfDefined(previousClassName)}${\n isPreviousDisabled ? ` ${classNameIfDefined(disabledClassName)}` : ''\n }`;\n const nextClasses = `${classNameIfDefined(nextClassName)}${\n isNextDisabled ? ` ${classNameIfDefined(disabledClassName)}` : ''\n }`;\n\n const previousLinkClasses = `${classNameIfDefined(previousLinkClassName)}${\n isPreviousDisabled ? ` ${classNameIfDefined(disabledLinkClassName)}` : ''\n }`;\n const nextLinkClasses = `${classNameIfDefined(nextLinkClassName)}${\n isNextDisabled ? ` ${classNameIfDefined(disabledLinkClassName)}` : ''\n }`;\n\n const previousAriaDisabled = isPreviousDisabled ? 'true' : 'false';\n const nextAriaDisabled = isNextDisabled ? 'true' : 'false';\n\n return (\n \n
  • \n \n {previousLabel}\n \n
  • \n\n {this.pagination()}\n\n
  • \n \n {nextLabel}\n \n
  • \n \n );\n }\n}\n","import PaginationBoxView from './PaginationBoxView';\n\nexport default PaginationBoxView;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SEEK_ON_PLAY_EXPIRY = 5000;\n\nvar Player = /*#__PURE__*/function (_Component) {\n _inherits(Player, _Component);\n\n var _super = _createSuper(Player);\n\n function Player() {\n var _this;\n\n _classCallCheck(this, Player);\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(_args));\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isReady\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isPlaying\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"isLoading\", true);\n\n _defineProperty(_assertThisInitialized(_this), \"loadOnReady\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"startOnPlay\", true);\n\n _defineProperty(_assertThisInitialized(_this), \"seekOnPlay\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"onDurationCalled\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"handlePlayerMount\", function (player) {\n if (_this.player) {\n _this.progress(); // Ensure onProgress is still called in strict mode\n\n\n return; // Return here to prevent loading twice in strict mode\n }\n\n _this.player = player;\n\n _this.player.load(_this.props.url);\n\n _this.progress();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function (key) {\n if (!_this.player) return null;\n return _this.player[key];\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progress\", function () {\n if (_this.props.url && _this.player && _this.isReady) {\n var playedSeconds = _this.getCurrentTime() || 0;\n\n var loadedSeconds = _this.getSecondsLoaded();\n\n var duration = _this.getDuration();\n\n if (duration) {\n var progress = {\n playedSeconds: playedSeconds,\n played: playedSeconds / duration\n };\n\n if (loadedSeconds !== null) {\n progress.loadedSeconds = loadedSeconds;\n progress.loaded = loadedSeconds / duration;\n } // Only call onProgress if values have changed\n\n\n if (progress.playedSeconds !== _this.prevPlayed || progress.loadedSeconds !== _this.prevLoaded) {\n _this.props.onProgress(progress);\n }\n\n _this.prevPlayed = progress.playedSeconds;\n _this.prevLoaded = progress.loadedSeconds;\n }\n }\n\n _this.progressTimeout = setTimeout(_this.progress, _this.props.progressFrequency || _this.props.progressInterval);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n if (!_this.mounted) return;\n _this.isReady = true;\n _this.isLoading = false;\n var _this$props = _this.props,\n onReady = _this$props.onReady,\n playing = _this$props.playing,\n volume = _this$props.volume,\n muted = _this$props.muted;\n onReady();\n\n if (!muted && volume !== null) {\n _this.player.setVolume(volume);\n }\n\n if (_this.loadOnReady) {\n _this.player.load(_this.loadOnReady, true);\n\n _this.loadOnReady = null;\n } else if (playing) {\n _this.player.play();\n }\n\n _this.handleDurationCheck();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePlay\", function () {\n _this.isPlaying = true;\n _this.isLoading = false;\n var _this$props2 = _this.props,\n onStart = _this$props2.onStart,\n onPlay = _this$props2.onPlay,\n playbackRate = _this$props2.playbackRate;\n\n if (_this.startOnPlay) {\n if (_this.player.setPlaybackRate && playbackRate !== 1) {\n _this.player.setPlaybackRate(playbackRate);\n }\n\n onStart();\n _this.startOnPlay = false;\n }\n\n onPlay();\n\n if (_this.seekOnPlay) {\n _this.seekTo(_this.seekOnPlay);\n\n _this.seekOnPlay = null;\n }\n\n _this.handleDurationCheck();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePause\", function (e) {\n _this.isPlaying = false;\n\n if (!_this.isLoading) {\n _this.props.onPause(e);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleEnded\", function () {\n var _this$props3 = _this.props,\n activePlayer = _this$props3.activePlayer,\n loop = _this$props3.loop,\n onEnded = _this$props3.onEnded;\n\n if (activePlayer.loopOnEnded && loop) {\n _this.seekTo(0);\n }\n\n if (!loop) {\n _this.isPlaying = false;\n onEnded();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleError\", function () {\n var _this$props4;\n\n _this.isLoading = false;\n\n (_this$props4 = _this.props).onError.apply(_this$props4, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleDurationCheck\", function () {\n clearTimeout(_this.durationCheckTimeout);\n\n var duration = _this.getDuration();\n\n if (duration) {\n if (!_this.onDurationCalled) {\n _this.props.onDuration(duration);\n\n _this.onDurationCalled = true;\n }\n } else {\n _this.durationCheckTimeout = setTimeout(_this.handleDurationCheck, 100);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleLoaded\", function () {\n // Sometimes we know loading has stopped but onReady/onPlay are never called\n // so this provides a way for players to avoid getting stuck\n _this.isLoading = false;\n });\n\n return _this;\n }\n\n _createClass(Player, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.progressTimeout);\n clearTimeout(this.durationCheckTimeout);\n\n if (this.isReady && this.props.stopOnUnmount) {\n this.player.stop();\n\n if (this.player.disablePIP) {\n this.player.disablePIP();\n }\n }\n\n this.mounted = false;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n // If there isn’t a player available, don’t do anything\n if (!this.player) {\n return;\n } // Invoke player methods based on changed props\n\n\n var _this$props5 = this.props,\n url = _this$props5.url,\n playing = _this$props5.playing,\n volume = _this$props5.volume,\n muted = _this$props5.muted,\n playbackRate = _this$props5.playbackRate,\n pip = _this$props5.pip,\n loop = _this$props5.loop,\n activePlayer = _this$props5.activePlayer,\n disableDeferredLoading = _this$props5.disableDeferredLoading;\n\n if (!(0, _reactFastCompare[\"default\"])(prevProps.url, url)) {\n if (this.isLoading && !activePlayer.forceLoad && !disableDeferredLoading && !(0, _utils.isMediaStream)(url)) {\n console.warn(\"ReactPlayer: the attempt to load \".concat(url, \" is being deferred until the player has loaded\"));\n this.loadOnReady = url;\n return;\n }\n\n this.isLoading = true;\n this.startOnPlay = true;\n this.onDurationCalled = false;\n this.player.load(url, this.isReady);\n }\n\n if (!prevProps.playing && playing && !this.isPlaying) {\n this.player.play();\n }\n\n if (prevProps.playing && !playing && this.isPlaying) {\n this.player.pause();\n }\n\n if (!prevProps.pip && pip && this.player.enablePIP) {\n this.player.enablePIP();\n }\n\n if (prevProps.pip && !pip && this.player.disablePIP) {\n this.player.disablePIP();\n }\n\n if (prevProps.volume !== volume && volume !== null) {\n this.player.setVolume(volume);\n }\n\n if (prevProps.muted !== muted) {\n if (muted) {\n this.player.mute();\n } else {\n this.player.unmute();\n\n if (volume !== null) {\n // Set volume next tick to fix a bug with DailyMotion\n setTimeout(function () {\n return _this2.player.setVolume(volume);\n });\n }\n }\n }\n\n if (prevProps.playbackRate !== playbackRate && this.player.setPlaybackRate) {\n this.player.setPlaybackRate(playbackRate);\n }\n\n if (prevProps.loop !== loop && this.player.setLoop) {\n this.player.setLoop(loop);\n }\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n if (!this.isReady) return null;\n return this.player.getDuration();\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n if (!this.isReady) return null;\n return this.player.getCurrentTime();\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n if (!this.isReady) return null;\n return this.player.getSecondsLoaded();\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(amount, type, keepPlaying) {\n var _this3 = this;\n\n // When seeking before player is ready, store value and seek later\n if (!this.isReady) {\n if (amount !== 0) {\n this.seekOnPlay = amount;\n setTimeout(function () {\n _this3.seekOnPlay = null;\n }, SEEK_ON_PLAY_EXPIRY);\n }\n\n return;\n }\n\n var isFraction = !type ? amount > 0 && amount < 1 : type === 'fraction';\n\n if (isFraction) {\n // Convert fraction to seconds based on duration\n var duration = this.player.getDuration();\n\n if (!duration) {\n console.warn('ReactPlayer: could not seek using fraction – duration not yet available');\n return;\n }\n\n this.player.seekTo(duration * amount, keepPlaying);\n return;\n }\n\n this.player.seekTo(amount, keepPlaying);\n }\n }, {\n key: \"render\",\n value: function render() {\n var Player = this.props.activePlayer;\n\n if (!Player) {\n return null;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(Player, _extends({}, this.props, {\n onMount: this.handlePlayerMount,\n onReady: this.handleReady,\n onPlay: this.handlePlay,\n onPause: this.handlePause,\n onEnded: this.handleEnded,\n onLoaded: this.handleLoaded,\n onError: this.handleError\n }));\n }\n }]);\n\n return Player;\n}(_react.Component);\n\nexports[\"default\"] = Player;\n\n_defineProperty(Player, \"displayName\", 'Player');\n\n_defineProperty(Player, \"propTypes\", _props.propTypes);\n\n_defineProperty(Player, \"defaultProps\", _props.defaultProps);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ICON_SIZE = '64px';\nvar cache = {};\n\nvar Preview = /*#__PURE__*/function (_Component) {\n _inherits(Preview, _Component);\n\n var _super = _createSuper(Preview);\n\n function Preview() {\n var _this;\n\n _classCallCheck(this, Preview);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n image: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyPress\", function (e) {\n if (e.key === 'Enter' || e.key === ' ') {\n _this.props.onClick();\n }\n });\n\n return _this;\n }\n\n _createClass(Preview, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n this.fetchImage(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n url = _this$props.url,\n light = _this$props.light;\n\n if (prevProps.url !== url || prevProps.light !== light) {\n this.fetchImage(this.props);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n }\n }, {\n key: \"fetchImage\",\n value: function fetchImage(_ref) {\n var _this2 = this;\n\n var url = _ref.url,\n light = _ref.light,\n oEmbedUrl = _ref.oEmbedUrl;\n\n if ( /*#__PURE__*/_react[\"default\"].isValidElement(light)) {\n return;\n }\n\n if (typeof light === 'string') {\n this.setState({\n image: light\n });\n return;\n }\n\n if (cache[url]) {\n this.setState({\n image: cache[url]\n });\n return;\n }\n\n this.setState({\n image: null\n });\n return window.fetch(oEmbedUrl.replace('{url}', url)).then(function (response) {\n return response.json();\n }).then(function (data) {\n if (data.thumbnail_url && _this2.mounted) {\n var image = data.thumbnail_url.replace('height=100', 'height=480').replace('-d_295x166', '-d_640');\n\n _this2.setState({\n image: image\n });\n\n cache[url] = image;\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n light = _this$props2.light,\n onClick = _this$props2.onClick,\n playIcon = _this$props2.playIcon,\n previewTabIndex = _this$props2.previewTabIndex;\n var image = this.state.image;\n\n var isElement = /*#__PURE__*/_react[\"default\"].isValidElement(light);\n\n var flexCenter = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n };\n var styles = {\n preview: _objectSpread({\n width: '100%',\n height: '100%',\n backgroundImage: image && !isElement ? \"url(\".concat(image, \")\") : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n cursor: 'pointer'\n }, flexCenter),\n shadow: _objectSpread({\n background: 'radial-gradient(rgb(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%)',\n borderRadius: ICON_SIZE,\n width: ICON_SIZE,\n height: ICON_SIZE,\n position: isElement ? 'absolute' : undefined\n }, flexCenter),\n playIcon: {\n borderStyle: 'solid',\n borderWidth: '16px 0 16px 26px',\n borderColor: 'transparent transparent transparent white',\n marginLeft: '7px'\n }\n };\n\n var defaultPlayIcon = /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: styles.shadow,\n className: \"react-player__shadow\"\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: styles.playIcon,\n className: \"react-player__play-icon\"\n }));\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: styles.preview,\n className: \"react-player__preview\",\n onClick: onClick,\n tabIndex: previewTabIndex,\n onKeyPress: this.handleKeyPress\n }, isElement ? light : null, playIcon || defaultPlayIcon);\n }\n }]);\n\n return Preview;\n}(_react.Component);\n\nexports[\"default\"] = Preview;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createReactPlayer = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _deepmerge = _interopRequireDefault(require(\"deepmerge\"));\n\nvar _memoizeOne = _interopRequireDefault(require(\"memoize-one\"));\n\nvar _reactFastCompare = _interopRequireDefault(require(\"react-fast-compare\"));\n\nvar _props = require(\"./props\");\n\nvar _utils = require(\"./utils\");\n\nvar _Player3 = _interopRequireDefault(require(\"./Player\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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 _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Preview = /*#__PURE__*/(0, _react.lazy)(function () {\n return Promise.resolve().then(function () {\n return _interopRequireWildcard(require('./Preview'));\n });\n});\nvar IS_BROWSER = typeof window !== 'undefined' && window.document;\nvar IS_GLOBAL = typeof global !== 'undefined' && global.window && global.window.document;\nvar SUPPORTED_PROPS = Object.keys(_props.propTypes); // Return null when rendering on the server\n// as Suspense is not supported yet\n\nvar UniversalSuspense = IS_BROWSER || IS_GLOBAL ? _react.Suspense : function () {\n return null;\n};\nvar customPlayers = [];\n\nvar createReactPlayer = function createReactPlayer(players, fallback) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(ReactPlayer, _Component);\n\n var _super = _createSuper(ReactPlayer);\n\n function ReactPlayer() {\n var _this;\n\n _classCallCheck(this, ReactPlayer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n showPreview: !!_this.props.light\n });\n\n _defineProperty(_assertThisInitialized(_this), \"references\", {\n wrapper: function wrapper(_wrapper) {\n _this.wrapper = _wrapper;\n },\n player: function player(_player) {\n _this.player = _player;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickPreview\", function (e) {\n _this.setState({\n showPreview: false\n });\n\n _this.props.onClickPreview(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"showPreview\", function () {\n _this.setState({\n showPreview: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getDuration\", function () {\n if (!_this.player) return null;\n return _this.player.getDuration();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getCurrentTime\", function () {\n if (!_this.player) return null;\n return _this.player.getCurrentTime();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getSecondsLoaded\", function () {\n if (!_this.player) return null;\n return _this.player.getSecondsLoaded();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function () {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'player';\n if (!_this.player) return null;\n return _this.player.getInternalPlayer(key);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"seekTo\", function (fraction, type, keepPlaying) {\n if (!_this.player) return null;\n\n _this.player.seekTo(fraction, type, keepPlaying);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleReady\", function () {\n _this.props.onReady(_assertThisInitialized(_this));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getActivePlayer\", (0, _memoizeOne[\"default\"])(function (url) {\n for (var _i = 0, _arr = [].concat(customPlayers, _toConsumableArray(players)); _i < _arr.length; _i++) {\n var player = _arr[_i];\n\n if (player.canPlay(url)) {\n return player;\n }\n }\n\n if (fallback) {\n return fallback;\n }\n\n return null;\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"getConfig\", (0, _memoizeOne[\"default\"])(function (url, key) {\n var config = _this.props.config;\n return _deepmerge[\"default\"].all([_props.defaultProps.config, _props.defaultProps.config[key] || {}, config, config[key] || {}]);\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"getAttributes\", (0, _memoizeOne[\"default\"])(function (url) {\n return (0, _utils.omit)(_this.props, SUPPORTED_PROPS);\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"renderActivePlayer\", function (url) {\n if (!url) return null;\n\n var player = _this.getActivePlayer(url);\n\n if (!player) return null;\n\n var config = _this.getConfig(url, player.key);\n\n return /*#__PURE__*/_react[\"default\"].createElement(_Player3[\"default\"], _extends({}, _this.props, {\n key: player.key,\n ref: _this.references.player,\n config: config,\n activePlayer: player.lazyPlayer || player,\n onReady: _this.handleReady\n }));\n });\n\n return _this;\n }\n\n _createClass(ReactPlayer, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _reactFastCompare[\"default\"])(this.props, nextProps) || !(0, _reactFastCompare[\"default\"])(this.state, nextState);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var light = this.props.light;\n\n if (!prevProps.light && light) {\n this.setState({\n showPreview: true\n });\n }\n\n if (prevProps.light && !light) {\n this.setState({\n showPreview: false\n });\n }\n }\n }, {\n key: \"renderPreview\",\n value: function renderPreview(url) {\n if (!url) return null;\n var _this$props = this.props,\n light = _this$props.light,\n playIcon = _this$props.playIcon,\n previewTabIndex = _this$props.previewTabIndex,\n oEmbedUrl = _this$props.oEmbedUrl;\n return /*#__PURE__*/_react[\"default\"].createElement(Preview, {\n url: url,\n light: light,\n playIcon: playIcon,\n previewTabIndex: previewTabIndex,\n oEmbedUrl: oEmbedUrl,\n onClick: this.handleClickPreview\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n url = _this$props2.url,\n style = _this$props2.style,\n width = _this$props2.width,\n height = _this$props2.height,\n fallback = _this$props2.fallback,\n Wrapper = _this$props2.wrapper;\n var showPreview = this.state.showPreview;\n var attributes = this.getAttributes(url);\n var wrapperRef = typeof Wrapper === 'string' ? this.references.wrapper : undefined;\n return /*#__PURE__*/_react[\"default\"].createElement(Wrapper, _extends({\n ref: wrapperRef,\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height\n })\n }, attributes), /*#__PURE__*/_react[\"default\"].createElement(UniversalSuspense, {\n fallback: fallback\n }, showPreview ? this.renderPreview(url) : this.renderActivePlayer(url)));\n }\n }]);\n\n return ReactPlayer;\n }(_react.Component), _defineProperty(_class, \"displayName\", 'ReactPlayer'), _defineProperty(_class, \"propTypes\", _props.propTypes), _defineProperty(_class, \"defaultProps\", _props.defaultProps), _defineProperty(_class, \"addCustomPlayer\", function (player) {\n customPlayers.push(player);\n }), _defineProperty(_class, \"removeCustomPlayers\", function () {\n customPlayers.length = 0;\n }), _defineProperty(_class, \"canPlay\", function (url) {\n for (var _i2 = 0, _arr2 = [].concat(customPlayers, _toConsumableArray(players)); _i2 < _arr2.length; _i2++) {\n var _Player = _arr2[_i2];\n\n if (_Player.canPlay(url)) {\n return true;\n }\n }\n\n return false;\n }), _defineProperty(_class, \"canEnablePIP\", function (url) {\n for (var _i3 = 0, _arr3 = [].concat(customPlayers, _toConsumableArray(players)); _i3 < _arr3.length; _i3++) {\n var _Player2 = _arr3[_i3];\n\n if (_Player2.canEnablePIP && _Player2.canEnablePIP(url)) {\n return true;\n }\n }\n\n return false;\n }), _temp;\n};\n\nexports.createReactPlayer = createReactPlayer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _players = _interopRequireDefault(require(\"./players\"));\n\nvar _ReactPlayer = require(\"./ReactPlayer\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// Fall back to FilePlayer if nothing else can play the URL\nvar fallback = _players[\"default\"][_players[\"default\"].length - 1];\n\nvar _default = (0, _ReactPlayer.createReactPlayer)(_players[\"default\"], fallback);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canPlay = exports.FLV_EXTENSIONS = exports.DASH_EXTENSIONS = exports.HLS_EXTENSIONS = exports.VIDEO_EXTENSIONS = exports.AUDIO_EXTENSIONS = exports.MATCH_URL_KALTURA = exports.MATCH_URL_VIDYARD = exports.MATCH_URL_MIXCLOUD = exports.MATCH_URL_DAILYMOTION = exports.MATCH_URL_TWITCH_CHANNEL = exports.MATCH_URL_TWITCH_VIDEO = exports.MATCH_URL_WISTIA = exports.MATCH_URL_STREAMABLE = exports.MATCH_URL_FACEBOOK_WATCH = exports.MATCH_URL_FACEBOOK = exports.MATCH_URL_VIMEO = exports.MATCH_URL_SOUNDCLOUD = exports.MATCH_URL_YOUTUBE = void 0;\n\nvar _utils = require(\"./utils\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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\nvar MATCH_URL_YOUTUBE = /(?:youtu\\.be\\/|youtube(?:-nocookie|education)?\\.com\\/(?:embed\\/|v\\/|watch\\/|watch\\?v=|watch\\?.+&v=|shorts\\/|live\\/))((\\w|-){11})|youtube\\.com\\/playlist\\?list=|youtube\\.com\\/user\\//;\nexports.MATCH_URL_YOUTUBE = MATCH_URL_YOUTUBE;\nvar MATCH_URL_SOUNDCLOUD = /(?:soundcloud\\.com|snd\\.sc)\\/[^.]+$/;\nexports.MATCH_URL_SOUNDCLOUD = MATCH_URL_SOUNDCLOUD;\nvar MATCH_URL_VIMEO = /vimeo\\.com\\/(?!progressive_redirect).+/;\nexports.MATCH_URL_VIMEO = MATCH_URL_VIMEO;\nvar MATCH_URL_FACEBOOK = /^https?:\\/\\/(www\\.)?facebook\\.com.*\\/(video(s)?|watch|story)(\\.php?|\\/).+$/;\nexports.MATCH_URL_FACEBOOK = MATCH_URL_FACEBOOK;\nvar MATCH_URL_FACEBOOK_WATCH = /^https?:\\/\\/fb\\.watch\\/.+$/;\nexports.MATCH_URL_FACEBOOK_WATCH = MATCH_URL_FACEBOOK_WATCH;\nvar MATCH_URL_STREAMABLE = /streamable\\.com\\/([a-z0-9]+)$/;\nexports.MATCH_URL_STREAMABLE = MATCH_URL_STREAMABLE;\nvar MATCH_URL_WISTIA = /(?:wistia\\.(?:com|net)|wi\\.st)\\/(?:medias|embed)\\/(?:iframe\\/)?([^?]+)/;\nexports.MATCH_URL_WISTIA = MATCH_URL_WISTIA;\nvar MATCH_URL_TWITCH_VIDEO = /(?:www\\.|go\\.)?twitch\\.tv\\/videos\\/(\\d+)($|\\?)/;\nexports.MATCH_URL_TWITCH_VIDEO = MATCH_URL_TWITCH_VIDEO;\nvar MATCH_URL_TWITCH_CHANNEL = /(?:www\\.|go\\.)?twitch\\.tv\\/([a-zA-Z0-9_]+)($|\\?)/;\nexports.MATCH_URL_TWITCH_CHANNEL = MATCH_URL_TWITCH_CHANNEL;\nvar MATCH_URL_DAILYMOTION = /^(?:(?:https?):)?(?:\\/\\/)?(?:www\\.)?(?:(?:dailymotion\\.com(?:\\/embed)?\\/video)|dai\\.ly)\\/([a-zA-Z0-9]+)(?:_[\\w_-]+)?(?:[\\w.#_-]+)?/;\nexports.MATCH_URL_DAILYMOTION = MATCH_URL_DAILYMOTION;\nvar MATCH_URL_MIXCLOUD = /mixcloud\\.com\\/([^/]+\\/[^/]+)/;\nexports.MATCH_URL_MIXCLOUD = MATCH_URL_MIXCLOUD;\nvar MATCH_URL_VIDYARD = /vidyard.com\\/(?:watch\\/)?([a-zA-Z0-9-_]+)/;\nexports.MATCH_URL_VIDYARD = MATCH_URL_VIDYARD;\nvar MATCH_URL_KALTURA = /^https?:\\/\\/[a-zA-Z]+\\.kaltura.(com|org)\\/p\\/([0-9]+)\\/sp\\/([0-9]+)00\\/embedIframeJs\\/uiconf_id\\/([0-9]+)\\/partner_id\\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_].*)$/;\nexports.MATCH_URL_KALTURA = MATCH_URL_KALTURA;\nvar AUDIO_EXTENSIONS = /\\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\\?)/i;\nexports.AUDIO_EXTENSIONS = AUDIO_EXTENSIONS;\nvar VIDEO_EXTENSIONS = /\\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\\d+]+)?($|\\?)/i;\nexports.VIDEO_EXTENSIONS = VIDEO_EXTENSIONS;\nvar HLS_EXTENSIONS = /\\.(m3u8)($|\\?)/i;\nexports.HLS_EXTENSIONS = HLS_EXTENSIONS;\nvar DASH_EXTENSIONS = /\\.(mpd)($|\\?)/i;\nexports.DASH_EXTENSIONS = DASH_EXTENSIONS;\nvar FLV_EXTENSIONS = /\\.(flv)($|\\?)/i;\nexports.FLV_EXTENSIONS = FLV_EXTENSIONS;\n\nvar canPlayFile = function canPlayFile(url) {\n if (url instanceof Array) {\n var _iterator = _createForOfIteratorHelper(url),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n\n if (typeof item === 'string' && canPlayFile(item)) {\n return true;\n }\n\n if (canPlayFile(item.src)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n }\n\n if ((0, _utils.isMediaStream)(url) || (0, _utils.isBlobUrl)(url)) {\n return true;\n }\n\n return AUDIO_EXTENSIONS.test(url) || VIDEO_EXTENSIONS.test(url) || HLS_EXTENSIONS.test(url) || DASH_EXTENSIONS.test(url) || FLV_EXTENSIONS.test(url);\n};\n\nvar canPlay = {\n youtube: function youtube(url) {\n if (url instanceof Array) {\n return url.every(function (item) {\n return MATCH_URL_YOUTUBE.test(item);\n });\n }\n\n return MATCH_URL_YOUTUBE.test(url);\n },\n soundcloud: function soundcloud(url) {\n return MATCH_URL_SOUNDCLOUD.test(url) && !AUDIO_EXTENSIONS.test(url);\n },\n vimeo: function vimeo(url) {\n return MATCH_URL_VIMEO.test(url) && !VIDEO_EXTENSIONS.test(url) && !HLS_EXTENSIONS.test(url);\n },\n facebook: function facebook(url) {\n return MATCH_URL_FACEBOOK.test(url) || MATCH_URL_FACEBOOK_WATCH.test(url);\n },\n streamable: function streamable(url) {\n return MATCH_URL_STREAMABLE.test(url);\n },\n wistia: function wistia(url) {\n return MATCH_URL_WISTIA.test(url);\n },\n twitch: function twitch(url) {\n return MATCH_URL_TWITCH_VIDEO.test(url) || MATCH_URL_TWITCH_CHANNEL.test(url);\n },\n dailymotion: function dailymotion(url) {\n return MATCH_URL_DAILYMOTION.test(url);\n },\n mixcloud: function mixcloud(url) {\n return MATCH_URL_MIXCLOUD.test(url);\n },\n vidyard: function vidyard(url) {\n return MATCH_URL_VIDYARD.test(url);\n },\n kaltura: function kaltura(url) {\n return MATCH_URL_KALTURA.test(url);\n },\n file: canPlayFile\n};\nexports.canPlay = canPlay;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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 _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://api.dmcdn.net/all.js';\nvar SDK_GLOBAL = 'DM';\nvar SDK_GLOBAL_READY = 'dmAsyncInit';\n\nvar DailyMotion = /*#__PURE__*/function (_Component) {\n _inherits(DailyMotion, _Component);\n\n var _super = _createSuper(DailyMotion);\n\n function DailyMotion() {\n var _this;\n\n _classCallCheck(this, DailyMotion);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"onDurationChange\", function () {\n var duration = _this.getDuration();\n\n _this.props.onDuration(duration);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('setMuted', true);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('setMuted', false);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (container) {\n _this.container = container;\n });\n\n return _this;\n }\n\n _createClass(DailyMotion, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this2 = this;\n\n var _this$props = this.props,\n controls = _this$props.controls,\n config = _this$props.config,\n onError = _this$props.onError,\n playing = _this$props.playing;\n\n var _url$match = url.match(_patterns.MATCH_URL_DAILYMOTION),\n _url$match2 = _slicedToArray(_url$match, 2),\n id = _url$match2[1];\n\n if (this.player) {\n this.player.load(id, {\n start: (0, _utils.parseStartTime)(url),\n autoplay: playing\n });\n return;\n }\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY, function (DM) {\n return DM.player;\n }).then(function (DM) {\n if (!_this2.container) return;\n var Player = DM.player;\n _this2.player = new Player(_this2.container, {\n width: '100%',\n height: '100%',\n video: id,\n params: _objectSpread({\n controls: controls,\n autoplay: _this2.props.playing,\n mute: _this2.props.muted,\n start: (0, _utils.parseStartTime)(url),\n origin: window.location.origin\n }, config.params),\n events: {\n apiready: _this2.props.onReady,\n seeked: function seeked() {\n return _this2.props.onSeek(_this2.player.currentTime);\n },\n video_end: _this2.props.onEnded,\n durationchange: _this2.onDurationChange,\n pause: _this2.props.onPause,\n playing: _this2.props.onPlay,\n waiting: _this2.props.onBuffer,\n error: function error(event) {\n return onError(event);\n }\n }\n });\n }, onError);\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {// Nothing to do\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n var keepPlaying = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n this.callPlayer('seek', seconds);\n\n if (!keepPlaying) {\n this.pause();\n }\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.player.duration || null;\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.player.currentTime;\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return this.player.bufferedTime;\n }\n }, {\n key: \"render\",\n value: function render() {\n var display = this.props.display;\n var style = {\n width: '100%',\n height: '100%',\n display: display\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: style\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: this.ref\n }));\n }\n }]);\n\n return DailyMotion;\n}(_react.Component);\n\nexports[\"default\"] = DailyMotion;\n\n_defineProperty(DailyMotion, \"displayName\", 'DailyMotion');\n\n_defineProperty(DailyMotion, \"canPlay\", _patterns.canPlay.dailymotion);\n\n_defineProperty(DailyMotion, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar SDK_URL = 'https://connect.facebook.net/en_US/sdk.js';\nvar SDK_GLOBAL = 'FB';\nvar SDK_GLOBAL_READY = 'fbAsyncInit';\nvar PLAYER_ID_PREFIX = 'facebook-player-';\n\nvar Facebook = /*#__PURE__*/function (_Component) {\n _inherits(Facebook, _Component);\n\n var _super = _createSuper(Facebook);\n\n function Facebook() {\n var _this;\n\n _classCallCheck(this, Facebook);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"callPlayer\", _utils.callPlayer);\n\n _defineProperty(_assertThisInitialized(_this), \"playerID\", _this.props.config.playerId || \"\".concat(PLAYER_ID_PREFIX).concat((0, _utils.randomString)()));\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.callPlayer('mute');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.callPlayer('unmute');\n });\n\n return _this;\n }\n\n _createClass(Facebook, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n }\n }, {\n key: \"load\",\n value: function load(url, isReady) {\n var _this2 = this;\n\n if (isReady) {\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (FB) {\n return FB.XFBML.parse();\n });\n return;\n }\n\n (0, _utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then(function (FB) {\n FB.init({\n appId: _this2.props.config.appId,\n xfbml: true,\n version: _this2.props.config.version\n });\n FB.Event.subscribe('xfbml.render', function (msg) {\n // Here we know the SDK has loaded, even if onReady/onPlay\n // is not called due to a video that cannot be embedded\n _this2.props.onLoaded();\n });\n FB.Event.subscribe('xfbml.ready', function (msg) {\n if (msg.type === 'video' && msg.id === _this2.playerID) {\n _this2.player = msg.instance;\n\n _this2.player.subscribe('startedPlaying', _this2.props.onPlay);\n\n _this2.player.subscribe('paused', _this2.props.onPause);\n\n _this2.player.subscribe('finishedPlaying', _this2.props.onEnded);\n\n _this2.player.subscribe('startedBuffering', _this2.props.onBuffer);\n\n _this2.player.subscribe('finishedBuffering', _this2.props.onBufferEnd);\n\n _this2.player.subscribe('error', _this2.props.onError);\n\n if (_this2.props.muted) {\n _this2.callPlayer('mute');\n } else {\n _this2.callPlayer('unmute');\n }\n\n _this2.props.onReady(); // For some reason Facebook have added `visibility: hidden`\n // to the iframe when autoplay fails, so here we set it back\n\n\n document.getElementById(_this2.playerID).querySelector('iframe').style.visibility = 'visible';\n }\n });\n });\n }\n }, {\n key: \"play\",\n value: function play() {\n this.callPlayer('play');\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.callPlayer('pause');\n }\n }, {\n key: \"stop\",\n value: function stop() {// Nothing to do\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(seconds) {\n var keepPlaying = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n this.callPlayer('seek', seconds);\n\n if (!keepPlaying) {\n this.pause();\n }\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(fraction) {\n this.callPlayer('setVolume', fraction);\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.callPlayer('getDuration');\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.callPlayer('getCurrentPosition');\n }\n }, {\n key: \"getSecondsLoaded\",\n value: function getSecondsLoaded() {\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var attributes = this.props.config.attributes;\n var style = {\n width: '100%',\n height: '100%'\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n style: style,\n id: this.playerID,\n className: \"fb-video\",\n \"data-href\": this.props.url,\n \"data-autoplay\": this.props.playing ? 'true' : 'false',\n \"data-allowfullscreen\": \"true\",\n \"data-controls\": this.props.controls ? 'true' : 'false'\n }, attributes));\n }\n }]);\n\n return Facebook;\n}(_react.Component);\n\nexports[\"default\"] = Facebook;\n\n_defineProperty(Facebook, \"displayName\", 'Facebook');\n\n_defineProperty(Facebook, \"canPlay\", _patterns.canPlay.facebook);\n\n_defineProperty(Facebook, \"loopOnEnded\", true);","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _utils = require(\"../utils\");\n\nvar _patterns = require(\"../patterns\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar HAS_NAVIGATOR = typeof navigator !== 'undefined';\nvar IS_IPAD_PRO = HAS_NAVIGATOR && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;\nvar IS_IOS = HAS_NAVIGATOR && (/iPad|iPhone|iPod/.test(navigator.userAgent) || IS_IPAD_PRO) && !window.MSStream;\nvar IS_SAFARI = HAS_NAVIGATOR && /^((?!chrome|android).)*safari/i.test(navigator.userAgent) && !window.MSStream;\nvar HLS_SDK_URL = 'https://cdn.jsdelivr.net/npm/hls.js@VERSION/dist/hls.min.js';\nvar HLS_GLOBAL = 'Hls';\nvar DASH_SDK_URL = 'https://cdnjs.cloudflare.com/ajax/libs/dashjs/VERSION/dash.all.min.js';\nvar DASH_GLOBAL = 'dashjs';\nvar FLV_SDK_URL = 'https://cdn.jsdelivr.net/npm/flv.js@VERSION/dist/flv.min.js';\nvar FLV_GLOBAL = 'flvjs';\nvar MATCH_DROPBOX_URL = /www\\.dropbox\\.com\\/.+/;\nvar MATCH_CLOUDFLARE_STREAM = /https:\\/\\/watch\\.cloudflarestream\\.com\\/([a-z0-9]+)/;\nvar REPLACE_CLOUDFLARE_STREAM = 'https://videodelivery.net/{id}/manifest/video.m3u8';\n\nvar FilePlayer = /*#__PURE__*/function (_Component) {\n _inherits(FilePlayer, _Component);\n\n var _super = _createSuper(FilePlayer);\n\n function FilePlayer() {\n var _this;\n\n _classCallCheck(this, FilePlayer);\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(_args));\n\n _defineProperty(_assertThisInitialized(_this), \"onReady\", function () {\n var _this$props;\n\n return (_this$props = _this.props).onReady.apply(_this$props, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPlay\", function () {\n var _this$props2;\n\n return (_this$props2 = _this.props).onPlay.apply(_this$props2, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBuffer\", function () {\n var _this$props3;\n\n return (_this$props3 = _this.props).onBuffer.apply(_this$props3, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBufferEnd\", function () {\n var _this$props4;\n\n return (_this$props4 = _this.props).onBufferEnd.apply(_this$props4, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPause\", function () {\n var _this$props5;\n\n return (_this$props5 = _this.props).onPause.apply(_this$props5, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onEnded\", function () {\n var _this$props6;\n\n return (_this$props6 = _this.props).onEnded.apply(_this$props6, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onError\", function () {\n var _this$props7;\n\n return (_this$props7 = _this.props).onError.apply(_this$props7, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPlayBackRateChange\", function (event) {\n return _this.props.onPlaybackRateChange(event.target.playbackRate);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onEnablePIP\", function () {\n var _this$props8;\n\n return (_this$props8 = _this.props).onEnablePIP.apply(_this$props8, arguments);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDisablePIP\", function (e) {\n var _this$props9 = _this.props,\n onDisablePIP = _this$props9.onDisablePIP,\n playing = _this$props9.playing;\n onDisablePIP(e);\n\n if (playing) {\n _this.play();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPresentationModeChange\", function (e) {\n if (_this.player && (0, _utils.supportsWebKitPresentationMode)(_this.player)) {\n var webkitPresentationMode = _this.player.webkitPresentationMode;\n\n if (webkitPresentationMode === 'picture-in-picture') {\n _this.onEnablePIP(e);\n } else if (webkitPresentationMode === 'inline') {\n _this.onDisablePIP(e);\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSeek\", function (e) {\n _this.props.onSeek(e.target.currentTime);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"mute\", function () {\n _this.player.muted = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unmute\", function () {\n _this.player.muted = false;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderSourceElement\", function (source, index) {\n if (typeof source === 'string') {\n return /*#__PURE__*/_react[\"default\"].createElement(\"source\", {\n key: index,\n src: source\n });\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"source\", _extends({\n key: index\n }, source));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderTrack\", function (track, index) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"track\", _extends({\n key: index\n }, track));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ref\", function (player) {\n if (_this.player) {\n // Store previous player to be used by removeListeners()\n _this.prevPlayer = _this.player;\n }\n\n _this.player = player;\n });\n\n return _this;\n }\n\n _createClass(FilePlayer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.onMount && this.props.onMount(this);\n this.addListeners(this.player);\n var src = this.getSource(this.props.url); // Ensure src is set in strict mode\n\n if (src) {\n this.player.src = src;\n }\n\n if (IS_IOS || this.props.config.forceDisableHls) {\n this.player.load();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.shouldUseAudio(this.props) !== this.shouldUseAudio(prevProps)) {\n this.removeListeners(this.prevPlayer, prevProps.url);\n this.addListeners(this.player);\n }\n\n if (this.props.url !== prevProps.url && !(0, _utils.isMediaStream)(this.props.url) && !(this.props.url instanceof Array) // Avoid infinite loop\n ) {\n this.player.srcObject = null;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.player.removeAttribute('src');\n this.removeListeners(this.player);\n\n if (this.hls) {\n this.hls.destroy();\n }\n }\n }, {\n key: \"addListeners\",\n value: function addListeners(player) {\n var _this$props10 = this.props,\n url = _this$props10.url,\n playsinline = _this$props10.playsinline;\n player.addEventListener('play', this.onPlay);\n player.addEventListener('waiting', this.onBuffer);\n player.addEventListener('playing', this.onBufferEnd);\n player.addEventListener('pause', this.onPause);\n player.addEventListener('seeked', this.onSeek);\n player.addEventListener('ended', this.onEnded);\n player.addEventListener('error', this.onError);\n player.addEventListener('ratechange', this.onPlayBackRateChange);\n player.addEventListener('enterpictureinpicture', this.onEnablePIP);\n player.addEventListener('leavepictureinpicture', this.onDisablePIP);\n player.addEventListener('webkitpresentationmodechanged', this.onPresentationModeChange);\n\n if (!this.shouldUseHLS(url)) {\n // onReady is handled by hls.js\n player.addEventListener('canplay', this.onReady);\n }\n\n if (playsinline) {\n player.setAttribute('playsinline', '');\n player.setAttribute('webkit-playsinline', '');\n player.setAttribute('x5-playsinline', '');\n }\n }\n }, {\n key: \"removeListeners\",\n value: function removeListeners(player, url) {\n player.removeEventListener('canplay', this.onReady);\n player.removeEventListener('play', this.onPlay);\n player.removeEventListener('waiting', this.onBuffer);\n player.removeEventListener('playing', this.onBufferEnd);\n player.removeEventListener('pause', this.onPause);\n player.removeEventListener('seeked', this.onSeek);\n player.removeEventListener('ended', this.onEnded);\n player.removeEventListener('error', this.onError);\n player.removeEventListener('ratechange', this.onPlayBackRateChange);\n player.removeEventListener('enterpictureinpicture', this.onEnablePIP);\n player.removeEventListener('leavepictureinpicture', this.onDisablePIP);\n player.removeEventListener('webkitpresentationmodechanged', this.onPresentationModeChange);\n\n if (!this.shouldUseHLS(url)) {\n // onReady is handled by hls.js\n player.removeEventListener('canplay', this.onReady);\n }\n } // Proxy methods to prevent listener leaks\n\n }, {\n key: \"shouldUseAudio\",\n value: function shouldUseAudio(props) {\n if (props.config.forceVideo) {\n return false;\n }\n\n if (props.config.attributes.poster) {\n return false; // Use