{"version":3,"file":"static/js/main.bb06c1ae.js","mappings":"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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,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,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,KACA,QACA,IACA,KACA,MACA,MACA,QACA,MACA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,UCrII0rB,GAAc,wCAEd5L,GAAe,WAMG,SAAAwP,GAAO71E,GAC7B,OAAOA,EACJ+9B,QAAQk0C,GAAa,KACrBl0C,QAAQsoC,GAAc,GAC3B,CCdA,IAAM5vC,GAAgB,WAOhB44D,GAAoB,SAACrvF,GAAiB,OAAA3B,OAAOsG,aAAa3E,GAAQA,EAAO,GAAK,GAAK,IAA7C,EAGpB,SAAAoC,GAAuBpC,GAC7C,IACIpB,EADAG,EAAO,GAIX,IAAKH,EAAI4E,KAAKkkB,IAAI1nB,GAAOpB,EAXP,GAWwBA,EAAKA,EAX7B,GAWgD,EAChEG,EAAOswF,GAAkBzwF,EAZT,IAY4BG,EAG9C,OAAQswF,GAAkBzwF,EAfR,IAe2BG,GAAMg/B,QAAQtH,GAAe,QAC5E,CCpBO,IAAAD,GAKMu7C,GAAQ,SAAC/xE,EAAWpB,GAG/B,IAFA,IAAIG,EAAIH,EAAEK,OAEHF,GACLiB,EAAS,GAAJA,EAAUpB,EAAEuF,aAAapF,GAGhC,OAAOiB,CACT,EAGa+Q,GAAO,SAAC/Q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9B,EAAU,EACVh9B,EAAU,EAEVxD,EAAM,IAAII,MAAM,IAChB0C,EAAM,IAAI1C,MAAM,IAChBuE,EAAM,IAAIvE,MAAM,IAChBk0E,EAAM,IAAIl0E,MAAM,KAChBy4B,EAAgB,IAAIz4B,MAAM,MAG1BkT,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,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,IAGE5O,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE+6E,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7Dz8E,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEpB,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,KAGEomD,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEomB,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/D56D,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEglD,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,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K,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,GAEJvnL,EAAE,aAAc,iBAChBj3E,EAAKgjQ,WAAa,WAChB,OAAO,YAEThjQ,EAAKijQ,WAAa,SAASjjQ,GACzB,OAAOA,CAET,EAAAA,EAAKkjQ,WAAa,SAASljQ,EAAGoB,EAAGib,GAC/B,OAAOjb,EAAEib,EAAI,IAEfrc,EAAKmjQ,WAAa,SAASnjQ,EAAGoB,EAAGib,GAC/B,OAAOjb,EAAEib,EAAI,IAEfrc,EAAKojQ,WAAa,SAASpjQ,EAAGoB,EAAGib,GAC/B,OAAOjb,EAAEib,EAAI,IAEfrc,EAAKqjQ,WAAa,SAASrjQ,EAAGoB,EAAGib,GACxB,OAAA9J,EAAGA,EAAGvS,EAAGoB,EAAEib,EAAI,IAAKjb,EAAEib,EAAI,KAEnCrc,EAAKsjQ,WAAa,SAAStjQ,EAAGoB,EAAGib,GACxB,OAAA9J,EAAGvS,EAAGoB,EAAEib,EAAI,GAErB,EAAArc,EAAKujQ,WAAa,SAASvjQ,EAAGoB,EAAGib,GACxB,OAAA9J,EAAGvS,EAAGoB,EAAEib,EAAI,KAErBrc,EAAKwjQ,WAAa,SAASxjQ,EAAGoB,EAAGib,GAC/B,OAAO9J,EAAGnR,EAAEib,EAAI,GAAIjb,EAAEib,EAAI,GAE5B,EAAArc,EAAKyjQ,WAAa,SAASzjQ,EAAGoB,EAAGib,GAC/B,OAAO9J,EAAGnR,EAAEib,EAAI,GAAIjb,EAAEib,EAAI,GAE5B,EAAArc,EAAK0jQ,YAAc,SAAS1jQ,EAAGoB,EAAGib,GAChC,OAAO9J,EAAGA,EAAGvS,EAAGoB,EAAEib,EAAI,IAAK9J,EAAGnR,EAAEib,EAAI,GAAIjb,EAAEib,EAAI,MAEhDrc,EAAK2jQ,YAAc,SAAS3jQ,EAAGoB,EAAGib,GAChC,IAAIlc,EAAIiB,EAAEib,EAAI,GAEd,OAAO,GACLkjE,EAAIp/E,GAAK,GAAM,IAAMH,GAAK,GAAM,KAFlCoB,EAAIA,EAAEib,EAAI,KAEmC,GAAM,KAC/CkjE,EAAIp/E,GAAK,GAAM,IAAMH,GAAK,GAAM,IAAMoB,GAAK,GAAM,KACjDm+E,EAAIp/E,GAAK,EAAK,IAAMH,GAAK,EAAK,IAAMoB,GAAK,EAAK,KAC9Cm+E,EAAO,IAAJp/E,EAAa,IAAJH,EAAa,IAAJoB,GACrBjB,EACAH,CAEN,EAAAA,EAAK4jQ,YAAc,SAAS5jQ,EAAGoB,EAAGib,GAChC,IAAIlc,EAAIiB,EAAEib,EAAI,GAGZ,OAAElK,GAAKnS,GAAK,GAAM,MAASG,GAAK,GAAM,OAFxCiB,EAAIA,EAAEib,EAAI,KAE4C,GAAM,OAAS,GAChElK,GAAKnS,GAAK,GAAM,MAASG,GAAK,GAAM,MAASiB,GAAK,GAAM,OACvD,GACD+Q,GAAKnS,GAAK,EAAK,MAASG,GAAK,EAAK,MAASiB,GAAK,EAAK,OAAS,EAC/D+Q,GAAQ,IAAJnS,IAAgB,IAAJG,IAAgB,IAAJiB,OAC9B,CAGJ,EAAApB,EAAK6jQ,YAAc,SAAS7jQ,EAAGoB,EAAGib,GAChC,IAAIlc,EAAIiB,EAAEib,EAAI,GAEd,OACIyuD,GAFJ9qE,EAAIuS,EAAGvS,EAAGoB,EAAEib,EAAI,MAEH,GAAM,IAAMlc,GAAK,GAAM,MAAQ,GACvC2qE,EAAI9qE,GAAK,GAAM,IAAMG,GAAK,GAAM,MAAQ,GACxC2qE,EAAI9qE,GAAK,EAAK,IAAMG,GAAK,EAAK,MAAQ,EACvC2qE,EAAc,IAAV9qE,EAA0B,IAAVG,MACtB,CAGJ,MAAIu/P,GAAK1/P,EAAK8jQ,cACd9jQ,EAAK+jQ,cAAgBnsO,EACrBq/C,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,kBACjB,IAAI0oL,GAAK3/P,EAAKgkQ,cACd7jL,EACE,6BACA,UACA,OACA,SAASngF,GACP,OAAQA,GAAK,EAAK,OAEpB,SAASA,GACP,OAAOA,CAGX,IAAAmgF,EACE,sCACA,WACA,MACA,SAASngF,GACP,OAAOA,CAET,aAASA,GACP,OAAQA,GAAK,EAAK,OAGtB,IAIEy/P,GAJEK,GAAK9/P,EAAKikQ,2BACZxD,GAAKzgQ,EAAKkkQ,QACV3D,GAAKvgQ,EAAKmkQ,oCACVxD,GAAK3gQ,EAAKokQ,SAEVxE,GAAM5/P,EAAKqkQ,kBAAoB,GACjCzE,GAAGv/P,OAAS,IACXL,EAAKskQ,eAAiB,IAAIjkQ,OAAS,IACnCL,EAAKukQ,oBAAsB,IAAIlkQ,OAAS,IACxCL,EAAKwkQ,iBAAmB,IAAInkQ,OAAS,GACtC,IAAIw/P,GACFG,GACAC,GACAvnC,GACA4nC,GACAH,GA+3BA0B,GAIAC,GACAI,GACAH,GACAC,GACAC,GACAv8B,GACAr1I,GACA8xK,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIAzD,GACAiB,GACAlB,GACAgC,GAz5BAO,GAAKl0P,EAAE,KACPm0P,GAAKn0P,EAAE,MACPo0P,GAAKp0P,EAAE,KACPq0P,GAAKr0P,EAAE,KACPi0P,GAAK,EACLsB,GAAKpB,GACLtU,GAAKuU,GACLkB,GAAIjB,GACJmB,GAAItB,GACJ1B,GAAK,EACLX,GAAK,EACLc,GAAK,EACLb,GAAK,EACLJ,GAAK,EACLK,GAAK,EACLe,GAAK,EACL5B,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLoC,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,IACpEtB,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,KAEFoB,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFnqL,GAAK,EACLhB,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,KAEFJ,GAAK,KACLN,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,IAE1DZ,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxDmB,GAAK,EAAE,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GACnEI,GAAK,CACH,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,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AK,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,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,I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KAAK2uQ,eAAepuF,WAAa,SAASlgL,GACpCA,IACFE,EAAcF,EAAQ2uQ,cACtBpgL,EAAevuF,EAAQ4uQ,eACvBrhQ,EAAWvN,EAAQ6uQ,WACnB5uQ,EAAYD,EAAQ8uQ,YACpBn7P,EAAuB3T,EAAQ+uQ,oBAAA,EAInCpvQ,KAAK2uQ,eAAepuF,WAAWlgL,GACxBL,KAAK2uQ,cAAA,EAGV,IAAAltQ,EA5jFmB,CACrB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,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,KA8jBEib,EAAa,IAAIrc,EAAMsuQ,eAAe,CAAEK,eAAe,IAoC3D3uQ,EAAM49O,IAAI3zH,OAAOxnH,KAAK,CAAC,kBAlCE,SAASzC,GAChC,IAAIoB,EAAOpB,EAAKq6B,KACRr6B,EAAKwD,EACLxD,EAAK4B,EACb,IAAIzB,EAAUH,EAAKsO,SAAW,CAClB,EAAAtO,EAAKqiP,MACNliP,EAAQilG,KACf,IAAAllG,EAAU,GAMV,GAJJC,EAAQwuQ,cAC2B,kBAA1BxuQ,EAAQwuQ,eAA8BxuQ,EAAQwuQ,cACvDtyP,EAAW6jK,WAAW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","sources":["../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/querystring/decode.js","../node_modules/querystring/encode.js","../node_modules/querystring/index.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-router/node_modules/cookie/src/index.ts","../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/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/@babel/runtime/helpers/esm/typeof.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/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/react-router/dist/development/chunk-D52XG6IA.mjs","context/AuthContext.js","pages/LoginPage.jsx","pages/RegisterPage.jsx","pages/PasswordChangePage.jsx","pages/SchedulingPage.jsx","../node_modules/@kurkle/color/dist/color.esm.js","../node_modules/chart.js/src/helpers/helpers.core.ts","../node_modules/chart.js/src/helpers/helpers.math.ts","../node_modules/chart.js/src/helpers/helpers.collection.ts","../node_modules/chart.js/src/helpers/helpers.extras.ts","../node_modules/chart.js/src/helpers/helpers.easing.ts","../node_modules/chart.js/src/helpers/helpers.color.ts","../node_modules/chart.js/src/core/core.animations.defaults.js","../node_modules/chart.js/src/helpers/helpers.intl.ts","../node_modules/chart.js/src/core/core.ticks.js","../node_modules/chart.js/src/core/core.defaults.js","../node_modules/chart.js/src/core/core.layouts.defaults.js","../node_modules/chart.js/src/core/core.scale.defaults.js","../node_modules/chart.js/src/helpers/helpers.canvas.ts","../node_modules/chart.js/src/helpers/helpers.options.ts","../node_modules/chart.js/src/helpers/helpers.config.ts","../node_modules/chart.js/src/helpers/helpers.curve.ts","../node_modules/chart.js/src/helpers/helpers.dom.ts","../node_modules/chart.js/src/helpers/helpers.interpolation.ts","../node_modules/chart.js/src/helpers/helpers.rtl.ts","../node_modules/chart.js/src/helpers/helpers.segment.js","../node_modules/chart.js/src/core/core.animator.js","../node_modules/chart.js/src/core/core.animation.js","../node_modules/chart.js/src/core/core.animations.js","../node_modules/chart.js/src/core/core.datasetController.js","../node_modules/chart.js/src/controllers/controller.bar.js","../node_modules/chart.js/src/controllers/controller.doughnut.js","../node_modules/chart.js/src/controllers/controller.line.js","../node_modules/chart.js/src/controllers/controller.polarArea.js","../node_modules/chart.js/src/controllers/controller.bubble.js","../node_modules/chart.js/src/controllers/controller.pie.js","../node_modules/chart.js/src/controllers/controller.radar.js","../node_modules/chart.js/src/controllers/controller.scatter.js","../node_modules/chart.js/src/core/core.adapters.ts","../node_modules/chart.js/src/core/core.interaction.js","../node_modules/chart.js/src/core/core.layouts.js","../node_modules/chart.js/src/platform/platform.base.js","../node_modules/chart.js/src/platform/platform.basic.js","../node_modules/chart.js/src/platform/platform.dom.js","../node_modules/chart.js/src/core/core.element.ts","../node_modules/chart.js/src/core/core.scale.autoskip.js","../node_modules/chart.js/src/core/core.scale.js","../node_modules/chart.js/src/core/core.typedRegistry.js","../node_modules/chart.js/src/core/core.registry.js","../node_modules/chart.js/src/core/core.plugins.js","../node_modules/chart.js/src/core/core.config.js","../node_modules/chart.js/src/core/core.controller.js","../node_modules/chart.js/src/platform/index.js","../node_modules/chart.js/src/elements/element.arc.ts","../node_modules/chart.js/src/elements/element.line.js","../node_modules/chart.js/src/elements/element.point.ts","../node_modules/chart.js/src/elements/element.bar.js","../node_modules/chart.js/src/plugins/plugin.colors.ts","../node_modules/chart.js/src/plugins/plugin.decimation.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.segment.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.helper.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.options.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.target.stack.js","../node_modules/chart.js/src/plugins/plugin.filler/simpleArc.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.target.js","../node_modules/chart.js/src/plugins/plugin.filler/filler.drawing.js","../node_modules/chart.js/src/plugins/plugin.filler/index.js","../node_modules/chart.js/src/plugins/plugin.legend.js","../node_modules/chart.js/src/plugins/plugin.title.js","../node_modules/chart.js/src/plugins/plugin.subtitle.js","../node_modules/chart.js/src/plugins/plugin.tooltip.js","../node_modules/chart.js/src/scales/scale.category.js","../node_modules/chart.js/src/scales/scale.linearbase.js","../node_modules/chart.js/src/scales/scale.linear.js","../node_modules/chart.js/src/scales/scale.logarithmic.js","../node_modules/chart.js/src/scales/scale.radialLinear.js","../node_modules/chart.js/src/scales/scale.time.js","../node_modules/chart.js/src/scales/scale.timeseries.js","../node_modules/chart.js/src/index.ts","../node_modules/react-chartjs-2/src/utils.ts","../node_modules/react-chartjs-2/src/chart.tsx","../node_modules/react-chartjs-2/src/typedCharts.tsx","../node_modules/chart.js/auto/auto.js","../node_modules/axios/lib/helpers/bind.js","../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/platform/common/utils.js","../node_modules/axios/lib/platform/index.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/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.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/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.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/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","pages/ReportsPage.jsx","pages/DashboardPage.jsx","pages/CreateAppointmentPage.jsx","pages/sleepingReportPage.jsx","components/TopToolbar.jsx","pages/AutoSchedulingPage.jsx","pages/NewAutoSchedulingPage.jsx","pages/NewAmbassadorCheckIn.jsx","pages/AmbassadorCheckInAdmin.jsx","pages/AdminPage.jsx","pages/BigScreenAdmin.jsx","pages/GoogleSheetTrial.jsx","pages/TempAmbassadorCheckIn.jsx","../node_modules/styled-components/node_modules/tslib/tslib.es6.mjs","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Middleware.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/styled-components/src/constants.ts","../node_modules/styled-components/src/utils/empties.ts","../node_modules/styled-components/src/utils/checkDynamicCreation.ts","../node_modules/styled-components/src/utils/determineTheme.ts","../node_modules/styled-components/src/utils/domElements.ts","../node_modules/styled-components/src/utils/escape.ts","../node_modules/styled-components/src/utils/generateAlphabeticName.ts","../node_modules/styled-components/src/utils/hash.ts","../node_modules/styled-components/src/utils/generateComponentId.ts","../node_modules/styled-components/src/utils/getComponentName.ts","../node_modules/styled-components/src/utils/isTag.ts","../node_modules/styled-components/src/utils/hoist.ts","../node_modules/styled-components/src/utils/isFunction.ts","../node_modules/styled-components/src/utils/isStyledComponent.ts","../node_modules/styled-components/src/utils/joinStrings.ts","../node_modules/styled-components/src/utils/isPlainObject.ts","../node_modules/styled-components/src/utils/mixinDeep.ts","../node_modules/styled-components/src/utils/setToString.ts","../node_modules/styled-components/src/utils/error.ts","../node_modules/styled-components/src/sheet/GroupedTag.ts","../node_modules/styled-components/src/sheet/GroupIDAllocator.ts","../node_modules/styled-components/src/sheet/Rehydration.ts","../node_modules/styled-components/src/utils/nonce.ts","../node_modules/styled-components/src/sheet/dom.ts","../node_modules/styled-components/src/sheet/Tag.ts","../node_modules/styled-components/src/sheet/Sheet.ts","../node_modules/styled-components/src/utils/stylis.ts","../node_modules/styled-components/src/models/StyleSheetManager.tsx","../node_modules/styled-components/src/models/Keyframes.ts","../node_modules/styled-components/src/utils/hyphenateStyleName.ts","../node_modules/styled-components/src/utils/flatten.ts","../node_modules/styled-components/src/utils/addUnitIfNeeded.ts","../node_modules/styled-components/src/utils/isStatelessFunction.ts","../node_modules/styled-components/src/utils/isStaticRules.ts","../node_modules/styled-components/src/models/ComponentStyle.ts","../node_modules/styled-components/src/models/ThemeProvider.tsx","../node_modules/styled-components/src/models/StyledComponent.ts","../node_modules/styled-components/src/utils/generateDisplayName.ts","../node_modules/styled-components/src/utils/interleave.ts","../node_modules/styled-components/src/constructors/css.ts","../node_modules/styled-components/src/constructors/constructWithOptions.ts","../node_modules/styled-components/src/constructors/styled.tsx","../node_modules/styled-components/src/models/GlobalStyle.ts","../node_modules/styled-components/src/models/ServerStyleSheet.tsx","../node_modules/styled-components/src/base.ts","../node_modules/react-toastify/src/style.css","../node_modules/react-toastify/src/utils/propValidator.ts","../node_modules/react-toastify/src/utils/cssTransition.tsx","../node_modules/react-toastify/src/utils/collapseToast.ts","../node_modules/react-toastify/src/core/genToastId.ts","../node_modules/react-toastify/src/core/store.ts","../node_modules/react-toastify/src/core/toast.ts","../node_modules/react-toastify/src/hooks/useIsomorphicLayoutEffect.ts","../node_modules/react-toastify/src/components/Toast.tsx","../node_modules/react-toastify/src/components/Transitions.tsx","pages/DeviceMapStatusPage.jsx","../node_modules/styled-components/src/constructors/createGlobalStyle.ts","pages/SpaSystemGuestPage.jsx","pages/OrgLoginPage.jsx","pages/DoubleOrgLoginPage.jsx","pages/org/H11_25.jsx","../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/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.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","pages/org/S38_89.jsx","pages/ConnectionCheckinPage.jsx","pages/ConnectionPublicPage.jsx","index.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline \n \n ) : null}\n \n );\n}\n\nexport default AdminPage;","import React, { useState, useEffect } from 'react';\nimport axios from 'axios';\nimport TopToolbar from \"../components/TopToolbar.jsx\"; // 導入 TopToolbar\n\nconst YourComponent = () => {\n const [response, setResponse] = useState(null); // API 响应数据\n const [loading, setLoading] = useState(false); // 加载状态\n const [error, setError] = useState(null); // 错误状态\n const [searchStart, setSearchStart] = useState(''); // 搜索开始时间\n const [searchEnd, setSearchEnd] = useState(''); // 搜索结束时间\n const [lastApiCallTime, setLastApiCallTime] = useState(null); // 上次 API 调用时间\n const [filteredData, setFilteredData] = useState([]); // 过滤后的数据显示\n const [sheetData, setSheetData] = useState({}); // Google Sheet 数据\n\n // API Gateway 端点\n const apiUrl = 'https://2k0tyfq069.execute-api.ap-east-1.amazonaws.com/current_stage/stream';\n const googleSheetId = '1fQwkxil-foADfQFMWw9WNi_ms1lfcH1xIA5Omcnn5_M'; // Google Sheet ID\n const googleSheetUrl = `https://docs.google.com/spreadsheets/d/${googleSheetId}/gviz/tq?tqx=out:json`;\n const googleSheetUrlForButton = \"https://docs.google.com/spreadsheets/d/1fQwkxil-foADfQFMWw9WNi_ms1lfcH1xIA5Omcnn5_M/edit?usp=sharing\";\n\n // 调用 API 的函数\n const callAPI = async () => {\n setLoading(true);\n setError(null);\n setResponse(null);\n\n try {\n const result = await axios.post(apiUrl, {\n // 传递所需的参数\n key: 'value',\n });\n\n // 解析 body 字段\n const data = JSON.parse(result.data.body);\n setResponse(data);\n setFilteredData(data.data.sort((a, b) => a.Serial_Number.localeCompare(b.Serial_Number))); // 排序\n setLastApiCallTime(new Date()); // 更新 API 调用时间\n } catch (err) {\n setError(err.message || 'Failed to call API!');\n } finally {\n setLoading(false);\n }\n };\n\n const fetchGoogleSheetData = async () => {\n try {\n const response = await axios.get(googleSheetUrl);\n const text = response.data;\n const json = JSON.parse(text.substr(47).slice(0, -2)); // 清理返回的数据\n const rows = json.table.rows.map((row) =>\n row.c.map((cell) => (cell ? cell.v : \"\"))\n );\n\n // 转换为以 Serial Number 为键的对象\n const sheetDataObj = rows.reduce((acc, row) => {\n const serialNumber = row[0]; // 假设 Serial Number 在第 0 列\n if (serialNumber) {\n acc[serialNumber] = {\n RoomNumber: row[2] || \"N/A\", // 假设房间号在第 2 列\n RoomType: row[3] || \"N/A\", // 假设房间类型在第 3 列\n BedType: row[4] || \"N/A\", // 假设床类型在第 4 列\n SleepingMatMAC: row[5] || \"N/A\", // 假设 Sleeping-mat MAC 在第 5 列\n DeviceMAC: row[6] || \"N/A\", // 假设 Device MAC 在第 6 列\n WingAndView: row[7] || \"N/A\", // 假设 Wing & View 在第 7 列\n Version: row[8] || \"N/A\", // 假设 Version 在第 8 列\n };\n }\n return acc;\n }, {});\n setSheetData(sheetDataObj);\n } catch (err) {\n console.error(\"Failed to fetch Google Sheet data:\", err.message);\n }\n };\n\n useEffect(() => {\n callAPI(); // 调用现有的 API\n fetchGoogleSheetData(); // 加载 Google Sheet 数据\n }, []);\n\n // 定时刷新“上次调用 API 的时间”\n useEffect(() => {\n const interval = setInterval(() => {\n setLastApiCallTime((prev) => prev); // 强制刷新时间\n }, 60000); // 每分钟刷新\n return () => clearInterval(interval);\n }, []);\n\n // 过滤数据:根据 Search Start 和 Search End\n useEffect(() => {\n if (response) {\n const filtered = response.data.filter((item) => {\n const itemStartTime = new Date(item.start_time).getTime();\n const itemEndTime = new Date(item.end_time).getTime();\n const searchStartTime = searchStart ? new Date(searchStart).getTime() : null;\n const searchEndTime = searchEnd ? new Date(searchEnd).getTime() : null;\n\n return (\n (!searchStartTime || itemEndTime >= searchStartTime) &&\n (!searchEndTime || itemStartTime <= searchEndTime)\n );\n });\n setFilteredData(filtered.sort((a, b) => a.Serial_Number.localeCompare(b.Serial_Number)));\n }\n }, [searchStart, searchEnd, response]);\n\n // 时间格式化函数:将时间转换为 UTC+8,并格式化为 MM-DD (HH:MM)\n const formatTime = (timeStr) => {\n const date = new Date(timeStr);\n date.setHours(date.getHours()); // 转换为 UTC+8\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n return `${month}-${day} (${hours}:${minutes})`;\n };\n\n const handleButtonClick = () => {\n window.open(googleSheetUrlForButton, \"_blank\");\n };\n\n return (\n
\n {/* 使用 TopToolbar */}\n

AromaPodPro Status Lookup Table

\n\n {/* 工具栏 */}\n
\n setSearchStart(e.target.value)}\n style={styles.input}\n />\n setSearchEnd(e.target.value)}\n style={styles.input}\n />\n \n \n
\n\n {/* 显示上次调用 API 的时间 */}\n {lastApiCallTime && (\n

\n Last Update: {lastApiCallTime.toLocaleString()}\n

\n )}\n\n {/* 错误提示 */}\n {error &&

错误: {error}

}\n\n {/* 响应数据 */}\n {response && (\n
\n

RESULT

\n
\n {Object.entries(\n filteredData.reduce((acc, item) => {\n const key = item.Serial_Number;\n if (!acc[key]) acc[key] = [];\n acc[key].push(item);\n return acc;\n }, {})\n ).map(([serialNumber, items]) => {\n const sheetRow = sheetData[serialNumber] || {};\n return (\n\n
\n

\n {serialNumber} ({items.length})\n

\n\n {/* Google Sheet 数据 */}\n
\n
\n Room Number: {sheetRow.RoomNumber || \"No Paired-up Data\"}\n
\n
\n Room Type: {sheetRow.RoomType || \"No Paired-up Data\"}\n
\n
\n Bed Type: {sheetRow.BedType || \"No Paired-up Data\"}\n
\n
\n Sleeping-mat MAC: {sheetRow.SleepingMatMAC || \"No Paired-up Data\"}\n
\n
\n Device MAC: {sheetRow.DeviceMAC || \"No Paired-up Data\"}\n
\n
\n Wing & View: {sheetRow.WingAndView || \"No Paired-up Data\"}\n
\n
\n Version: {sheetRow.Version || \"No Paired-up Data\"}\n
\n
\n\n 5 ? '200px' : 'auto', // 限制高度并启用滚动条\n overflowY: items.length > 5 ? 'scroll' : 'visible',\n }}\n >\n {items.map((item, index) => (\n
\n

\n {formatTime(item.start_time)} - {formatTime(item.end_time)}{' '}\n [{item.scheduled_paramters.element}] [{item.scheduled_paramters.intensity}]\n

\n
\n ))}\n
\n
\n )\n })}\n
\n
\n )}\n \n );\n};\n\n// 样式\nconst styles = {\n container: {\n padding: '20px',\n fontFamily: 'Arial, sans-serif',\n textAlign: 'center',\n },\n title: {\n fontSize: '24px',\n fontWeight: 'bold',\n marginBottom: '20px',\n },\n toolbar: {\n display: 'flex',\n flexWrap: 'wrap', // 自动换行\n justifyContent: 'center',\n alignItems: 'center',\n gap: '10px',\n marginBottom: '20px',\n },\n input: {\n padding: '10px',\n fontSize: '16px',\n border: '1px solid #ccc',\n borderRadius: '5px',\n flex: '1', // 自适应宽度\n minWidth: '250px', // 确保在移动设备上不太窄\n },\n button: {\n padding: '10px 20px',\n fontSize: '16px',\n backgroundColor: '#007bff',\n color: '#fff',\n border: 'none',\n borderRadius: '5px',\n cursor: 'pointer',\n },\n button_red: {\n padding: '10px 20px',\n fontSize: '16px',\n backgroundColor: '#e63946',\n color: '#fff',\n border: 'none',\n borderRadius: '5px',\n cursor: 'pointer',\n },\n apiCallInfo: {\n marginBottom: '20px',\n fontSize: '14px',\n color: '#555',\n },\n error: {\n color: 'red',\n marginTop: '10px',\n },\n response: {\n marginTop: '20px',\n padding: '10px',\n backgroundColor: '#f5f5f5',\n borderRadius: '5px',\n },\n dataContainer: {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(300px, 1fr))',\n gap: '20px',\n marginTop: '20px',\n },\n itemGroup: {\n marginBottom: '20px',\n padding: '10px',\n backgroundColor: '#f9f9f9',\n borderRadius: '5px',\n },\n serialNumberTitle: {\n fontSize: '18px',\n fontWeight: 'bold',\n marginBottom: '10px',\n },\n itemList: {\n padding: '10px',\n backgroundColor: '#fff',\n borderRadius: '5px',\n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)',\n },\n itemCard: {\n padding: '5px 0',\n fontSize: '14px',\n borderBottom: '1px solid #eee',\n },\n googleSheetContainer: {\n marginBottom: '10px',\n padding: '10px',\n backgroundColor: '#f9f9f9',\n borderRadius: '5px',\n textAlign: 'left',\n boxShadow: '0 1px 3px rgba(0, 0, 0, 0.1)',\n },\n googleSheetRow: {\n marginBottom: '5px',\n fontSize: '14px',\n color: '#333',\n lineHeight: '1.5',\n },\n\n '@media (max-width: 768px)': {\n input: {\n width: '100%', // 在小屏幕上输入框占满行\n marginBottom: '10px', // 增加上下间距\n },\n },\n};\n\nexport default YourComponent;","import React, { useEffect, useState } from 'react';\n\nconst FreeGoogleSheetReadPublic = () => {\n const [data, setData] = useState([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n const spreadsheetId = \"1fQwkxil-foADfQFMWw9WNi_ms1lfcH1xIA5Omcnn5_M\"; // 替换为您的 Google Sheet ID\n const url = `https://docs.google.com/spreadsheets/d/${spreadsheetId}/gviz/tq?tqx=out:json`;\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(url);\n const text = await response.text();\n const json = JSON.parse(text.substr(47).slice(0, -2)); // 清理返回的数据\n const rows = json.table.rows.map((row) =>\n row.c.map((cell) => (cell ? cell.v : \"\"))\n );\n setData(rows);\n } catch (err) {\n setError(err.message);\n } finally {\n setLoading(false);\n }\n };\n\n fetchData();\n }, []);\n\n if (loading) return

Loading...

;\n if (error) return

Error: {error}

;\n\n return (\n
\n

Google Sheet Data

\n \n \n \n {data[0]?.map((header, index) => (\n \n ))}\n \n \n \n {data.slice(1).map((row, rowIndex) => (\n \n {row.map((cell, cellIndex) => (\n \n ))}\n \n ))}\n \n
{header}
{cell}
\n
\n );\n};\n\nexport default FreeGoogleSheetReadPublic;","import React, { useEffect, useState } from \"react\";\nimport \"../css/Spinning.css\";\nimport axios from 'axios';\n\nfunction WellnessCheckInForm() {\n const debugging_without_calling_API = false;\n\n const convertTo24HourFormat = (time) => {\n const [hours, minutesPart] = time.split(\":\");\n const minutes = minutesPart.slice(0, 2);\n const period = minutesPart.slice(2).trim().toUpperCase(); // 提取 AM 或 PM\n\n let hours24 = parseInt(hours, 10);\n if (period === \"PM\" && hours24 !== 12) {\n hours24 += 12; // 下午加 12,但 12 PM 不变\n } else if (period === \"AM\" && hours24 === 12) {\n hours24 = 0; // 12 AM 为午夜\n }\n\n return `${String(hours24).padStart(2, \"0\")}:${minutes}`; // 返回 24 小时制时间\n };\n\n const getISO8601WithTimezone = (date, time) => {\n const [hours, minutes] = time.split(\":\");\n const updatedDate = new Date(date);\n updatedDate.setHours(parseInt(hours, 10));\n updatedDate.setMinutes(parseInt(minutes, 10));\n updatedDate.setSeconds(0);\n return updatedDate.toISOString();\n };\n\n const getCurrentDateTime = () => {\n const now = new Date();\n\n // 手動調整到 GMT+8\n const gmt8Offset = 8 * 60 * 60 * 1000; // 8 小時的毫秒數\n const gmt8Date = new Date(now.getTime() + gmt8Offset + 120 * 1000);\n\n // 提取日期和時間部分\n const date = gmt8Date.toISOString().split(\"T\")[0]; // 格式化為 YYYY-MM-DD\n const time = gmt8Date.toISOString().split(\"T\")[1].slice(0, 5); // 格式化為 HH:mm\n return { date, time };\n };\n\n\n const { date: currentDate, time: currentTime } = getCurrentDateTime();\n\n const [formData, setFormData] = useState({\n email: \"\",\n gender: \"\",\n nationality: \"\",\n birthday: \"\",\n name: \"\",\n sleepTime: \"22:00\",\n wakeUpTime: \"06:00\",\n checkInDate: currentDate,\n checkOutDate: \"\",\n checkOutTime: \"\",\n sleepProblem: \"\",\n sleepSolution: \"\",\n useAroma: \"\",\n travelWith: \"\",\n hotelName: \"\",\n roomNumber: \"\",\n mobileNumber: \"\",\n // handleBy: \"\", // 新增字段\n // otherHandleBy: \"\", // 當選擇 Others 時存儲輸入框的值\n remarks: \"\",\n wellBeing: \"\",\n aromaStrength: \"\",\n safetyConcerns: \"\",\n wellnessPriority: \"\",\n visitReason: \"\",\n\n form_created_time: new Date().toISOString(), // 新增字段,設置為當前時間\n });\n\n const [isChecked, setIsChecked] = useState(false); // State to track checkbox\n const [errors, setErrors] = useState({});\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showSuccessPage, setShowSuccessPage] = useState(false); // 控制是否顯示成功頁面\n const [showLoadingPage, setShowLoadingPage] = useState(false); // 加載頁面狀態\n const [roomNumber, setRoomNumber] = useState(\"\"); // 存儲用戶輸入的房間號碼\n const [inputRoomNumber, setInputRoomNumber] = useState(\"\");\n const [serialNumber, setSerialNumber] = useState(null); // 儲存對應的 Serial Number\n\n const handleRoomConfirm = (roomNumber, serialNumber) => {\n setRoomNumber(roomNumber); // 保存房間號\n setSerialNumber(serialNumber); // Save serial number\n setShowSuccessPage(false); // 隱藏 Success Page\n setShowLoadingPage(true); // 顯示 Loading Page\n };\n\n const handleLoadingComplete = () => {\n setShowLoadingPage(false); // 隱藏 Loading Page(後續操作可在此添加)\n };\n\n const buttonStyle = {\n padding: \"10px 20px\",\n border: \"none\",\n borderRadius: \"5px\",\n color: \"white\",\n fontSize: \"16px\",\n cursor: \"pointer\",\n marginRight: \"10px\",\n marginTop: \"10px\",\n marginBottom: \"10px\",\n textDecoration: \"none\", // 移除链接的默认下划线\n display: \"inline-block\", // 使链接看起来像按钮\n };\n\n const whatsappStyle = {\n ...buttonStyle,\n backgroundColor: \"#25D366\", // WhatsApp 绿色\n };\n\n const messengerStyle = {\n ...buttonStyle,\n backgroundColor: \"#0078FF\", // Messenger 蓝色\n };\n\n const validateForm = () => {\n const newErrors = {};\n\n // 必填字段校驗\n if (!formData.email.trim()) {\n newErrors.email = \"Please provide your email address.\";\n }\n\n if (!formData.name.trim()) {\n newErrors.name = \"Please provide your name.\";\n }\n\n if (!formData.mobileNumber.trim()) {\n newErrors.mobileNumber = \"Please provide your phone number.\";\n }\n\n if (!formData.checkInDate.trim()) {\n newErrors.checkInDate = \"Please provide the date of check-in.\";\n }\n\n if (!formData.checkOutDate.trim()) {\n newErrors.checkOutDate = \"Please provide the date of check-out.\";\n }\n\n if (!formData.wakeUpTime.trim()) {\n newErrors.wakeUpTime = \"Please provide your time of wake up.\";\n }\n\n if (!formData.sleepTime.trim()) {\n newErrors.sleepTime = \"Please provide your time of getting into the bed.\";\n }\n\n if (!formData.nationality.trim()) {\n newErrors.nationality = \"Please provide your nationality.\";\n }\n\n if (!formData.birthday.trim()) {\n newErrors.birthday = \"Please provide your birthday.\";\n }\n\n if (!formData.gender.trim()) {\n newErrors.gender = \"Please provide your gender.\";\n }\n\n if (!formData.travelWith.trim()) {\n newErrors.travelWith = \"Please provide your choice.\";\n }\n\n if (!formData.wellBeing.trim()) {\n newErrors.wellBeing = \"Please provide your choice.\";\n }\n\n if (!formData.sleepProblem.trim()) {\n newErrors.sleepProblem = \"Please provide your choice.\";\n }\n\n if (!formData.aromaStrength.trim()) {\n newErrors.aromaStrength = \"Please provide your choice.\";\n }\n\n if (!formData.safetyConcerns.trim()) {\n newErrors.safetyConcerns = \"Please provide your choice.\";\n }\n\n if (!formData.wellnessPriority.trim()) {\n newErrors.wellnessPriority = \"Please provide your choice.\";\n }\n\n if (!formData.visitReason.trim()) {\n newErrors.visitReason = \"Please provide your choice.\";\n }\n\n if (!formData.useAroma.trim()) {\n newErrors.useAroma = \"Please provide your choice.\";\n }\n\n setErrors(newErrors);\n\n // 如果沒有錯誤,返回 true,否則返回 false\n return Object.keys(newErrors).length === 0;\n };\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n\n if (name === \"nationality\") {\n if (value === \"Others\") {\n // 保持 select 值為 \"Others\",並顯示輸入框\n setFormData((prev) => ({ ...prev, nationality: \"Others\" }));\n } else {\n // 更新為選擇的值,隱藏輸入框\n setFormData((prev) => ({ ...prev, nationality: value }));\n }\n } else {\n // 通用處理其他輸入框\n setFormData((prev) => ({ ...prev, [name]: value }));\n }\n };\n\n // Handle form submission\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n if (!debugging_without_calling_API) {\n // 校驗表單\n if (!validateForm()) {\n return; // 如果校驗失敗,阻止提交\n }\n\n\n if (!isChecked) {\n alert(\"You must agree to the terms and conditions before proceeding.\");\n return;\n }\n }\n\n setIsSubmitting(true);\n\n // 如果 email 為空,生成帶有 UTC 時間戳的 email\n const email = formData.email.trim() === \"\"\n ? `empty_email_${new Date().toISOString()}`\n : formData.email;\n\n // 如果選擇了 Others,使用 otherHandleBy 的值\n const dataToSubmit = {\n ...formData,\n email, // 使用處理後的 email\n nationality:\n formData.nationality === \"Others\"\n ? formData.otherNationality\n : formData.nationality,\n };\n\n if (!debugging_without_calling_API) {\n try {\n const response = await fetch(\n \"https://hocyc82op1.execute-api.ap-southeast-1.amazonaws.com/checkin\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization:\n \"Bearer RaXc*lq3j5=1w<$rD^C+}VGvZVi]=dWN}P}(^~XK;h6%O@D;KkqKm~uU>+f,dqY\",\n },\n body: JSON.stringify(dataToSubmit),\n }\n );\n\n if (response.ok) {\n\n setShowSuccessPage(true); // 顯示成功頁面\n setFormData(dataToSubmit); // 更新 formData 狀態\n } else {\n alert(\"Failed to submit the form. Please try again.\");\n }\n } catch (error) {\n console.error(\"Error submitting the form:\", error);\n alert(\"An error occurred. Please try again.\");\n } finally {\n setIsSubmitting(false);\n }\n } else if (debugging_without_calling_API) {\n setFormData(dataToSubmit); // 更新 formData 狀態\n setShowSuccessPage(true); // 顯示成功頁面\n setIsSubmitting(false);\n }\n\n\n };\n\n const updateRoomNumber = async (email, roomNumber) => {\n\n if (!debugging_without_calling_API) {\n try {\n const response = await fetch(\n \"https://hocyc82op1.execute-api.ap-southeast-1.amazonaws.com/checkin/edit\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization:\n \"Bearer RaXc*lq3j5=1w<$rD^C+}VGvZVi]=dWN}P}(^~XK;h6%O@D;KkqKm~uU>+f,dqY\",\n },\n body: JSON.stringify({\n email, // 使用 email 作為 Partition Key\n roomNumber, // 要更新的房間號碼\n }),\n }\n );\n console.log(response);\n if (response.ok) {\n const result = await response.json();\n // alert(\"Room number updated successfully!\");\n // setFormData(initialFormData);\n setShowSuccessPage(false); // 關閉成功頁面\n setShowLoadingPage(true);\n } else {\n const errorData = await response.json();\n alert(`Failed to update room number: ${errorData.message}`);\n }\n } catch (error) {\n console.error(\"Error updating room number:\", error);\n alert(\"Failed to update room number.\");\n }\n } else if (debugging_without_calling_API) {\n // alert(\"Room number updated successfully!\");\n // setFormData(initialFormData);\n setShowSuccessPage(false); // 關閉成功頁面\n setShowLoadingPage(true);\n }\n\n };\n\n const SuccessPage = ({ onConfirm, onCancel }) => {\n const [inputRoomNumber, setInputRoomNumber] = useState(\"\");\n const [loading, setLoading] = useState(false); // 加載狀態\n\n const fetchGoogleSheetData = async () => {\n try {\n const response = await axios.get(\n `https://docs.google.com/spreadsheets/d/1fQwkxil-foADfQFMWw9WNi_ms1lfcH1xIA5Omcnn5_M/gviz/tq?tqx=out:json`\n );\n const text = response.data;\n const json = JSON.parse(text.substr(47).slice(0, -2)); // 清理返回的 JSON 數據\n const rows = json.table.rows.map((row) =>\n row.c.map((cell) => (cell ? cell.v : \"\"))\n );\n\n // 构建 roomNumber 到 serialNumber 的映射\n const roomToSerialMapping = rows.reduce((acc, row) => {\n const serialNumber = row[0]; // 假設 Serial Number 在第 0 列\n const roomNumber = row[2]; // 假設 Room Number 在第 2 列\n if (serialNumber && roomNumber) {\n acc[roomNumber] = serialNumber; // 將 Room Number 映射到 Serial Number\n }\n return acc;\n }, {});\n\n return roomToSerialMapping; // 返回映射\n } catch (err) {\n console.error(\"Failed to fetch Google Sheet data:\", err.message);\n return {};\n }\n };\n\n const handleConfirm = async () => {\n if (inputRoomNumber) {\n setLoading(true);\n try {\n // 獲取 Google Sheet 數據\n const roomToSerialMapping = await fetchGoogleSheetData();\n const serial = roomToSerialMapping[inputRoomNumber]; // 查找對應的 Serial Number\n\n if (serial) {\n setSerialNumber(serial); // 保存 Serial Number\n const confirmed = window.confirm(\n `Room ${inputRoomNumber} is ready for setup. Confirm? (Ref.: SN-${serial})`\n );\n if (confirmed) {\n onConfirm(inputRoomNumber, serial); // 傳遞 Room Number 和 Serial Number\n }\n } else {\n alert(`Room ${inputRoomNumber} is not ready for setup, please enter with the correct room number.`);\n }\n } catch (error) {\n console.error(\"Error fetching data:\", error);\n alert(\"Failed to fetch data. Please try again.\");\n } finally {\n setLoading(false);\n }\n } else {\n alert(\"Please enter a valid room number.\");\n }\n };\n\n return (\n
\n

Thank you!

\n

\n Dear Guest, your Check-In process is almost complete. Please enter your room number, and we will activate the Aromatherapy service for you!\n

\n setInputRoomNumber(e.target.value)}\n style={styles.input}\n placeholder=\"Room Number\"\n />\n \n {loading ? \"Loading...\" : \"Confirm\"}\n \n \n
\n );\n };\n\n const LoadingPage = ({ roomNumber, serialNumber, formData, onLoadingComplete }) => {\n const [isLoading, setIsLoading] = useState(true); // 控制加載動畫\n const [apiResponse, setApiResponse] = useState(null); // 儲存 API 回應數據\n const [isResultsVisible, setIsResultsVisible] = useState(false); // 控制是否顯示結果頁面\n const [schedules, setSchedules] = useState([]); // 保存返回的 schedules\n const [showModal, setShowModal] = useState(false); // 控制是否显示 modal\n const [isAutoScheduling, setIsAutoScheduling] = useState(false); // 控制自动排程按钮状态\n\n\n // 組建新的 formData\n const buildApiFormData = () => {\n console.log(formData.checkInDate);\n console.log(new Date().toLocaleTimeString(\"en-GB\", { hour: \"2-digit\", minute: \"2-digit\" }));\n\n let api_send_time = getISO8601WithTimezone(\n formData.checkInDate, // 使用 formData 中的 checkInDate\n new Date().toLocaleTimeString(\"en-GB\", { hour: \"2-digit\", minute: \"2-digit\" })\n );\n\n\n // 转换为 Date 对象并加 2 分钟\n const date = new Date(api_send_time); // 将结果转换为 Date 对象\n date.setMinutes(date.getMinutes() + 2); // 增加 2 分钟\n api_send_time = date.toISOString(); // 转换回 ISO 8601 格式\n\n const apiFormData = {\n device_sn: serialNumber, // 从 props 获取 serialNumber\n customer_id: formData?.mobileNumber || \"\", // 使用可选链访问数据,并提供默认值\n api_send_time: api_send_time,\n checkin_date: formData?.checkInDate || \"\",\n checkout_date: formData?.checkOutDate || \"\",\n wakeup_time: formData?.wakeUpTime || \"\",\n sleep_time: formData?.sleepTime || \"\",\n morning_aroma: \"Metal\",\n morning_intensity_level: (formData?.aromaStrength || 0) * 20,\n afternoon_aroma: \"Fire\",\n afternoon_intensity_level: (formData?.aromaStrength || 0) * 20,\n evening_aroma: \"Wood\",\n evening_intensity_level: (formData?.aromaStrength || 0) * 20,\n late_night_aroma: \"Earth\",\n late_night_intensity_level: (formData?.aromaStrength || 0) * 20,\n isConcern: formData?.safetyConcerns === \"Yes\" ? 1 : 0, // 将布尔值转换为数字\n };\n console.log(\"构建的 API 请求数据:\", apiFormData);\n return apiFormData;\n };\n\n useEffect(() => {\n handleApiRequest(); // 调用 API 请求\n }, []); // 只在组件挂载时调用一次\n\n // 发起 API 请求\n const handleApiRequest = async () => {\n setIsLoading(true); // 开始加载\n\n const requestData = buildApiFormData(); // 构建 API 请求数据\n\n try {\n const response = await fetch(\n \"https://1700v3lt3e.execute-api.ap-east-1.amazonaws.com/kl-admin-autoscheduling/v2\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: \"kl-project-admin\",\n },\n body: JSON.stringify(requestData),\n }\n );\n\n if (response.ok) {\n const responseData = await response.json();\n console.log(\"API 响应:\", responseData);\n\n // 如果返回的数据包含 schedules,则保存并调用自动排程\n if (responseData.schedules && responseData.schedules.length > 0) {\n setSchedules(responseData.schedules); // 保存 schedules\n await handleAutoSchedule(responseData.schedules); // 自动执行 handleAutoSchedule\n }\n setApiResponse(responseData); // 保存 API 响应数据\n setIsResultsVisible(true); // 显示结果页面\n } else {\n console.error(\"API 请求失败:\", response.statusText);\n alert(\"API 请求失败: \" + response.statusText);\n }\n } catch (error) {\n console.error(\"API 请求错误:\", error);\n alert(\"API 请求失败!\");\n } finally {\n setIsLoading(false); // 停止加载动画\n }\n };\n\n // 自动排程功能\n const handleAutoSchedule = async (schedulesData) => {\n setIsAutoScheduling(true); // 设置 Auto-Schedule 状态为禁用\n\n try {\n // 确保表单中的 serialNumber 存在\n if (!serialNumber) {\n alert(\"Device Sn is required to auto-schedule!\");\n setIsAutoScheduling(false); // 重置按钮状态\n return;\n }\n\n // 遍历每个 schedule,逐一发送 API 请求\n for (const schedule of schedulesData) {\n const response = await fetch(\n \"https://7dqq5knnv0.execute-api.ap-southeast-1.amazonaws.com/add-schedule\",\n {\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n serial_number: serialNumber, // 使用 props 中的 serialNumber\n timezone: \"+08:00\", // 假设的时区\n start_time: schedule.start_time,\n end_time: schedule.end_time,\n aroma_scent: schedule.scheduled_parameters.element,\n aroma_intensity: schedule.scheduled_parameters.intensity,\n }),\n }\n );\n\n if (!response.ok) {\n console.log(`Failed to add schedule: ${response.status}`);\n // throw new Error(`Failed to add schedule: ${response.status}`);\n }\n }\n\n console.log(\"All schedules added successfully!\");\n\n } catch (error) {\n console.error(\"Error during auto-schedule:\", error);\n alert(\"Failed to auto-schedule. Please try again.\");\n } finally {\n setIsAutoScheduling(false); // 重置状态\n }\n };\n\n // 动态生成 WhatsApp 链接\n const whatsappLink = `https://wa.me/85293789122?text=Room:%20${inputRoomNumber}%0A%0AWonderful%20choice!%20Your%20personal%20aroma%20journey%20is%20now%20set.%20You%20can%20view%20and%20adjust%20your%20schedule%20and%20intensity%20preferences%20anytime%20from%20the%20Personal%20Aroma%20Journey%20Schedule%20page%20in%20your%20room%20interface.%0A%0AThis%20is%20your%20personal%20aroma%20journey:%0A%0AAfternoon%20:%20Wood%20Element%0AEvening:%20Earth%20Element%0ASleep%20:%20Earth%20Element%0AMorning%20:%20Wood%20Element%0A%0AIf%20you%20need%20assistance%20or%20wish%20to%20make%20changes%20to%20your%20preferences,%20feel%20free%20to%20reach%20out%20through%20this%20chat%20anytime.%20Enjoy%20your%20stay%20and%20your%20Aromapod%20Pro%20experience!%20%F0%9F%98%8A%0A%0A`;\n const messagerLink = `https://m.me/557348704109942?text=Room:%20${inputRoomNumber}%0A%0AWonderful%20choice!%20Your%20personal%20aroma%20journey%20is%20now%20set.%20You%20can%20view%20and%20adjust%20your%20schedule%20and%20intensity%20preferences%20anytime%20from%20the%20Personal%20Aroma%20Journey%20Schedule%20page%20in%20your%20room%20interface.%0A%0AThis%20is%20your%20personal%20aroma%20journey:%0A%0AAfternoon%20:%20Wood%20Element%0AEvening:%20Earth%20Element%0ASleep%20:%20Earth%20Element%0AMorning%20:%20Wood%20Element%0A%0AIf%20you%20need%20assistance%20or%20wish%20to%20make%20changes%20to%20your%20preferences,%20feel%20free%20to%20reach%20out%20through%20this%20chat%20anytime.%20Enjoy%20your%20stay%20and%20your%20Aromapod%20Pro%20experience!%20%F0%9F%98%8A%0A%0A`;\n\n\n return (\n
\n
\n {isLoading ? (\n <>\n

Loading...

\n
\n

We are setting up personalized experience for you.

\n

Please do not leave this site and wait for moments.

\n \n ) : isResultsVisible ? (\n
\n

One last step to upgrade your room!

\n

Confirm Via WhatsApp or Confirm Via Messenger

\n {/* WhatsApp 和 Messenger 链接 */}\n
\n \n WhatsApp\n \n\n \n Messenger\n \n
\n
\n ) : (\n

An error occurred. Please try again.

\n )}\n
\n
\n );\n };\n\n return (\n\n\n
\n {showLoadingPage ? (\n setShowLoadingPage(false)} // 加載完成後隱藏\n />\n ) : showSuccessPage ? (\n {\n setInputRoomNumber(roomNumber); // 存儲房間號\n setSerialNumber(serialNumber); // 存儲序列號\n updateRoomNumber(formData.email, roomNumber, serialNumber); // 執行更新操作\n }}\n onCancel={() => setShowSuccessPage(false)}\n />\n ) : (\n
\n

Hotel Guess Check-In Form

\n\n {/* Email */}\n \n \n {errors.email &&

{errors.email}

} {/* 錯誤提示 */}\n\n {/* Handle by */}\n {/* \n \n \n \n \n \n \n */}\n\n {/* 顯示輸入框當選擇 Others 時 */}\n {/* {formData.handleBy === \"Others\" && (\n <>\n \n \n setFormData((prev) => ({ ...prev, otherHandleBy: e.target.value }))\n }\n style={styles.input}\n placeholder=\"Enter the handler's name\"\n />\n \n )} */}\n\n {/* Hotel Name */}\n \n \n {errors.hotelName &&

{errors.hotelName}

}\n\n {/* Room Number */}\n {/* \n */}\n\n\n\n\n {/* Gender */}\n \n
\n \n \n
\n {errors.gender &&

{errors.gender}

}\n\n {/* Nationality */}\n \n {\n const selectedValue = e.target.value;\n const [country, code] = selectedValue.split(\"|\");\n setFormData((prev) => ({\n ...prev,\n nationality: selectedValue,\n mobileNumber: code || \"\",\n }));\n }}\n style={{\n ...styles.input, // 基础样式\n ...(errors.nationality ? styles.inputError : {}), // 错误样式\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {errors.nationality &&

{errors.nationality}

}\n\n {/* 顯示輸入框 */}\n {formData.nationality === \"Others\" && (\n <>\n \n \n setFormData((prev) => ({ ...prev, otherNationality: e.target.value }))\n }\n style={styles.input}\n placeholder=\"Enter your nationality\"\n />\n \n )}\n\n {/* Mobile Number */}\n \n {\n const value = e.target.value;\n if (/^\\+?\\d*$/.test(value)) {\n setFormData((prev) => ({ ...prev, mobileNumber: value }));\n }\n }}\n style={{\n ...styles.input,\n ...(errors.mobileNumber ? styles.inputError : {}),\n }}\n placeholder=\"e.g., +85212345678\"\n />\n {errors.mobileNumber &&

{errors.mobileNumber}

}\n\n {/* Birthday */}\n \n {\n const value = e.target.value;\n if (/^\\d{0,8}$/.test(value)) {\n setFormData((prev) => ({ ...prev, birthday: value }));\n }\n }}\n style={{\n ...styles.input,\n ...(errors.birthday ? styles.inputError : {}),\n }}\n placeholder=\"Enter your birthday (YYYYMMDD)\"\n />\n {errors.birthday &&

{errors.birthday}

}\n\n {/* Name */}\n \n \n {errors.name &&

{errors.name}

}\n\n {/* Sleep Time */}\n {/* \n */}\n {/* {errors.sleepTime &&

{errors.sleepTime}

} */}\n\n {/* Wake Up Time */}\n {/* \n \n {errors.wakeUpTime &&

{errors.wakeUpTime}

} */}\n\n \n
\n {\n const hour = e.target.value; // 保持字符串格式\n const minute = formData.sleepTime.split(\":\")[1] || \"00\";\n const updatedTime = `${hour}:${minute}`;\n setFormData((prev) => ({ ...prev, sleepTime: updatedTime }));\n }}\n style={styles.select}\n >\n {Array.from({ length: 24 }, (_, i) => {\n const hour = i.toString().padStart(2, \"0\"); // 确保值为字符串且前导零\n return (\n \n );\n })}\n \n {\n const hour = formData.sleepTime.split(\":\")[0] || \"00\";\n const minute = e.target.value; // 保持字符串格式\n const updatedTime = `${hour}:${minute}`;\n setFormData((prev) => ({ ...prev, sleepTime: updatedTime }));\n }}\n style={styles.select}\n >\n {Array.from({ length: 60 }, (_, i) => {\n const minute = i.toString().padStart(2, \"0\"); // 确保值为字符串且前导零\n return (\n \n );\n })}\n \n
\n {errors.sleepTime &&

{errors.sleepTime}

}\n\n \n
\n {\n const hour = e.target.value; // 保持字符串格式\n const minute = formData.wakeUpTime.split(\":\")[1] || \"00\";\n const updatedTime = `${hour}:${minute}`;\n console.log(\"Selected Wake Up Hour:\", hour); // 调试日志\n setFormData((prev) => ({ ...prev, wakeUpTime: updatedTime }));\n }}\n style={styles.select}\n >\n {Array.from({ length: 24 }, (_, i) => {\n const hour = i.toString().padStart(2, \"0\"); // 确保值为两位字符串\n return (\n \n );\n })}\n \n {\n const hour = formData.wakeUpTime.split(\":\")[0] || \"00\";\n const minute = e.target.value; // 保持字符串格式\n const updatedTime = `${hour}:${minute}`;\n console.log(\"Selected Wake Up Minute:\", minute); // 调试日志\n setFormData((prev) => ({ ...prev, wakeUpTime: updatedTime }));\n }}\n style={styles.select}\n >\n {Array.from({ length: 60 }, (_, i) => {\n const minute = i.toString().padStart(2, \"0\"); // 确保值为两位字符串\n return (\n \n );\n })}\n \n
\n {errors.wakeUpTime &&

{errors.wakeUpTime}

}\n\n {/* Check-In Date */}\n \n \n {errors.checkInDate &&

{errors.checkInDate}

}\n\n {/* Check-Out Date */}\n \n \n {errors.checkOutDate &&

{errors.checkOutDate}

}\n\n {/* Sleep Problem */}\n \n
\n \n \n
\n {errors.sleepProblem &&

{errors.sleepProblem}

}\n\n {/* Sleep Solution */}\n {formData.sleepProblem === \"Yes\" && (\n <>\n \n \n \n )}\n\n {/* Use Aroma */}\n \n
\n \n \n
\n {errors.useAroma &&

{errors.useAroma}

}\n\n {/* Travel With */}\n \n \n \n \n \n \n \n \n \n \n {errors.travelWith &&

{errors.travelWith}

}\n\n {/* Remarks */}\n \n \n\n {/* Well-being question */}\n \n \n \n \n \n \n \n \n {errors.wellBeing &&

{errors.wellBeing}

}\n\n {/* Aromapod strength */}\n \n
\n {Array.from({ length: 5 }, (_, i) => (\n \n ))}\n
\n {errors.aromaStrength &&

{errors.aromaStrength}

}\n\n {/* Safety concerns */}\n \n
\n \n \n
\n {errors.safetyConcerns &&

{errors.safetyConcerns}

}\n\n {/* Wellness priority */}\n \n \n \n \n \n \n \n \n {errors.wellnessPriority &&

{errors.wellnessPriority}

}\n\n {/* Visit reason */}\n \n \n \n \n \n \n \n \n \n {errors.visitReason &&

{errors.visitReason}

}\n\n
\n setIsChecked(e.target.checked)}\n style={styles.termsCheckbox}\n />\n \n
\n\n
\n

\n Congratulations! 🎉\n

\n

\n You will be upgraded to our exclusive Premium Wellness Sleep Room!\n

\n
\n\n {/* Submit Button */}\n \n {isSubmitting ? \"Submitting...\" : \"Submit\"}\n \n \n )}\n
\n );\n}\n\n// Inline styles\nconst styles = {\n container: {\n minHeight: \"100vh\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"#f8f9fa\",\n padding: \"40px\",\n fontFamily: \"'Arial', sans-serif\",\n },\n card: {\n backgroundColor: \"#ffffff\",\n borderRadius: \"10px\",\n boxShadow: \"0 4px 10px rgba(0, 0, 0, 0.1)\",\n padding: \"20px\",\n maxWidth: \"500px\",\n width: \"100%\",\n },\n heading: {\n fontSize: \"24px\",\n fontWeight: \"bold\",\n textAlign: \"center\",\n color: \"#333\",\n marginBottom: \"20px\",\n },\n label: {\n display: \"block\",\n fontSize: \"14px\",\n fontWeight: \"600\",\n color: \"#555\",\n marginBottom: \"10px\",\n },\n input: {\n width: \"100%\",\n padding: \"10px\",\n marginBottom: \"25px\",\n border: \"1px solid #ccc\",\n borderRadius: \"5px\",\n fontSize: \"14px\",\n outline: \"none\",\n boxSizing: \"border-box\",\n },\n radioGroup: {\n display: \"flex\",\n marginBottom: \"25px\",\n },\n radioLabel: {\n marginRight: \"15px\",\n fontSize: \"14px\",\n color: \"#555\",\n },\n radioInput: {\n marginRight: \"5px\",\n },\n button: {\n width: \"100%\",\n padding: \"10px\",\n backgroundColor: \"#007bff\",\n color: \"#fff\",\n border: \"none\",\n borderRadius: \"5px\",\n fontSize: \"16px\",\n cursor: \"pointer\",\n transition: \"background-color 0.3s\",\n },\n buttonDisabled: {\n backgroundColor: \"#ccc\",\n cursor: \"not-allowed\",\n },\n text: {\n fontSize: \"16px\",\n color: \"#555\",\n textAlign: \"center\",\n },\n\n textarea: {\n width: \"100%\",\n height: \"120px\", // 高度可調整\n padding: \"12px\",\n marginBottom: \"25px\",\n border: \"1px solid #ccc\",\n borderRadius: \"8px\",\n fontSize: \"16px\",\n outline: \"none\",\n resize: \"none\", // 禁止調整大小,根據需求可去掉\n boxSizing: \"border-box\",\n },\n termsContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: \"20px\",\n },\n\n termsCheckbox: {\n marginRight: \"10px\",\n width: \"16px\",\n height: \"16px\",\n cursor: \"pointer\",\n },\n\n termsLabel: {\n fontSize: \"14px\",\n fontWeight: \"600\",\n color: \"#555\",\n },\n\n termsLink: {\n color: \"#007bff\",\n textDecoration: \"none\",\n fontWeight: \"600\",\n transition: \"color 0.3s ease\",\n },\n\n termsLinkHover: {\n color: \"#0056b3\",\n textDecoration: \"underline\",\n },\n successPage: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: \"20px\",\n background: \"#fff\",\n borderRadius: \"8px\",\n boxShadow: \"0px 4px 8px rgba(0, 0, 0, 0.1)\",\n maxWidth: \"400px\",\n margin: \"0 auto\",\n },\n // input: {\n // width: \"100%\",\n // padding: \"10px\",\n // margin: \"10px 0\",\n // border: \"1px solid #ccc\",\n // borderRadius: \"4px\",\n // },\n confirmButton: {\n background: \"#28a745\",\n color: \"#fff\",\n border: \"none\",\n borderRadius: \"4px\",\n padding: \"10px 20px\",\n cursor: \"pointer\",\n margin: \"10px\",\n },\n disabledButton: {\n background: \"#ccc\", // 灰色背景\n color: \"#666\", // 灰色文字\n cursor: \"not-allowed\", // 禁用鼠標樣式\n },\n cancelButton: {\n background: \"#6c757d\",\n color: \"#fff\",\n border: \"none\",\n borderRadius: \"4px\",\n padding: \"10px 20px\",\n cursor: \"pointer\",\n margin: \"10px\",\n },\n congratsMessage: {\n backgroundColor: \"#f9f9f9\",\n padding: \"20px\",\n borderRadius: \"8px\",\n marginTop: \"30px\",\n marginBottom: \"30px\",\n border: \"1px solid #ddd\",\n textAlign: \"center\",\n fontSize: \"16px\",\n color: \"#333\",\n lineHeight: \"1.6\",\n },\n errorMessage: {\n color: \"red\",\n fontSize: \"12px\",\n marginTop: \"-15px\",\n marginBottom: \"24px\",\n },\n\n // ✅ 通用樣式\n input: {\n width: \"100%\",\n padding: \"10px\",\n marginBottom: \"25px\",\n border: \"1px solid #ccc\",\n borderRadius: \"5px\",\n fontSize: \"14px\",\n outline: \"none\",\n boxSizing: \"border-box\",\n transition: \"border-color 0.3s ease\", // 增加交互效果\n },\n\n // ✅ 錯誤樣式\n inputError: {\n borderColor: \"red\", // 統一使用紅色邊框表示錯誤\n backgroundColor: \"#ffe6e6\", // 添加背景色提示\n },\n\n // ✅ 提取按鈕樣式\n button: {\n width: \"100%\",\n padding: \"10px\",\n backgroundColor: \"#007bff\",\n color: \"#fff\",\n border: \"none\",\n borderRadius: \"5px\",\n fontSize: \"16px\",\n cursor: \"pointer\",\n transition: \"background-color 0.3s ease\",\n },\n\n buttonDisabled: {\n backgroundColor: \"#ccc\",\n cursor: \"not-allowed\",\n },\n\n loadingSpinner: {\n width: \"50px\",\n height: \"50px\",\n border: \"6px solid #f3f3f3\",\n borderTop: \"6px solid #007bff\",\n borderRadius: \"50%\",\n animation: \"spin 1s linear infinite\",\n margin: \"0 auto\",\n },\n \"@keyframes spin\": {\n from: { transform: \"rotate(0deg)\" },\n to: { transform: \"rotate(360deg)\" },\n },\n select: {\n width: \"80px\",\n height: \"40px\",\n fontSize: \"16px\",\n textAlign: \"center\",\n border: \"1px solid #ccc\",\n borderRadius: \"5px\",\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n\n};\n\nexport default WellnessCheckInForm;","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar 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\nexport function __extends(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\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(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}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","declare let SC_DISABLE_SPEEDY: boolean | null | undefined;\ndeclare let __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY = Boolean(\n typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n);\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","import { Dict } from '../types';\n\nexport const EMPTY_ARRAY = Object.freeze([]) as Readonly;\nexport const EMPTY_OBJECT = Object.freeze({}) as Readonly>;\n","import { useRef } from 'react';\n\nconst invalidHookCallRe = /invalid hook call/i;\nconst seen = new Set();\n\nexport const checkDynamicCreation = (displayName: string, componentId?: string | undefined) => {\n if (process.env.NODE_ENV !== 'production') {\n const parsedIdString = componentId ? ` with the id of \"${componentId}\"` : '';\n const message =\n `The component ${displayName}${parsedIdString} has been created dynamically.\\n` +\n \"You may see this warning because you've called styled inside another component.\\n\" +\n 'To resolve this only create new StyledComponents outside of any render method and function component.';\n\n // If a hook is called outside of a component:\n // React 17 and earlier throw an error\n // React 18 and above use console.error\n\n const originalConsoleError = console.error;\n try {\n let didNotCallInvalidHook = true;\n console.error = (consoleErrorMessage, ...consoleErrorArgs) => {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(consoleErrorMessage)) {\n didNotCallInvalidHook = false;\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n } else {\n originalConsoleError(consoleErrorMessage, ...consoleErrorArgs);\n }\n };\n // We purposefully call `useRef` outside of a component and expect it to throw\n // If it doesn't, then we're inside another component.\n useRef();\n\n if (didNotCallInvalidHook && !seen.has(message)) {\n console.warn(message);\n seen.add(message);\n }\n } catch (error) {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test((error as Error).message)) {\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n }\n } finally {\n console.error = originalConsoleError;\n }\n }\n};\n","import { DefaultTheme, ExecutionProps } from '../types';\nimport { EMPTY_OBJECT } from './empties';\n\nexport default function determineTheme(\n props: ExecutionProps,\n providedTheme?: DefaultTheme | undefined,\n defaultProps: { theme?: DefaultTheme | undefined } = EMPTY_OBJECT\n): DefaultTheme | undefined {\n return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;\n}\n","// Thanks to ReactDOMFactories for this handy list!\n\nconst elements = [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'menu',\n 'menuitem',\n 'meta',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'use',\n 'var',\n 'video',\n 'wbr', // SVG\n 'circle',\n 'clipPath',\n 'defs',\n 'ellipse',\n 'foreignObject',\n 'g',\n 'image',\n 'line',\n 'linearGradient',\n 'marker',\n 'mask',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialGradient',\n 'rect',\n 'stop',\n 'svg',\n 'text',\n 'tspan',\n] as const;\n\nexport default new Set(elements);\nexport type SupportedHTMLElements = (typeof elements)[number];\n","// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\nconst escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\n\nconst dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nexport default function escape(str: string) {\n return str // Replace all possible CSS selectors\n .replace(escapeRegex, '-') // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '');\n}\n","const AD_REPLACER_R = /(a)(d)/gi;\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nconst charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nconst getAlphabeticChar = (code: number) => String.fromCharCode(code + (code > 25 ? 39 : 97));\n\n/* input a number, usually a hash and convert it to base-52 */\nexport default function generateAlphabeticName(code: number) {\n let name = '';\n let x;\n\n /* get a char and divide by alphabet-length */\n for (x = Math.abs(code); x > charsLength; x = (x / charsLength) | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n","export const SEED = 5381;\n\n// When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\nexport const phash = (h: number, x: string) => {\n let i = x.length;\n\n while (i) {\n h = (h * 33) ^ x.charCodeAt(--i);\n }\n\n return h;\n};\n\n// This is a djb2 hashing function\nexport const hash = (x: string) => {\n return phash(SEED, x);\n};\n","import generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default function generateComponentId(str: string) {\n return generateAlphabeticName(hash(str) >>> 0);\n}\n","import { StyledTarget } from '../types';\n\nexport default function getComponentName(target: StyledTarget) {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n (target as Exclude, string>).displayName ||\n (target as Function).name ||\n 'Component'\n );\n}\n","import { StyledTarget } from '../types';\n\nexport default function isTag(target: StyledTarget<'web'>): target is string {\n return (\n typeof target === 'string' &&\n (process.env.NODE_ENV !== 'production'\n ? target.charAt(0) === target.charAt(0).toLowerCase()\n : true)\n );\n}\n","import React from 'react';\nimport { AnyComponent } from '../types';\n\nconst hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\n// copied from react-is\nconst REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nconst REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\n\n/**\n * Adapted from hoist-non-react-statics to avoid the react-is dependency.\n */\nconst 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};\n\nconst KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true,\n};\n\nconst FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n};\n\nconst MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true,\n};\n\nconst TYPE_STATICS = {\n [REACT_FORWARD_REF_TYPE]: FORWARD_REF_STATICS,\n [REACT_MEMO_TYPE]: MEMO_STATICS,\n};\n\ntype OmniComponent = AnyComponent;\n\n// adapted from react-is\nfunction isMemo(\n object: OmniComponent | React.MemoExoticComponent\n): object is React.MemoExoticComponent {\n const $$typeofType = 'type' in object && object.type.$$typeof;\n\n return $$typeofType === REACT_MEMO_TYPE;\n}\n\nfunction getStatics(component: OmniComponent) {\n // React v16.11 and below\n if (isMemo(component)) {\n return MEMO_STATICS;\n }\n\n // React v16.12 and above\n return '$$typeof' in component\n ? TYPE_STATICS[component['$$typeof'] as unknown as string]\n : REACT_STATICS;\n}\n\nconst defineProperty = Object.defineProperty;\nconst getOwnPropertyNames = Object.getOwnPropertyNames;\nconst getOwnPropertySymbols = Object.getOwnPropertySymbols;\nconst getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nconst getPrototypeOf = Object.getPrototypeOf;\nconst objectPrototype = Object.prototype;\n\ntype ExcludeList = {\n [key: string]: true;\n};\n\ntype NonReactStatics = {\n [key in Exclude<\n keyof S,\n S extends React.MemoExoticComponent\n ? keyof typeof MEMO_STATICS | keyof C\n : S extends React.ForwardRefExoticComponent\n ? keyof typeof FORWARD_REF_STATICS | keyof C\n : keyof typeof REACT_STATICS | keyof typeof KNOWN_STATICS | keyof C\n >]: S[key];\n};\n\nexport default function hoistNonReactStatics<\n T extends OmniComponent,\n S extends OmniComponent,\n C extends ExcludeList = {},\n>(targetComponent: T, sourceComponent: S, excludelist?: C | undefined) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n const inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, excludelist);\n }\n }\n\n let keys: (String | Symbol)[] = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n const targetStatics = getStatics(targetComponent);\n const sourceStatics = getStatics(sourceComponent);\n\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i] as unknown as string;\n if (\n !(key in KNOWN_STATICS) &&\n !(excludelist && excludelist[key]) &&\n !(sourceStatics && key in sourceStatics) &&\n !(targetStatics && key in targetStatics)\n ) {\n const descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor!);\n } catch (e) {\n /* ignore */\n }\n }\n }\n }\n\n return targetComponent as T & NonReactStatics;\n}\n","export default function isFunction(test: any): test is Function {\n return typeof test === 'function';\n}\n","import { StyledComponentBrand } from '../types';\n\nexport default function isStyledComponent(target: any): target is StyledComponentBrand {\n return typeof target === 'object' && 'styledComponentId' in target;\n}\n","/**\n * Convenience function for joining strings to form className chains\n */\nexport function joinStrings(a?: string | undefined, b?: string | undefined): string {\n return a && b ? `${a} ${b}` : a || b || '';\n}\n\nexport function joinStringArray(arr: string[], sep?: string | undefined): string {\n if (arr.length === 0) {\n return '';\n }\n\n let result = arr[0];\n for (let i = 1; i < arr.length; i++) {\n result += sep ? sep + arr[i] : arr[i];\n }\n return result;\n}\n","export default function isPlainObject(x: any): x is Record {\n return (\n x !== null &&\n typeof x === 'object' &&\n x.constructor.name === Object.name &&\n /* check for reasonable markers that the object isn't an element for react & preact/compat */\n !('props' in x && x.$$typeof)\n );\n}\n","import isPlainObject from './isPlainObject';\n\nfunction mixinRecursively(target: any, source: any, forceMerge = false) {\n /* only merge into POJOs, Arrays, but for top level objects only\n * allow to merge into anything by passing forceMerge = true */\n if (!forceMerge && !isPlainObject(target) && !Array.isArray(target)) {\n return source;\n }\n\n if (Array.isArray(source)) {\n for (let key = 0; key < source.length; key++) {\n target[key] = mixinRecursively(target[key], source[key]);\n }\n } else if (isPlainObject(source)) {\n for (const key in source) {\n target[key] = mixinRecursively(target[key], source[key]);\n }\n }\n\n return target;\n}\n\n/**\n * Arrays & POJOs merged recursively, other objects and value types are overridden\n * If target is not a POJO or an Array, it will get source properties injected via shallow merge\n * Source objects applied left to right. Mutates & returns target. Similar to lodash merge.\n */\nexport default function mixinDeep(target: any, ...sources: any[]) {\n for (const source of sources) {\n mixinRecursively(target, source, true);\n }\n\n return target;\n}\n","/**\n * If the Object prototype is frozen, the \"toString\" property is non-writable. This means that any objects which inherit this property\n * cannot have the property changed using a \"=\" assignment operator. If using strict mode, attempting that will cause an error. If not using\n * strict mode, attempting that will be silently ignored.\n *\n * If the Object prototype is frozen, inherited non-writable properties can still be shadowed using one of two mechanisms:\n *\n * 1. ES6 class methods: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#methods\n * 2. Using the `Object.defineProperty()` static method:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n *\n * However, this project uses Babel to transpile ES6 classes, and transforms ES6 class methods to use the assignment operator instead:\n * https://babeljs.io/docs/babel-plugin-transform-class-properties#options\n *\n * Therefore, the most compatible way to shadow the prototype's \"toString\" property is to define a new \"toString\" property on this object.\n */\nexport function setToString(object: object, toStringFn: () => string) {\n Object.defineProperty(object, 'toString', { value: toStringFn });\n}\n","import { Dict } from '../types';\nimport errorMap from './errors';\n\nconst ERRORS: Dict = process.env.NODE_ENV !== 'production' ? errorMap : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format(...args: [string, ...any]) {\n let a = args[0];\n const b = [];\n\n for (let c = 1, len = args.length; c < len; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(d => {\n a = a.replace(/%[a-z]/, d);\n });\n\n return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\nexport default function throwStyledComponentsError(\n code: string | number,\n ...interpolations: any[]\n) {\n if (process.env.NODE_ENV === 'production') {\n return new Error(\n `An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#${code} for more information.${\n interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n return new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","import { SPLITTER } from '../constants';\nimport styledError from '../utils/error';\nimport { GroupedTag, Tag } from './types';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag) => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 9;\n\nconst DefaultGroupedTag = class DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n length: number;\n tag: Tag;\n\n constructor(tag: Tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n indexOfGroup(group: number) {\n let index = 0;\n for (let i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n }\n\n insertRules(group: number, rules: string[]) {\n if (group >= this.groupSizes.length) {\n const oldBuffer = this.groupSizes;\n const oldSize = oldBuffer.length;\n\n let newSize = oldSize;\n while (group >= newSize) {\n newSize <<= 1;\n if (newSize < 0) {\n throw styledError(16, `${group}`);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (let i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n let ruleIndex = this.indexOfGroup(group + 1);\n\n for (let i = 0, l = rules.length; i < l; i++) {\n if (this.tag.insertRule(ruleIndex, rules[i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n }\n\n clearGroup(group: number) {\n if (group < this.length) {\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n this.groupSizes[group] = 0;\n\n for (let i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n }\n\n getGroup(group: number) {\n let css = '';\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n for (let i = startIndex; i < endIndex; i++) {\n css += `${this.tag.getRule(i)}${SPLITTER}`;\n }\n\n return css;\n }\n};\n","import styledError from '../utils/error';\n\nconst MAX_SMI = 1 << (31 - 1);\n\nlet groupIDRegister: Map = new Map();\nlet reverseRegister: Map = new Map();\nlet nextFreeGroup = 1;\n\nexport const resetGroupIds = () => {\n groupIDRegister = new Map();\n reverseRegister = new Map();\n nextFreeGroup = 1;\n};\n\nexport const getGroupForId = (id: string): number => {\n if (groupIDRegister.has(id)) {\n return groupIDRegister.get(id) as any;\n }\n\n while (reverseRegister.has(nextFreeGroup)) {\n nextFreeGroup++;\n }\n\n const group = nextFreeGroup++;\n\n if (process.env.NODE_ENV !== 'production' && ((group | 0) < 0 || group > MAX_SMI)) {\n throw styledError(16, `${group}`);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nexport const getIdForGroup = (group: number): void | string => {\n return reverseRegister.get(group);\n};\n\nexport const setGroupForId = (id: string, group: number) => {\n // move pointer\n nextFreeGroup = group + 1;\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","import { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION, SPLITTER } from '../constants';\nimport { getIdForGroup, setGroupForId } from './GroupIDAllocator';\nimport { Sheet } from './types';\n\nconst SELECTOR = `style[${SC_ATTR}][${SC_ATTR_VERSION}=\"${SC_VERSION}\"]`;\nconst MARKER_RE = new RegExp(`^${SC_ATTR}\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)`);\n\nexport const outputSheet = (sheet: Sheet) => {\n const tag = sheet.getTag();\n const { length } = tag;\n\n let css = '';\n for (let group = 0; group < length; group++) {\n const id = getIdForGroup(group);\n if (id === undefined) continue;\n\n const names = sheet.names.get(id);\n const rules = tag.getGroup(group);\n if (names === undefined || !names.size || rules.length === 0) continue;\n\n const selector = `${SC_ATTR}.g${group}[id=\"${id}\"]`;\n\n let content = '';\n if (names !== undefined) {\n names.forEach(name => {\n if (name.length > 0) {\n content += `${name},`;\n }\n });\n }\n\n // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n css += `${rules}${selector}{content:\"${content}\"}${SPLITTER}`;\n }\n\n return css;\n};\n\nconst rehydrateNamesFromContent = (sheet: Sheet, id: string, content: string) => {\n const names = content.split(',');\n let name;\n\n for (let i = 0, l = names.length; i < l; i++) {\n if ((name = names[i])) {\n sheet.registerName(id, name);\n }\n }\n};\n\nconst rehydrateSheetFromTag = (sheet: Sheet, style: HTMLStyleElement) => {\n const parts = (style.textContent ?? '').split(SPLITTER);\n const rules: string[] = [];\n\n for (let i = 0, l = parts.length; i < l; i++) {\n const part = parts[i].trim();\n if (!part) continue;\n\n const marker = part.match(MARKER_RE);\n\n if (marker) {\n const group = parseInt(marker[1], 10) | 0;\n const id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group);\n // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nexport const rehydrateSheet = (sheet: Sheet) => {\n const nodes = document.querySelectorAll(SELECTOR);\n\n for (let i = 0, l = nodes.length; i < l; i++) {\n const node = nodes[i] as any as HTMLStyleElement;\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n","declare let __webpack_nonce__: string;\n\nexport default function getNonce() {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n}\n","import { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport { InsertionTarget } from '../types';\nimport styledError from '../utils/error';\nimport getNonce from '../utils/nonce';\n\n/** Find last style element if any inside target */\nconst findLastStyleTag = (target: InsertionTarget): void | HTMLStyleElement => {\n const arr = Array.from(target.querySelectorAll(`style[${SC_ATTR}]`));\n\n return arr[arr.length - 1];\n};\n\n/** Create a style element inside `target` or after the last */\nexport const makeStyleTag = (target?: InsertionTarget | undefined): HTMLStyleElement => {\n const head = document.head;\n const parent = target || head;\n const style = document.createElement('style');\n const prevStyle = findLastStyleTag(parent);\n const nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n\n const nonce = getNonce();\n\n if (nonce) style.setAttribute('nonce', nonce);\n\n parent.insertBefore(style, nextSibling);\n\n return style;\n};\n\n/** Get the CSSStyleSheet instance for a given style element */\nexport const getSheet = (tag: HTMLStyleElement): CSSStyleSheet => {\n if (tag.sheet) {\n return tag.sheet as any as CSSStyleSheet;\n }\n\n // Avoid Firefox quirk where the style element might not have a sheet property\n const { styleSheets } = document;\n for (let i = 0, l = styleSheets.length; i < l; i++) {\n const sheet = styleSheets[i];\n if (sheet.ownerNode === tag) {\n return sheet as any as CSSStyleSheet;\n }\n }\n\n throw styledError(17);\n};\n","import { InsertionTarget } from '../types';\nimport { getSheet, makeStyleTag } from './dom';\nimport { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions) => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport const CSSOMTag = class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: InsertionTarget | undefined) {\n this.element = makeStyleTag(target);\n\n // Avoid Edge bug where empty style elements don't create sheets\n this.element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(this.element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule && rule.cssText) {\n return rule.cssText;\n } else {\n return '';\n }\n }\n};\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport const TextTag = class TextTag implements Tag {\n element: HTMLStyleElement;\n nodes: NodeListOf;\n length: number;\n\n constructor(target?: InsertionTarget | undefined) {\n this.element = makeStyleTag(target);\n this.nodes = this.element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string) {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number) {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number) {\n if (index < this.length) {\n return this.nodes[index].textContent as string;\n } else {\n return '';\n }\n }\n};\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport const VirtualTag = class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: InsertionTarget | undefined) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string) {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number) {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number) {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n};\n","import { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { InsertionTarget } from '../types';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { setToString } from '../utils/setToString';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean;\n useCSSOMInjection?: boolean;\n target?: InsertionTarget | undefined;\n};\n\ntype GlobalStylesAllocationMap = {\n [key: string]: number;\n};\ntype NamesAllocationMap = Map>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n names: NamesAllocationMap;\n options: SheetOptions;\n server: boolean;\n tag?: GroupedTag | undefined;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT as Object,\n globalStyles: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap | undefined\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names as NamesAllocationMap);\n this.server = !!options.isServer;\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.server && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n\n setToString(this, () => outputSheet(this));\n }\n\n rehydrate(): void {\n if (!this.server && IS_BROWSER) {\n rehydrateSheet(this);\n }\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag() {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id) as any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id) as any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string | string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id) as any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n}\n","import * as stylis from 'stylis';\nimport { Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { SEED, phash } from './hash';\n\nconst AMP_REGEX = /&/g;\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\nexport type ICreateStylisInstance = {\n options?: { namespace?: string | undefined; prefix?: boolean | undefined } | undefined;\n plugins?: stylis.Middleware[] | undefined;\n};\n\n/**\n * Takes an element and recurses through it's rules added the namespace to the start of each selector.\n * Takes into account media queries by recursing through child rules if they are present.\n */\nfunction recursivelySetNamepace(compiled: stylis.Element[], namespace: String): stylis.Element[] {\n return compiled.map(rule => {\n if (rule.type === 'rule') {\n // add the namespace to the start\n rule.value = `${namespace} ${rule.value}`;\n // add the namespace after each comma for subsequent selectors.\n rule.value = rule.value.replaceAll(',', `,${namespace} `);\n rule.props = (rule.props as string[]).map(prop => {\n return `${namespace} ${prop}`;\n });\n }\n\n if (Array.isArray(rule.children) && rule.type !== '@keyframes') {\n rule.children = recursivelySetNamepace(rule.children, namespace);\n }\n return rule;\n });\n}\n\nexport default function createStylisInstance(\n {\n options = EMPTY_OBJECT as object,\n plugins = EMPTY_ARRAY as unknown as stylis.Middleware[],\n }: ICreateStylisInstance = EMPTY_OBJECT as object\n) {\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n\n const selfReferenceReplacer = (match: string, offset: number, string: string) => {\n if (\n /**\n * We only want to refer to the static class directly if the selector is part of a\n * self-reference selector `& + & { color: red; }`\n */\n string.startsWith(_selector) &&\n string.endsWith(_selector) &&\n string.replaceAll(_selector, '').length > 0\n ) {\n return `.${_componentId}`;\n }\n\n return match;\n };\n\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js/tree/v4.0.2#abstract-syntax-structure\n */\n const selfReferenceReplacementPlugin: stylis.Middleware = element => {\n if (element.type === stylis.RULESET && element.value.includes('&')) {\n (element.props as string[])[0] = element.props[0]\n // catch any hanging references that stylis missed\n .replace(AMP_REGEX, _selector)\n .replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n const middlewares = plugins.slice();\n\n middlewares.push(selfReferenceReplacementPlugin);\n\n /**\n * Enables automatic vendor-prefixing for styles.\n */\n if (options.prefix) {\n middlewares.push(stylis.prefixer);\n }\n\n middlewares.push(stylis.stringify);\n\n const stringifyRules: Stringifier = (\n css: string,\n selector = '',\n /**\n * This \"prefix\" referes to a _selector_ prefix.\n */\n prefix = '',\n componentId = '&'\n ) => {\n // stylis has no concept of state to be passed to plugins\n // but since JS is single-threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(`\\\\${_selector}\\\\b`, 'g');\n\n const flatCSS = css.replace(COMMENT_REGEX, '');\n let compiled = stylis.compile(\n prefix || selector ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS\n );\n\n if (options.namespace) {\n compiled = recursivelySetNamepace(compiled, options.namespace);\n }\n\n const stack: string[] = [];\n\n stylis.serialize(\n compiled,\n stylis.middleware(middlewares.concat(stylis.rulesheet(value => stack.push(value))))\n );\n\n return stack;\n };\n\n stringifyRules.hash = plugins.length\n ? plugins\n .reduce((acc, plugin) => {\n if (!plugin.name) {\n throwStyledError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED)\n .toString()\n : '';\n\n return stringifyRules;\n}\n","import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport shallowequal from 'shallowequal';\nimport type stylis from 'stylis';\nimport StyleSheet from '../sheet';\nimport { InsertionTarget, ShouldForwardProp, Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\nexport const mainSheet: StyleSheet = new StyleSheet();\nexport const mainStylis: Stringifier = createStylisInstance();\n\nexport type IStyleSheetContext = {\n shouldForwardProp?: ShouldForwardProp<'web'> | undefined;\n styleSheet: StyleSheet;\n stylis: Stringifier;\n};\n\nexport const StyleSheetContext = React.createContext({\n shouldForwardProp: undefined,\n styleSheet: mainSheet,\n stylis: mainStylis,\n});\n\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\n\nexport type IStylisContext = Stringifier | void;\nexport const StylisContext = React.createContext(undefined);\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport function useStyleSheetContext() {\n return useContext(StyleSheetContext);\n}\n\nexport type IStyleSheetManager = React.PropsWithChildren<{\n /**\n * If desired, you can pass this prop to disable \"speedy\" insertion mode, which\n * uses the browser [CSSOM APIs](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet).\n * When disabled, rules are inserted as simple text into style blocks.\n */\n disableCSSOMInjection?: undefined | boolean;\n /**\n * If you are working exclusively with modern browsers, vendor prefixes can often be omitted\n * to reduce the weight of CSS on the page.\n */\n enableVendorPrefixes?: undefined | boolean;\n /**\n * Provide an optional selector to be prepended to all generated style rules.\n */\n namespace?: undefined | string;\n /**\n * Create and provide your own `StyleSheet` if necessary for advanced SSR scenarios.\n */\n sheet?: undefined | StyleSheet;\n /**\n * Starting in v6, styled-components no longer does its own prop validation\n * and recommends use of transient props \"$prop\" to pass style-only props to\n * components. If for some reason you are not able to use transient props, a\n * prop validation function can be provided via `StyleSheetManager`, such as\n * `@emotion/is-prop-valid`.\n *\n * When the return value is `true`, props will be forwarded to the DOM/underlying\n * component. If return value is `false`, the prop will be discarded after styles\n * are calculated.\n *\n * Manually composing `styled.{element}.withConfig({shouldForwardProp})` will\n * override this default.\n */\n shouldForwardProp?: undefined | IStyleSheetContext['shouldForwardProp'];\n /**\n * An array of plugins to be run by stylis (style processor) during compilation.\n * Check out [what's available on npm*](https://www.npmjs.com/search?q=keywords%3Astylis).\n *\n * \\* The plugin(s) must be compatible with stylis v4 or above.\n */\n stylisPlugins?: undefined | stylis.Middleware[];\n /**\n * Provide an alternate DOM node to host generated styles; useful for iframes.\n */\n target?: undefined | InsertionTarget;\n}>;\n\nexport function StyleSheetManager(props: IStyleSheetManager): React.JSX.Element {\n const [plugins, setPlugins] = useState(props.stylisPlugins);\n const { styleSheet } = useStyleSheetContext();\n\n const resolvedStyleSheet = useMemo(() => {\n let sheet = styleSheet;\n\n if (props.sheet) {\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({ target: props.target }, false);\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({ useCSSOMInjection: false });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target, styleSheet]);\n\n const stylis = useMemo(\n () =>\n createStylisInstance({\n options: { namespace: props.namespace, prefix: props.enableVendorPrefixes },\n plugins,\n }),\n [props.enableVendorPrefixes, props.namespace, plugins]\n );\n\n useEffect(() => {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n\n const styleSheetContextValue = useMemo(\n () => ({\n shouldForwardProp: props.shouldForwardProp,\n styleSheet: resolvedStyleSheet,\n stylis,\n }),\n [props.shouldForwardProp, resolvedStyleSheet, stylis]\n );\n\n return (\n \n {props.children}\n \n );\n}\n","import StyleSheet from '../sheet';\nimport { Keyframes as KeyframesType, Stringifier } from '../types';\nimport styledError from '../utils/error';\nimport { setToString } from '../utils/setToString';\nimport { mainStylis } from './StyleSheetManager';\n\nexport default class Keyframes implements KeyframesType {\n id: string;\n name: string;\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n\n setToString(this, () => {\n throw styledError(12, String(this.name));\n });\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = mainStylis): void => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n getName(stylisInstance: Stringifier = mainStylis): string {\n return this.name + stylisInstance.hash;\n }\n}\n","const isUpper = (c: string) => c >= 'A' && c <= 'Z';\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n */\nexport default function hyphenateStyleName(string: string): string {\n let output = '';\n\n for (let i = 0; i < string.length; i++) {\n const c = string[i];\n // Check for CSS variable prefix\n if (i === 1 && c === '-' && string[0] === '-') {\n return string;\n }\n\n if (isUpper(c)) {\n output += '-' + c.toLowerCase();\n } else {\n output += c;\n }\n }\n\n return output.startsWith('ms-') ? '-' + output : output;\n}\n","import Keyframes from '../models/Keyframes';\nimport StyleSheet from '../sheet';\nimport {\n AnyComponent,\n Dict,\n ExecutionContext,\n Interpolation,\n IStyledComponent,\n RuleSet,\n Stringifier,\n StyledObject,\n} from '../types';\nimport addUnitIfNeeded from './addUnitIfNeeded';\nimport { EMPTY_ARRAY } from './empties';\nimport getComponentName from './getComponentName';\nimport hyphenate from './hyphenateStyleName';\nimport isFunction from './isFunction';\nimport isPlainObject from './isPlainObject';\nimport isStatelessFunction from './isStatelessFunction';\nimport isStyledComponent from './isStyledComponent';\n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nconst isFalsish = (chunk: any): chunk is undefined | null | false | '' =>\n chunk === undefined || chunk === null || chunk === false || chunk === '';\n\nexport const objToCssArray = (obj: Dict): string[] => {\n const rules = [];\n\n for (const key in obj) {\n const val = obj[key];\n if (!obj.hasOwnProperty(key) || isFalsish(val)) continue;\n\n // @ts-expect-error Property 'isCss' does not exist on type 'any[]'\n if ((Array.isArray(val) && val.isCss) || isFunction(val)) {\n rules.push(`${hyphenate(key)}:`, val, ';');\n } else if (isPlainObject(val)) {\n rules.push(`${key} {`, ...objToCssArray(val), '}');\n } else {\n rules.push(`${hyphenate(key)}: ${addUnitIfNeeded(key, val)};`);\n }\n }\n\n return rules;\n};\n\nexport default function flatten(\n chunk: Interpolation,\n executionContext?: (ExecutionContext & Props) | undefined,\n styleSheet?: StyleSheet | undefined,\n stylisInstance?: Stringifier | undefined\n): RuleSet {\n if (isFalsish(chunk)) {\n return [];\n }\n\n /* Handle other components */\n if (isStyledComponent(chunk)) {\n return [`.${(chunk as unknown as IStyledComponent<'web', any>).styledComponentId}`];\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const result = chunk(executionContext);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof result === 'object' &&\n !Array.isArray(result) &&\n !(result instanceof Keyframes) &&\n !isPlainObject(result) &&\n result !== null\n ) {\n console.error(\n `${getComponentName(\n chunk as AnyComponent\n )} is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.`\n );\n }\n\n return flatten(result, executionContext, styleSheet, stylisInstance);\n } else {\n return [chunk as unknown as IStyledComponent<'web'>];\n }\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet, stylisInstance);\n return [chunk.getName(stylisInstance)];\n } else {\n return [chunk];\n }\n }\n\n /* Handle objects */\n if (isPlainObject(chunk)) {\n return objToCssArray(chunk as StyledObject);\n }\n\n if (!Array.isArray(chunk)) {\n return [chunk.toString()];\n }\n\n return flatMap(chunk, chunklet =>\n flatten(chunklet, executionContext, styleSheet, stylisInstance)\n );\n}\n\nfunction flatMap(array: T[], transform: (value: T, index: number, array: T[]) => U[]): U[] {\n return Array.prototype.concat.apply(EMPTY_ARRAY, array.map(transform));\n}\n","import unitless from '@emotion/unitless';\n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nexport default function addUnitIfNeeded(name: string, value: any) {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless) && !name.startsWith('--')) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers except for CSS variables\n }\n\n return String(value).trim();\n}\n","import isFunction from './isFunction';\n\nexport default function isStatelessFunction(test: any): test is Function {\n return isFunction(test) && !(test.prototype && test.prototype.isReactComponent);\n}\n","import { RuleSet } from '../types';\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\n\nexport default function isStaticRules(rules: RuleSet) {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","import { SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport { ExecutionContext, RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport generateName from '../utils/generateAlphabeticName';\nimport { hash, phash } from '../utils/hash';\nimport isStaticRules from '../utils/isStaticRules';\nimport { joinStringArray, joinStrings } from '../utils/joinStrings';\n\nconst SEED = hash(SC_VERSION);\n\n/**\n * ComponentStyle is all the CSS-specific stuff, not the React-specific stuff.\n */\nexport default class ComponentStyle {\n baseHash: number;\n baseStyle: ComponentStyle | null | undefined;\n componentId: string;\n isStatic: boolean;\n rules: RuleSet;\n staticRulesId: string;\n\n constructor(rules: RuleSet, componentId: string, baseStyle?: ComponentStyle | undefined) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic =\n process.env.NODE_ENV === 'production' &&\n (baseStyle === undefined || baseStyle.isStatic) &&\n isStaticRules(rules);\n this.componentId = componentId;\n this.baseHash = phash(SEED, componentId);\n this.baseStyle = baseStyle;\n\n // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n StyleSheet.registerId(componentId);\n }\n\n generateAndInjectStyles(\n executionContext: ExecutionContext,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): string {\n let names = this.baseStyle\n ? this.baseStyle.generateAndInjectStyles(executionContext, styleSheet, stylis)\n : '';\n\n // force dynamic classnames if user-supplied stylis plugins are in use\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(this.componentId, this.staticRulesId)) {\n names = joinStrings(names, this.staticRulesId);\n } else {\n const cssStatic = joinStringArray(\n flatten(this.rules, executionContext, styleSheet, stylis) as string[]\n );\n const name = generateName(phash(this.baseHash, cssStatic) >>> 0);\n\n if (!styleSheet.hasNameForId(this.componentId, name)) {\n const cssStaticFormatted = stylis(cssStatic, `.${name}`, undefined, this.componentId);\n styleSheet.insertRules(this.componentId, name, cssStaticFormatted);\n }\n\n names = joinStrings(names, name);\n this.staticRulesId = name;\n }\n } else {\n let dynamicHash = phash(this.baseHash, stylis.hash);\n let css = '';\n\n for (let i = 0; i < this.rules.length; i++) {\n const partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule);\n } else if (partRule) {\n const partString = joinStringArray(\n flatten(partRule, executionContext, styleSheet, stylis) as string[]\n );\n // The same value can switch positions in the array, so we include \"i\" in the hash.\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n if (css) {\n const name = generateName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(this.componentId, name)) {\n styleSheet.insertRules(\n this.componentId,\n name,\n stylis(css, `.${name}`, undefined, this.componentId)\n );\n }\n\n names = joinStrings(names, name);\n }\n }\n\n return names;\n }\n}\n","import React, { useContext, useMemo } from 'react';\nimport styledError from '../utils/error';\nimport isFunction from '../utils/isFunction';\n\n/**\n * Override DefaultTheme to get accurate typings for your project.\n *\n * ```\n * // create styled-components.d.ts in your project source\n * // if it isn't being picked up, check tsconfig compilerOptions.types\n * import type { CSSProp } from \"styled-components\";\n * import Theme from './theme';\n *\n * type ThemeType = typeof Theme;\n *\n * declare module \"styled-components\" {\n * export interface DefaultTheme extends ThemeType {}\n * }\n *\n * declare module \"react\" {\n * interface DOMAttributes {\n * css?: CSSProp;\n * }\n * }\n * ```\n */\nexport interface DefaultTheme {\n [key: string]: any;\n}\n\ntype ThemeFn = (outerTheme?: DefaultTheme | undefined) => DefaultTheme;\ntype ThemeArgument = DefaultTheme | ThemeFn;\n\ntype Props = {\n children?: React.ReactNode;\n theme: ThemeArgument;\n};\n\nexport const ThemeContext = React.createContext(undefined);\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: DefaultTheme | undefined): DefaultTheme {\n if (!theme) {\n throw styledError(14);\n }\n\n if (isFunction(theme)) {\n const themeFn = theme as ThemeFn;\n const mergedTheme = themeFn(outerTheme);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')\n ) {\n throw styledError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n throw styledError(8);\n }\n\n return outerTheme ? { ...outerTheme, ...theme } : theme;\n}\n\n/**\n * Returns the current theme (as provided by the closest ancestor `ThemeProvider`.)\n *\n * If no `ThemeProvider` is found, the function will error. If you need access to the theme in an\n * uncertain composition scenario, `React.useContext(ThemeContext)` will not emit an error if there\n * is no `ThemeProvider` ancestor.\n */\nexport function useTheme(): DefaultTheme {\n const theme = useContext(ThemeContext);\n\n if (!theme) {\n throw styledError(18);\n }\n\n return theme;\n}\n\n/**\n * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props): React.JSX.Element | null {\n const outerTheme = React.useContext(ThemeContext);\n const themeContext = useMemo(\n () => mergeTheme(props.theme, outerTheme),\n [props.theme, outerTheme]\n );\n\n if (!props.children) {\n return null;\n }\n\n return {props.children};\n}\n","import isPropValid from '@emotion/is-prop-valid';\nimport React, { createElement, Ref, useDebugValue } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n AnyComponent,\n Attrs,\n BaseObject,\n Dict,\n ExecutionContext,\n ExecutionProps,\n IStyledComponent,\n IStyledComponentFactory,\n IStyledStatics,\n OmitNever,\n RuleSet,\n StyledOptions,\n WebTarget,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport domElements from '../utils/domElements';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport hoist from '../utils/hoist';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport { joinStrings } from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport { setToString } from '../utils/setToString';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheetContext } from './StyleSheetManager';\nimport { DefaultTheme, ThemeContext } from './ThemeProvider';\n\nconst identifiers: { [key: string]: number } = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(\n displayName?: string | undefined,\n parentComponentId?: string | undefined\n): string {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useInjectedStyle(\n componentStyle: ComponentStyle,\n resolvedAttrs: T\n) {\n const ssc = useStyleSheetContext();\n\n const className = componentStyle.generateAndInjectStyles(\n resolvedAttrs,\n ssc.styleSheet,\n ssc.stylis\n );\n\n if (process.env.NODE_ENV !== 'production') useDebugValue(className);\n\n return className;\n}\n\nfunction resolveContext(\n attrs: Attrs & Props>[],\n props: React.HTMLAttributes & ExecutionProps & Props,\n theme: DefaultTheme\n) {\n const context: React.HTMLAttributes &\n ExecutionContext &\n Props & { [key: string]: any; class?: string; ref?: React.Ref } = {\n ...props,\n // unset, add `props.className` back at the end so props always \"wins\"\n className: undefined,\n theme,\n };\n let attrDef;\n\n for (let i = 0; i < attrs.length; i += 1) {\n attrDef = attrs[i];\n const resolvedAttrDef = isFunction(attrDef) ? attrDef(context) : attrDef;\n\n for (const key in resolvedAttrDef) {\n context[key as keyof typeof context] =\n key === 'className'\n ? joinStrings(context[key] as string | undefined, resolvedAttrDef[key] as string)\n : key === 'style'\n ? { ...context[key], ...resolvedAttrDef[key] }\n : resolvedAttrDef[key as keyof typeof resolvedAttrDef];\n }\n }\n\n if (props.className) {\n context.className = joinStrings(context.className, props.className);\n }\n\n return context;\n}\n\nlet seenUnknownProps = new Set();\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent<'web', Props>,\n props: ExecutionProps & Props,\n forwardedRef: Ref\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n const contextTheme = React.useContext(ThemeContext);\n const ssc = useStyleSheetContext();\n const shouldForwardProp = forwardedComponent.shouldForwardProp || ssc.shouldForwardProp;\n\n if (process.env.NODE_ENV !== 'production') useDebugValue(styledComponentId);\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, contextTheme, defaultProps) || EMPTY_OBJECT;\n\n const context = resolveContext(componentAttrs, props, theme);\n const elementToBeCreated: WebTarget = context.as || target;\n const propsForElement: Dict = {};\n\n for (const key in context) {\n if (context[key] === undefined) {\n // Omit undefined values from props passed to wrapped element.\n // This enables using .attrs() to remove props, for example.\n } else if (key[0] === '$' || key === 'as' || (key === 'theme' && context.theme === theme)) {\n // Omit transient props and execution props.\n } else if (key === 'forwardedAs') {\n propsForElement.as = context.forwardedAs;\n } else if (!shouldForwardProp || shouldForwardProp(key, elementToBeCreated)) {\n propsForElement[key] = context[key];\n\n if (\n !shouldForwardProp &&\n process.env.NODE_ENV === 'development' &&\n !isPropValid(key) &&\n !seenUnknownProps.has(key) &&\n // Only warn on DOM Element.\n domElements.has(elementToBeCreated as any)\n ) {\n seenUnknownProps.add(key);\n console.warn(\n `styled-components: it looks like an unknown prop \"${key}\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via \\`\\` (connect an API like \\`@emotion/is-prop-valid\\`) or consider using transient props (\\`$\\` prefix for automatic filtering.)`\n );\n }\n }\n }\n\n const generatedClassName = useInjectedStyle(componentStyle, context);\n\n if (process.env.NODE_ENV !== 'production' && forwardedComponent.warnTooManyClasses) {\n forwardedComponent.warnTooManyClasses(generatedClassName);\n }\n\n let classString = joinStrings(foldedComponentIds, styledComponentId);\n if (generatedClassName) {\n classString += ' ' + generatedClassName;\n }\n if (context.className) {\n classString += ' ' + context.className;\n }\n\n propsForElement[\n // handle custom elements which React doesn't properly alias\n isTag(elementToBeCreated) &&\n !domElements.has(elementToBeCreated as Extract)\n ? 'class'\n : 'className'\n ] = classString;\n\n // forwardedRef is coming from React.forwardRef.\n // But it might not exist. Since React 19 handles `ref` like a prop, it only define it if there is a value.\n // We don't want to inject an empty ref.\n if (forwardedRef) {\n propsForElement.ref = forwardedRef;\n }\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nfunction createStyledComponent<\n Target extends WebTarget,\n OuterProps extends object,\n Statics extends object = BaseObject,\n>(\n target: Target,\n options: StyledOptions<'web', OuterProps>,\n rules: RuleSet\n): ReturnType> {\n const isTargetStyledComp = isStyledComponent(target);\n const styledComponentTarget = target as IStyledComponent<'web', OuterProps>;\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && styledComponentTarget.attrs\n ? styledComponentTarget.attrs.concat(attrs as unknown as Attrs[]).filter(Boolean)\n : (attrs as Attrs[]);\n\n let { shouldForwardProp } = options;\n\n if (isTargetStyledComp && styledComponentTarget.shouldForwardProp) {\n const shouldForwardPropFn = styledComponentTarget.shouldForwardProp;\n\n if (options.shouldForwardProp) {\n const passedShouldForwardPropFn = options.shouldForwardProp;\n\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, elementToBeCreated) =>\n shouldForwardPropFn(prop, elementToBeCreated) &&\n passedShouldForwardPropFn(prop, elementToBeCreated);\n } else {\n shouldForwardProp = shouldForwardPropFn;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? (styledComponentTarget.componentStyle as ComponentStyle) : undefined\n );\n\n function forwardRefRender(props: ExecutionProps & OuterProps, ref: Ref) {\n return useStyledComponentImpl(WrappedStyledComponent, props, ref);\n }\n\n forwardRefRender.displayName = displayName;\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent = React.forwardRef(forwardRefRender) as unknown as IStyledComponent<\n 'web',\n any\n > &\n Statics;\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? joinStrings(styledComponentTarget.foldedComponentIds, styledComponentTarget.styledComponentId)\n : '';\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp ? styledComponentTarget.target : target;\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, styledComponentTarget.defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n setToString(WrappedStyledComponent, () => `.${WrappedStyledComponent.styledComponentId}`);\n\n if (isCompositeComponent) {\n const compositeComponentTarget = target as AnyComponent;\n\n hoist(\n WrappedStyledComponent,\n compositeComponentTarget,\n {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n } as { [key in keyof OmitNever>]: true }\n );\n }\n\n return WrappedStyledComponent;\n}\n\nexport default createStyledComponent;\n","import { StyledTarget } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(target: StyledTarget) {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","import { Interpolation } from '../types';\n\nexport default function interleave(\n strings: readonly string[],\n interpolations: Interpolation[]\n): Interpolation[] {\n const result: Interpolation[] = [strings[0]];\n\n for (let i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n}\n","import {\n BaseObject,\n Interpolation,\n NoInfer,\n RuleSet,\n StyledObject,\n StyleFunction,\n Styles,\n} from '../types';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport flatten from '../utils/flatten';\nimport interleave from '../utils/interleave';\nimport isFunction from '../utils/isFunction';\nimport isPlainObject from '../utils/isPlainObject';\n\n/**\n * Used when flattening object styles to determine if we should\n * expand an array of styles.\n */\nconst addTag = >(arg: T): T & { isCss: true } =>\n Object.assign(arg, { isCss: true } as const);\n\nfunction css(styles: Styles, ...interpolations: Interpolation[]): RuleSet;\nfunction css(\n styles: Styles>,\n ...interpolations: Interpolation>[]\n): RuleSet>;\nfunction css(\n styles: Styles>,\n ...interpolations: Interpolation>[]\n): RuleSet> {\n if (isFunction(styles) || isPlainObject(styles)) {\n const styleFunctionOrObject = styles as StyleFunction | StyledObject;\n\n return addTag(\n flatten(\n interleave(EMPTY_ARRAY, [\n styleFunctionOrObject,\n ...interpolations,\n ]) as Interpolation\n )\n );\n }\n\n const styleStringArray = styles as TemplateStringsArray;\n\n if (\n interpolations.length === 0 &&\n styleStringArray.length === 1 &&\n typeof styleStringArray[0] === 'string'\n ) {\n return flatten(styleStringArray);\n }\n\n return addTag(\n flatten(interleave(styleStringArray, interpolations) as Interpolation)\n );\n}\n\nexport default css;\n","import {\n Attrs,\n BaseObject,\n ExecutionProps,\n Interpolation,\n IStyledComponent,\n IStyledComponentFactory,\n KnownTarget,\n NoInfer,\n Runtime,\n StyledOptions,\n StyledTarget,\n Styles,\n Substitute,\n} from '../types';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport styledError from '../utils/error';\nimport css from './css';\n\ntype AttrsResult> = T extends (...args: any) => infer P\n ? P extends object\n ? P\n : never\n : T extends object\n ? T\n : never;\n\n/**\n * Based on Attrs being a simple object or function that returns\n * a prop object, inspect the attrs result and attempt to extract\n * any \"as\" prop usage to modify the runtime target.\n */\ntype AttrsTarget<\n R extends Runtime,\n T extends Attrs,\n FallbackTarget extends StyledTarget,\n Result extends ExecutionProps = AttrsResult,\n> = Result extends { as: infer RuntimeTarget }\n ? RuntimeTarget extends KnownTarget\n ? RuntimeTarget\n : FallbackTarget\n : FallbackTarget;\n\nexport interface Styled<\n R extends Runtime,\n Target extends StyledTarget,\n OuterProps extends object,\n OuterStatics extends object = BaseObject,\n> {\n (\n initialStyles: Styles>>,\n ...interpolations: Interpolation>>[]\n ): IStyledComponent> &\n OuterStatics &\n Statics &\n (R extends 'web'\n ? Target extends string\n ? {}\n : Omit>\n : {});\n\n attrs: <\n Props extends object = BaseObject,\n PrivateMergedProps extends object = Substitute,\n PrivateAttrsArg extends Attrs = Attrs,\n PrivateResolvedTarget extends StyledTarget = AttrsTarget,\n >(\n attrs: PrivateAttrsArg\n ) => Styled<\n R,\n PrivateResolvedTarget,\n PrivateResolvedTarget extends KnownTarget\n ? Substitute<\n Substitute>,\n Props\n >\n : PrivateMergedProps,\n OuterStatics\n >;\n\n withConfig: (config: StyledOptions) => Styled;\n}\n\nexport default function constructWithOptions<\n R extends Runtime,\n Target extends StyledTarget,\n OuterProps extends object = Target extends KnownTarget\n ? React.ComponentPropsWithRef\n : BaseObject,\n OuterStatics extends object = BaseObject,\n>(\n componentConstructor: IStyledComponentFactory, object, any>,\n tag: StyledTarget,\n options: StyledOptions = EMPTY_OBJECT\n): Styled {\n /**\n * We trust that the tag is a valid component as long as it isn't\n * falsish. Typically the tag here is a string or function (i.e.\n * class or pure function component), however a component may also be\n * an object if it uses another utility, e.g. React.memo. React will\n * output an appropriate warning however if the `tag` isn't valid.\n */\n if (!tag) {\n throw styledError(1, tag);\n }\n\n /* This is callable directly as a template function */\n const templateFunction = (\n initialStyles: Styles>,\n ...interpolations: Interpolation>[]\n ) =>\n componentConstructor, Statics>(\n tag,\n options as StyledOptions>,\n css>(initialStyles, ...interpolations)\n );\n\n /**\n * Attrs allows for accomplishing two goals:\n *\n * 1. Backfilling props at runtime more expressively than defaultProps\n * 2. Amending the prop interface of a wrapped styled component\n */\n templateFunction.attrs = <\n Props extends object = BaseObject,\n PrivateMergedProps extends object = Substitute,\n PrivateAttrsArg extends Attrs = Attrs,\n PrivateResolvedTarget extends StyledTarget = AttrsTarget,\n >(\n attrs: PrivateAttrsArg\n ) =>\n constructWithOptions<\n R,\n PrivateResolvedTarget,\n PrivateResolvedTarget extends KnownTarget\n ? Substitute<\n Substitute>,\n Props\n >\n : PrivateMergedProps,\n OuterStatics\n >(componentConstructor, tag, {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n });\n\n /**\n * If config methods are called, wrap up a new template function\n * and merge options.\n */\n templateFunction.withConfig = (config: StyledOptions) =>\n constructWithOptions(componentConstructor, tag, {\n ...options,\n ...config,\n });\n\n return templateFunction;\n}\n","import * as React from 'react';\nimport createStyledComponent from '../models/StyledComponent';\nimport { BaseObject, KnownTarget, WebTarget } from '../types';\nimport domElements, { SupportedHTMLElements } from '../utils/domElements';\nimport constructWithOptions, { Styled as StyledInstance } from './constructWithOptions';\n\nconst baseStyled = (\n tag: Target\n) =>\n constructWithOptions<\n 'web',\n Target,\n Target extends KnownTarget ? React.ComponentPropsWithRef & InjectedProps : InjectedProps\n >(createStyledComponent, tag);\n\nconst styled = baseStyled as typeof baseStyled & {\n [E in SupportedHTMLElements]: StyledInstance<'web', E, React.JSX.IntrinsicElements[E]>;\n};\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(domElement => {\n // @ts-expect-error some react typing bs\n styled[domElement] = baseStyled(domElement);\n});\n\nexport default styled;\nexport { StyledInstance };\n\n/**\n * This is the type of the `styled` HOC.\n */\nexport type Styled = typeof styled;\n\n/**\n * Use this higher-order type for scenarios where you are wrapping `styled`\n * and providing extra props as a third-party library.\n */\nexport type LibraryStyled = (\n tag: Target\n) => typeof baseStyled;\n","import StyleSheet from '../sheet';\nimport { ExecutionContext, RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\nimport { joinStringArray } from '../utils/joinStrings';\n\nexport default class GlobalStyle {\n componentId: string;\n isStatic: boolean;\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: ExecutionContext & Props,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): void {\n const flatCSS = joinStringArray(\n flatten(this.rules as RuleSet, executionContext, styleSheet, stylis) as string[]\n );\n const css = stylis(flatCSS, '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet): void {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: ExecutionContext & Props,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ): void {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","import React from 'react';\nimport type * as streamInternal from 'stream';\nimport { Readable } from 'stream';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport styledError from '../utils/error';\nimport { joinStringArray } from '../utils/joinStrings';\nimport getNonce from '../utils/nonce';\nimport { StyleSheetManager } from './StyleSheetManager';\n\ndeclare const __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n instance: StyleSheet;\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n if (!css) return '';\n const nonce = getNonce();\n const attrs = [\n nonce && `nonce=\"${nonce}\"`,\n `${SC_ATTR}=\"true\"`,\n `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`,\n ];\n const htmlAttr = joinStringArray(attrs.filter(Boolean) as string[], ' ');\n\n return ``;\n };\n\n collectStyles(children: any): React.JSX.Element {\n if (this.sealed) {\n throw styledError(2);\n }\n\n return {children};\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n throw styledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n throw styledError(2);\n }\n\n const css = this.instance.toString();\n if (!css) return [];\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: css,\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props as any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [\";\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 var findWidth = 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 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(findWidth);\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\" && activeFont.encoding === \"Identity-H\") {\r\n // when using unicode fonts, wordSpacePerLine does not apply\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n let backToStartX = 0;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX;\r\n if (l < len - 1) {\r\n let spacing = scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n );\r\n let words = da[l].split(\" \");\r\n text.push([words[0] + \" \", newX, newY]);\r\n backToStartX = 0; // distance to reset back to the left\r\n for (let i = 1; i < words.length; i++) {\r\n let shiftAmount =\r\n (findWidth(words[i - 1] + \" \" + words[i]) -\r\n findWidth(words[i])) *\r\n scaleFactor +\r\n spacing;\r\n if (i == words.length - 1) text.push([words[i], shiftAmount, 0]);\r\n else text.push([words[i] + \" \", shiftAmount, 0]);\r\n backToStartX -= shiftAmount;\r\n }\r\n } else {\r\n text.push([da[l], newX, newY]);\r\n }\r\n }\r\n text.push([\"\", backToStartX, 0]);\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\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\r\n * jsPDF addImage plugin\r\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\r\n * 2013 Chris Dowling, https://github.com/gingerchris\r\n * 2013 Trinh Ho, https://github.com/ineedfat\r\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\r\n * 2013 Norah Smith, https://github.com/burnburnrocket\r\n * 2014 Diego Casorran, https://github.com/diegocr\r\n * 2014 James Robb, https://github.com/jamesbrobb\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining\r\n * a copy of this software and associated documentation files (the\r\n * \"Software\"), to deal in the Software without restriction, including\r\n * without limitation the rights to use, copy, modify, merge, publish,\r\n * distribute, sublicense, and/or sell copies of the Software, and to\r\n * permit persons to whom the Software is furnished to do so, subject to\r\n * the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be\r\n * included in all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n */\r\n/**\r\n * @name addImage\r\n * @module\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\r\n\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n\r\n var namespace = \"addImage_\";\r\n jsPDFAPI.__addimage__ = {};\r\n\r\n var UNKNOWN = \"UNKNOWN\";\r\n\r\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\r\n // With too small batch iteration will be slow as more calls are made,\r\n // higher values cause larger and slower garbage collection.\r\n var ARRAY_APPLY_BATCH = 8192;\r\n\r\n var imageFileTypeHeaders = {\r\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\r\n TIFF: [\r\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\r\n [0x49, 0x49, 0x2a, 0x00] //Intel\r\n ],\r\n JPEG: [\r\n [\r\n 0xff,\r\n 0xd8,\r\n 0xff,\r\n 0xe0,\r\n undefined,\r\n undefined,\r\n 0x4a,\r\n 0x46,\r\n 0x49,\r\n 0x46,\r\n 0x00\r\n ], //JFIF\r\n [\r\n 0xff,\r\n 0xd8,\r\n 0xff,\r\n 0xe1,\r\n undefined,\r\n undefined,\r\n 0x45,\r\n 0x78,\r\n 0x69,\r\n 0x66,\r\n 0x00,\r\n 0x00\r\n ], //Exif\r\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\r\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\r\n ],\r\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\r\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\r\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\r\n WEBP: [\r\n [\r\n 0x52,\r\n 0x49,\r\n 0x46,\r\n 0x46,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 0x57,\r\n 0x45,\r\n 0x42,\r\n 0x50\r\n ]\r\n ],\r\n BMP: [\r\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\r\n [0x42, 0x41], //BA - OS/2 struct bitmap array\r\n [0x43, 0x49], //CI - OS/2 struct color icon\r\n [0x43, 0x50], //CP - OS/2 const color pointer\r\n [0x49, 0x43], //IC - OS/2 struct icon\r\n [0x50, 0x54] //PT - OS/2 pointer\r\n ]\r\n };\r\n\r\n /**\r\n * Recognize filetype of Image by magic-bytes\r\n *\r\n * https://en.wikipedia.org/wiki/List_of_file_signatures\r\n *\r\n * @name getImageFileTypeByImageData\r\n * @public\r\n * @function\r\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\r\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\r\n *\r\n * @returns {string} filetype of Image\r\n */\r\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\r\n imageData,\r\n fallbackFormat\r\n ) {\r\n fallbackFormat = fallbackFormat || UNKNOWN;\r\n var i;\r\n var j;\r\n var result = UNKNOWN;\r\n var headerSchemata;\r\n var compareResult;\r\n var fileType;\r\n\r\n if (\r\n fallbackFormat === \"RGBA\" ||\r\n (imageData.data !== undefined &&\r\n imageData.data instanceof Uint8ClampedArray &&\r\n \"height\" in imageData &&\r\n \"width\" in imageData)\r\n ) {\r\n return \"RGBA\";\r\n }\r\n\r\n if (isArrayBufferView(imageData)) {\r\n for (fileType in imageFileTypeHeaders) {\r\n headerSchemata = imageFileTypeHeaders[fileType];\r\n for (i = 0; i < headerSchemata.length; i += 1) {\r\n compareResult = true;\r\n for (j = 0; j < headerSchemata[i].length; j += 1) {\r\n if (headerSchemata[i][j] === undefined) {\r\n continue;\r\n }\r\n if (headerSchemata[i][j] !== imageData[j]) {\r\n compareResult = false;\r\n break;\r\n }\r\n }\r\n if (compareResult === true) {\r\n result = fileType;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n for (fileType in imageFileTypeHeaders) {\r\n headerSchemata = imageFileTypeHeaders[fileType];\r\n for (i = 0; i < headerSchemata.length; i += 1) {\r\n compareResult = true;\r\n for (j = 0; j < headerSchemata[i].length; j += 1) {\r\n if (headerSchemata[i][j] === undefined) {\r\n continue;\r\n }\r\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\r\n compareResult = false;\r\n break;\r\n }\r\n }\r\n if (compareResult === true) {\r\n result = fileType;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\r\n result = fallbackFormat;\r\n }\r\n return result;\r\n });\r\n\r\n // Image functionality ported from pdf.js\r\n var putImage = function(image) {\r\n var out = this.internal.write;\r\n var putStream = this.internal.putStream;\r\n var getFilters = this.internal.getFilters;\r\n\r\n var filter = getFilters();\r\n while (filter.indexOf(\"FlateEncode\") !== -1) {\r\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\r\n }\r\n\r\n image.objectId = this.internal.newObject();\r\n\r\n var additionalKeyValues = [];\r\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\r\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\r\n additionalKeyValues.push({ key: \"Width\", value: image.width });\r\n additionalKeyValues.push({ key: \"Height\", value: image.height });\r\n\r\n if (image.colorSpace === color_spaces.INDEXED) {\r\n additionalKeyValues.push({\r\n key: \"ColorSpace\",\r\n value:\r\n \"[/Indexed /DeviceRGB \" +\r\n // if an indexed png defines more than one colour with transparency, we've created a sMask\r\n (image.palette.length / 3 - 1) +\r\n \" \" +\r\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\r\n ? image.objectId + 2\r\n : image.objectId + 1) +\r\n \" 0 R]\"\r\n });\r\n } else {\r\n additionalKeyValues.push({\r\n key: \"ColorSpace\",\r\n value: \"/\" + image.colorSpace\r\n });\r\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\r\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\r\n }\r\n }\r\n additionalKeyValues.push({\r\n key: \"BitsPerComponent\",\r\n value: image.bitsPerComponent\r\n });\r\n if (\r\n \"decodeParameters\" in image &&\r\n typeof image.decodeParameters !== \"undefined\"\r\n ) {\r\n additionalKeyValues.push({\r\n key: \"DecodeParms\",\r\n value: \"<<\" + image.decodeParameters + \">>\"\r\n });\r\n }\r\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\r\n var transparency = \"\",\r\n i = 0,\r\n len = image.transparency.length;\r\n for (; i < len; i++)\r\n transparency +=\r\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\r\n\r\n additionalKeyValues.push({\r\n key: \"Mask\",\r\n value: \"[\" + transparency + \"]\"\r\n });\r\n }\r\n if (typeof image.sMask !== \"undefined\") {\r\n additionalKeyValues.push({\r\n key: \"SMask\",\r\n value: image.objectId + 1 + \" 0 R\"\r\n });\r\n }\r\n\r\n var alreadyAppliedFilters =\r\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\r\n\r\n putStream({\r\n data: image.data,\r\n additionalKeyValues: additionalKeyValues,\r\n alreadyAppliedFilters: alreadyAppliedFilters,\r\n objectId: image.objectId\r\n });\r\n\r\n out(\"endobj\");\r\n\r\n // Soft mask\r\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\r\n var decodeParameters =\r\n \"/Predictor \" +\r\n image.predictor +\r\n \" /Colors 1 /BitsPerComponent \" +\r\n image.bitsPerComponent +\r\n \" /Columns \" +\r\n image.width;\r\n var sMask = {\r\n width: image.width,\r\n height: image.height,\r\n colorSpace: \"DeviceGray\",\r\n bitsPerComponent: image.bitsPerComponent,\r\n decodeParameters: decodeParameters,\r\n data: image.sMask\r\n };\r\n if (\"filter\" in image) {\r\n sMask.filter = image.filter;\r\n }\r\n putImage.call(this, sMask);\r\n }\r\n\r\n //Palette\r\n if (image.colorSpace === color_spaces.INDEXED) {\r\n var objId = this.internal.newObject();\r\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\r\n //putStream(zlib.compress(img['pal']));\r\n putStream({\r\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\r\n objectId: objId\r\n });\r\n out(\"endobj\");\r\n }\r\n };\r\n var putResourcesCallback = function() {\r\n var images = this.internal.collections[namespace + \"images\"];\r\n for (var i in images) {\r\n putImage.call(this, images[i]);\r\n }\r\n };\r\n var putXObjectsDictCallback = function() {\r\n var images = this.internal.collections[namespace + \"images\"],\r\n out = this.internal.write,\r\n image;\r\n for (var i in images) {\r\n image = images[i];\r\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\r\n }\r\n };\r\n\r\n var checkCompressValue = function(value) {\r\n if (value && typeof value === \"string\") value = value.toUpperCase();\r\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\r\n };\r\n\r\n var initialize = function() {\r\n if (!this.internal.collections[namespace + \"images\"]) {\r\n this.internal.collections[namespace + \"images\"] = {};\r\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\r\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\r\n }\r\n };\r\n\r\n var getImages = function() {\r\n var images = this.internal.collections[namespace + \"images\"];\r\n initialize.call(this);\r\n return images;\r\n };\r\n var getImageIndex = function() {\r\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\r\n };\r\n var notDefined = function(value) {\r\n return typeof value === \"undefined\" || value === null || value.length === 0;\r\n };\r\n var generateAliasFromImageData = function(imageData) {\r\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\r\n return sHashCode(imageData);\r\n } else if (isArrayBufferView(imageData.data)) {\r\n return sHashCode(imageData.data);\r\n }\r\n\r\n return null;\r\n };\r\n\r\n var isImageTypeSupported = function(type) {\r\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\r\n };\r\n\r\n var isDOMElement = function(object) {\r\n return typeof object === \"object\" && object.nodeType === 1;\r\n };\r\n\r\n var getImageDataFromElement = function(element, format) {\r\n //if element is an image which uses data url definition, just return the dataurl\r\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\r\n var src = \"\" + element.getAttribute(\"src\");\r\n\r\n //is base64 encoded dataUrl, directly process it\r\n if (src.indexOf(\"data:image/\") === 0) {\r\n return atob(\r\n unescape(src)\r\n .split(\"base64,\")\r\n .pop()\r\n );\r\n }\r\n\r\n //it is probably an url, try to load it\r\n var tmpImageData = jsPDFAPI.loadFile(src, true);\r\n if (tmpImageData !== undefined) {\r\n return tmpImageData;\r\n }\r\n }\r\n\r\n if (element.nodeName === \"CANVAS\") {\r\n if (element.width === 0 || element.height === 0) {\r\n throw new Error(\r\n \"Given canvas must have data. Canvas width: \" +\r\n element.width +\r\n \", height: \" +\r\n element.height\r\n );\r\n }\r\n var mimeType;\r\n switch (format) {\r\n case \"PNG\":\r\n mimeType = \"image/png\";\r\n break;\r\n case \"WEBP\":\r\n mimeType = \"image/webp\";\r\n break;\r\n case \"JPEG\":\r\n case \"JPG\":\r\n default:\r\n mimeType = \"image/jpeg\";\r\n break;\r\n }\r\n return atob(\r\n element\r\n .toDataURL(mimeType, 1.0)\r\n .split(\"base64,\")\r\n .pop()\r\n );\r\n }\r\n };\r\n\r\n var checkImagesForAlias = function(alias) {\r\n var images = this.internal.collections[namespace + \"images\"];\r\n if (images) {\r\n for (var e in images) {\r\n if (alias === images[e].alias) {\r\n return images[e];\r\n }\r\n }\r\n }\r\n };\r\n\r\n var determineWidthAndHeight = function(width, height, image) {\r\n if (!width && !height) {\r\n width = -96;\r\n height = -96;\r\n }\r\n if (width < 0) {\r\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\r\n }\r\n if (height < 0) {\r\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\r\n }\r\n if (width === 0) {\r\n width = (height * image.width) / image.height;\r\n }\r\n if (height === 0) {\r\n height = (width * image.height) / image.width;\r\n }\r\n\r\n return [width, height];\r\n };\r\n\r\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\r\n var dims = determineWidthAndHeight.call(this, width, height, image),\r\n coord = this.internal.getCoordinateString,\r\n vcoord = this.internal.getVerticalCoordinateString;\r\n\r\n var images = getImages.call(this);\r\n\r\n width = dims[0];\r\n height = dims[1];\r\n images[image.index] = image;\r\n\r\n if (rotation) {\r\n rotation *= Math.PI / 180;\r\n var c = Math.cos(rotation);\r\n var s = Math.sin(rotation);\r\n //like in pdf Reference do it 4 digits instead of 2\r\n var f4 = function(number) {\r\n return number.toFixed(4);\r\n };\r\n var rotationTransformationMatrix = [\r\n f4(c),\r\n f4(s),\r\n f4(s * -1),\r\n f4(c),\r\n 0,\r\n 0,\r\n \"cm\"\r\n ];\r\n }\r\n this.internal.write(\"q\"); //Save graphics state\r\n if (rotation) {\r\n this.internal.write(\r\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\r\n ); //Translate\r\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\r\n this.internal.write(\r\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\r\n ); //Scale\r\n } else {\r\n this.internal.write(\r\n [\r\n coord(width),\r\n \"0\",\r\n \"0\",\r\n coord(height),\r\n coord(x),\r\n vcoord(y + height),\r\n \"cm\"\r\n ].join(\" \")\r\n ); //Translate and Scale\r\n }\r\n\r\n if (this.isAdvancedAPI()) {\r\n // draw image bottom up when in \"advanced\" API mode\r\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\r\n }\r\n\r\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\r\n this.internal.write(\"Q\"); //Restore graphics state\r\n };\r\n\r\n /**\r\n * COLOR SPACES\r\n */\r\n var color_spaces = (jsPDFAPI.color_spaces = {\r\n DEVICE_RGB: \"DeviceRGB\",\r\n DEVICE_GRAY: \"DeviceGray\",\r\n DEVICE_CMYK: \"DeviceCMYK\",\r\n CAL_GREY: \"CalGray\",\r\n CAL_RGB: \"CalRGB\",\r\n LAB: \"Lab\",\r\n ICC_BASED: \"ICCBased\",\r\n INDEXED: \"Indexed\",\r\n PATTERN: \"Pattern\",\r\n SEPARATION: \"Separation\",\r\n DEVICE_N: \"DeviceN\"\r\n });\r\n\r\n /**\r\n * DECODE METHODS\r\n */\r\n jsPDFAPI.decode = {\r\n DCT_DECODE: \"DCTDecode\",\r\n FLATE_DECODE: \"FlateDecode\",\r\n LZW_DECODE: \"LZWDecode\",\r\n JPX_DECODE: \"JPXDecode\",\r\n JBIG2_DECODE: \"JBIG2Decode\",\r\n ASCII85_DECODE: \"ASCII85Decode\",\r\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\r\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\r\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\r\n };\r\n\r\n /**\r\n * IMAGE COMPRESSION TYPES\r\n */\r\n var image_compression = (jsPDFAPI.image_compression = {\r\n NONE: \"NONE\",\r\n FAST: \"FAST\",\r\n MEDIUM: \"MEDIUM\",\r\n SLOW: \"SLOW\"\r\n });\r\n\r\n /**\r\n * @name sHashCode\r\n * @function\r\n * @param {string} data\r\n * @returns {string}\r\n */\r\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\r\n var hash = 0,\r\n i,\r\n len;\r\n\r\n if (typeof data === \"string\") {\r\n len = data.length;\r\n for (i = 0; i < len; i++) {\r\n hash = (hash << 5) - hash + data.charCodeAt(i);\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n } else if (isArrayBufferView(data)) {\r\n len = data.byteLength / 2;\r\n for (i = 0; i < len; i++) {\r\n hash = (hash << 5) - hash + data[i];\r\n hash |= 0; // Convert to 32bit integer\r\n }\r\n }\r\n return hash;\r\n });\r\n\r\n /**\r\n * Validates if given String is a valid Base64-String\r\n *\r\n * @name validateStringAsBase64\r\n * @public\r\n * @function\r\n * @param {String} possible Base64-String\r\n *\r\n * @returns {boolean}\r\n */\r\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\r\n possibleBase64String\r\n ) {\r\n possibleBase64String = possibleBase64String || \"\";\r\n possibleBase64String.toString().trim();\r\n\r\n var result = true;\r\n\r\n if (possibleBase64String.length === 0) {\r\n result = false;\r\n }\r\n\r\n if (possibleBase64String.length % 4 !== 0) {\r\n result = false;\r\n }\r\n\r\n if (\r\n /^[A-Za-z0-9+/]+$/.test(\r\n possibleBase64String.substr(0, possibleBase64String.length - 2)\r\n ) === false\r\n ) {\r\n result = false;\r\n }\r\n\r\n if (\r\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\r\n possibleBase64String.substr(-2)\r\n ) === false\r\n ) {\r\n result = false;\r\n }\r\n return result;\r\n });\r\n\r\n /**\r\n * Strips out and returns info from a valid base64 data URI\r\n *\r\n * @name extractImageFromDataUrl\r\n * @function\r\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\r\n * @returns {string} The raw Base64-encoded data.\r\n */\r\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\r\n dataUrl\r\n ) {\r\n if (dataUrl == null) {\r\n return null;\r\n }\r\n\r\n // avoid using a regexp for parsing because it might be vulnerable against ReDoS attacks\r\n\r\n dataUrl = dataUrl.trim();\r\n\r\n if (!dataUrl.startsWith(\"data:\")) {\r\n return null;\r\n }\r\n\r\n const commaIndex = dataUrl.indexOf(\",\");\r\n if (commaIndex < 0) {\r\n return null;\r\n }\r\n\r\n const dataScheme = dataUrl.substring(0, commaIndex).trim();\r\n if (!dataScheme.endsWith(\"base64\")) {\r\n return null;\r\n }\r\n\r\n return dataUrl.substring(commaIndex + 1);\r\n });\r\n\r\n /**\r\n * Check to see if ArrayBuffer is supported\r\n *\r\n * @name supportsArrayBuffer\r\n * @function\r\n * @returns {boolean}\r\n */\r\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\r\n return (\r\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\r\n );\r\n });\r\n\r\n /**\r\n * Tests supplied object to determine if ArrayBuffer\r\n *\r\n * @name isArrayBuffer\r\n * @function\r\n * @param {Object} object an Object\r\n *\r\n * @returns {boolean}\r\n */\r\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\r\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\r\n };\r\n\r\n /**\r\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\r\n *\r\n * @name isArrayBufferView\r\n * @function\r\n * @param {Object} object an Object\r\n * @returns {boolean}\r\n */\r\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\r\n object\r\n ) {\r\n return (\r\n supportsArrayBuffer() &&\r\n typeof Uint32Array !== \"undefined\" &&\r\n (object instanceof Int8Array ||\r\n object instanceof Uint8Array ||\r\n (typeof Uint8ClampedArray !== \"undefined\" &&\r\n object instanceof Uint8ClampedArray) ||\r\n object instanceof Int16Array ||\r\n object instanceof Uint16Array ||\r\n object instanceof Int32Array ||\r\n object instanceof Uint32Array ||\r\n object instanceof Float32Array ||\r\n object instanceof Float64Array)\r\n );\r\n });\r\n\r\n /**\r\n * Convert Binary String to ArrayBuffer\r\n *\r\n * @name binaryStringToUint8Array\r\n * @public\r\n * @function\r\n * @param {string} BinaryString with ImageData\r\n * @returns {Uint8Array}\r\n */\r\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\r\n binary_string\r\n ) {\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n return bytes;\r\n });\r\n\r\n /**\r\n * Convert the Buffer to a Binary String\r\n *\r\n * @name arrayBufferToBinaryString\r\n * @public\r\n * @function\r\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\r\n *\r\n * @returns {String}\r\n */\r\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\r\n buffer\r\n ) {\r\n var out = \"\";\r\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\r\n // Do not copy the array if input is already an array.\r\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\r\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\r\n // Limit the amount of characters being parsed to prevent overflow.\r\n // Note that while TextDecoder would be faster, it does not have the same\r\n // functionality as fromCharCode with any provided encodings as of 3/2021.\r\n out += String.fromCharCode.apply(\r\n null,\r\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\r\n );\r\n }\r\n return out;\r\n });\r\n\r\n /**\r\n * Possible parameter for addImage, an RGBA buffer with size.\r\n *\r\n * @typedef {Object} RGBAData\r\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\r\n * @property {number} width - Image width as the data does not carry this information in itself.\r\n * @property {number} height - Image height as the data does not carry this information in itself.\r\n */\r\n\r\n /**\r\n * Adds an Image to the PDF.\r\n *\r\n * @name addImage\r\n * @public\r\n * @function\r\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).\r\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'\r\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} width width of the image (in units declared at inception of PDF document)\r\n * @param {number} height height of the Image (in units declared at inception of PDF document)\r\n * @param {string} alias alias of the image (if used multiple times)\r\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\r\n * @param {number} rotation rotation of the image in degrees (0-359)\r\n *\r\n * @returns jsPDF\r\n */\r\n jsPDFAPI.addImage = function() {\r\n var imageData, format, x, y, w, h, alias, compression, rotation;\r\n\r\n imageData = arguments[0];\r\n if (typeof arguments[1] === \"number\") {\r\n format = UNKNOWN;\r\n x = arguments[1];\r\n y = arguments[2];\r\n w = arguments[3];\r\n h = arguments[4];\r\n alias = arguments[5];\r\n compression = arguments[6];\r\n rotation = arguments[7];\r\n } else {\r\n format = arguments[1];\r\n x = arguments[2];\r\n y = arguments[3];\r\n w = arguments[4];\r\n h = arguments[5];\r\n alias = arguments[6];\r\n compression = arguments[7];\r\n rotation = arguments[8];\r\n }\r\n\r\n if (\r\n typeof imageData === \"object\" &&\r\n !isDOMElement(imageData) &&\r\n \"imageData\" in imageData\r\n ) {\r\n var options = imageData;\r\n\r\n imageData = options.imageData;\r\n format = options.format || format || UNKNOWN;\r\n x = options.x || x || 0;\r\n y = options.y || y || 0;\r\n w = options.w || options.width || w;\r\n h = options.h || options.height || h;\r\n alias = options.alias || alias;\r\n compression = options.compression || compression;\r\n rotation = options.rotation || options.angle || rotation;\r\n }\r\n\r\n //If compression is not explicitly set, determine if we should use compression\r\n var filter = this.internal.getFilters();\r\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\r\n compression = \"SLOW\";\r\n }\r\n\r\n if (isNaN(x) || isNaN(y)) {\r\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\r\n }\r\n\r\n initialize.call(this);\r\n\r\n var image = processImageData.call(\r\n this,\r\n imageData,\r\n format,\r\n alias,\r\n compression\r\n );\r\n\r\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\r\n\r\n return this;\r\n };\r\n\r\n var processImageData = function(imageData, format, alias, compression) {\r\n var result, dataAsBinaryString;\r\n\r\n if (\r\n typeof imageData === \"string\" &&\r\n getImageFileTypeByImageData(imageData) === UNKNOWN\r\n ) {\r\n imageData = unescape(imageData);\r\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\r\n\r\n if (tmpImageData !== \"\") {\r\n imageData = tmpImageData;\r\n } else {\r\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\r\n if (tmpImageData !== undefined) {\r\n imageData = tmpImageData;\r\n }\r\n }\r\n }\r\n\r\n if (isDOMElement(imageData)) {\r\n imageData = getImageDataFromElement(imageData, format);\r\n }\r\n\r\n format = getImageFileTypeByImageData(imageData, format);\r\n if (!isImageTypeSupported(format)) {\r\n throw new Error(\r\n \"addImage does not support files of type '\" +\r\n format +\r\n \"', please ensure that a plugin for '\" +\r\n format +\r\n \"' support is added.\"\r\n );\r\n }\r\n\r\n // now do the heavy lifting\r\n\r\n if (notDefined(alias)) {\r\n alias = generateAliasFromImageData(imageData);\r\n }\r\n result = checkImagesForAlias.call(this, alias);\r\n\r\n if (!result) {\r\n if (supportsArrayBuffer()) {\r\n // no need to convert if imageData is already uint8array\r\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\r\n dataAsBinaryString = imageData;\r\n imageData = binaryStringToUint8Array(imageData);\r\n }\r\n }\r\n\r\n result = this[\"process\" + format.toUpperCase()](\r\n imageData,\r\n getImageIndex.call(this),\r\n alias,\r\n checkCompressValue(compression),\r\n dataAsBinaryString\r\n );\r\n }\r\n\r\n if (!result) {\r\n throw new Error(\"An unknown error occurred whilst processing the image.\");\r\n }\r\n return result;\r\n };\r\n\r\n /**\r\n * @name convertBase64ToBinaryString\r\n * @function\r\n * @param {string} stringData\r\n * @returns {string} binary string\r\n */\r\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\r\n stringData,\r\n throwError\r\n ) {\r\n throwError = typeof throwError === \"boolean\" ? throwError : true;\r\n var imageData = \"\";\r\n var rawData;\r\n\r\n if (typeof stringData === \"string\") {\r\n rawData = extractImageFromDataUrl(stringData) ?? stringData;\r\n\r\n try {\r\n imageData = atob(rawData);\r\n } catch (e) {\r\n if (throwError) {\r\n if (!validateStringAsBase64(rawData)) {\r\n throw new Error(\r\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\r\n );\r\n } else {\r\n throw new Error(\r\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\r\n );\r\n }\r\n }\r\n }\r\n }\r\n return imageData;\r\n });\r\n\r\n /**\r\n * @name getImageProperties\r\n * @function\r\n * @param {Object} imageData\r\n * @returns {Object}\r\n */\r\n jsPDFAPI.getImageProperties = function(imageData) {\r\n var image;\r\n var tmpImageData = \"\";\r\n var format;\r\n\r\n if (isDOMElement(imageData)) {\r\n imageData = getImageDataFromElement(imageData);\r\n }\r\n\r\n if (\r\n typeof imageData === \"string\" &&\r\n getImageFileTypeByImageData(imageData) === UNKNOWN\r\n ) {\r\n tmpImageData = convertBase64ToBinaryString(imageData, false);\r\n\r\n if (tmpImageData === \"\") {\r\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\r\n }\r\n imageData = tmpImageData;\r\n }\r\n\r\n format = getImageFileTypeByImageData(imageData);\r\n if (!isImageTypeSupported(format)) {\r\n throw new Error(\r\n \"addImage does not support files of type '\" +\r\n format +\r\n \"', please ensure that a plugin for '\" +\r\n format +\r\n \"' support is added.\"\r\n );\r\n }\r\n\r\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\r\n imageData = binaryStringToUint8Array(imageData);\r\n }\r\n\r\n image = this[\"process\" + format.toUpperCase()](imageData);\r\n\r\n if (!image) {\r\n throw new Error(\"An unknown error occurred whilst processing the image\");\r\n }\r\n\r\n image.fileType = format;\r\n\r\n return image;\r\n };\r\n})(jsPDF.API);\r\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","/* 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 * 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","/**\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","import React, { useState, useEffect, useContext, useRef } from \"react\";\nimport { useParams, useNavigate } from \"react-router-dom\";\nimport AuthContext from \"../../context/AuthContext\"; // 請確保路徑正確\nimport \"../../css/SpaOrgResponsive.css\";\nimport axios from 'axios';\nimport html2canvas from 'html2canvas';\nimport { jsPDF } from 'jspdf';\n\n// API基本URL\nconst API_BASE_URL = \"https://zz4v8qzou2.execute-api.ap-southeast-1.amazonaws.com\";\n\nfunction OrgDashboard() {\n const [userSettings, setUserSettings] = useState({\n timezone: \"Asia/Manila\", // 默認 UTC+8 (馬尼拉時區)\n displayFormat: \"12h\", // 12小時或24小時制\n dateFormat: \"MM/DD/YYYY\" // 日期格式\n });\n\n // 添加通知狀態\n const [notification, setNotification] = useState({\n show: false,\n message: '',\n type: 'success' // 'success' 或 'error'\n });\n\n // 取消治療確認對話框狀態\n const [cancelConfirmation, setCancelConfirmation] = useState({\n show: false,\n treatment: null\n });\n\n // 取消原因輸入\n const [cancelReason, setCancelReason] = useState('');\n\n // 刪除確認對話框狀態\n const [deleteConfirmation, setDeleteConfirmation] = useState({\n show: false,\n treatment: null\n });\n\n // 编辑治疗对话框状态\n const [editModalOpen, setEditModalOpen] = useState(false);\n const [editingTreatment, setEditingTreatment] = useState(null);\n\n // 刪除密碼驗證\n const [deletePassword, setDeletePassword] = useState('');\n const [deletePasswordError, setDeletePasswordError] = useState('');\n\n // 管理員權限檢查\n const [hasAdminPermission, setHasAdminPermission] = useState(false);\n\n // 隱藏通知\n const hideNotification = () => {\n setNotification({\n ...notification,\n show: false\n });\n };\n\n // 添加一個函數來處理設置更改\n const handleSettingsChange = (setting, value) => {\n setUserSettings(prev => ({\n ...prev,\n [setting]: value\n }));\n\n // 保存到 localStorage 以便在頁面刷新後保持設置\n const updatedSettings = { ...userSettings, [setting]: value };\n localStorage.setItem('spaUserSettings', JSON.stringify(updatedSettings));\n };\n\n // 在初始化時從 localStorage 加載設置\n useEffect(() => {\n const savedSettings = localStorage.getItem('spaUserSettings');\n if (savedSettings) {\n try {\n const parsedSettings = JSON.parse(savedSettings);\n setUserSettings(parsedSettings);\n } catch (e) {\n console.error(\"Error parsing saved settings:\", e);\n }\n }\n }, []);\n\n // 自動隱藏通知\n useEffect(() => {\n if (notification.show) {\n const timer = setTimeout(() => {\n hideNotification();\n }, 5000); // 5秒後自動隱藏\n\n return () => clearTimeout(timer);\n }\n }, [notification.show]);\n\n const { orgId, adminId } = useParams();\n const [orgData, setOrgData] = useState(null);\n const [loading, setLoading] = useState(true);\n const [activeTab, setActiveTab] = useState(\"dashboard\");\n const navigate = useNavigate();\n const { user, logout } = useContext(AuthContext); // 使用AuthContext\n\n // 添加新的狀態用於處理模態框和表單\n const [showTreatmentModal, setShowTreatmentModal] = useState(false);\n const [newTreatment, setNewTreatment] = useState({\n therapistName: \"\",\n guestFirstName: \"\",\n guestLastName: \"\",\n guestEmail: \"\",\n countryCode: \"\",\n phoneNumber: \"\",\n spaRoomNumber: \"\",\n date: \"\",\n startTimeHour: \"\",\n startTimeMinute: \"\",\n startTimeAmPm: \"AM\",\n isPregnant: false,\n hasRespiratoryConcerns: false,\n treatmentType: \"\",\n treatmentDuration: \"\",\n });\n\n // 新增狀態用於存儲API加載的數據\n const [dashboardData, setDashboardData] = useState({\n activeSessions: 0,\n totalTreatments: 0,\n todaysTreatments: 0,\n upcomingBookings: 0,\n recentActivity: []\n });\n const [treatments, setTreatments] = useState([]);\n const [statisticsLoading, setStatisticsLoading] = useState(true);\n const [treatmentsLoading, setTreatmentsLoading] = useState(true);\n const [error, setError] = useState(null);\n const [refreshing, setRefreshing] = useState(false); // 添加刷新狀態\n\n\n // 用於訪問碼頁面\n const [selectedTreatment, setSelectedTreatment] = useState(null);\n const [accessCode, setAccessCode] = useState(null);\n const [accessCodeLoading, setAccessCodeLoading] = useState(false);\n\n // 用於激活客戶頁面\n const [activatedCustomers, setActivatedCustomers] = useState([]);\n const [customersLoading, setCustomersLoading] = useState(false);\n const [customerFilters, setCustomerFilters] = useState({\n status: '',\n therapistName: '',\n treatmentType: '',\n startDate: '',\n endDate: ''\n });\n const [customerSearch, setCustomerSearch] = useState('');\n\n // 添加移动端菜单状态\n const [menuOpen, setMenuOpen] = useState(false);\n const sidebarRef = useRef(null);\n\n // 加載組織數據\n useEffect(() => {\n // 如果有使用Auth系統,優先使用Auth中的數據\n if (user && user.role === \"orgAdmin\") {\n setOrgData({\n orgId: user.organisationID,\n adminId: user.id,\n orgName: user.orgName,\n adminName: user.name,\n role: user.role // 設置角色\n });\n setHasAdminPermission(user.role === 'admin' || user.role === 'superAdmin');\n setLoading(false);\n return;\n }\n\n // 否則從路由參數獲取數據\n const fetchOrgData = () => {\n setLoading(true);\n\n // Organisation lookup table\n const orgDatabase = [\n { orgId: \"H48\", adminId: \"83\", orgName: \"Swissotel Clark\", adminName: \"Admin1\", role: \"admin\" },\n { orgId: \"H72\", adminId: \"91\", orgName: \"Parkinn Clark\", adminName: \"Admin1\", role: \"admin\" },\n { orgId: \"H77\", adminId: \"64\", orgName: \"Reef Cebu\", adminName: \"Admin1\", role: \"admin\" },\n { orgId: \"H28\", adminId: \"68\", orgName: \"Midas Manila\", adminName: \"Admin1\", role: \"admin\" },\n { orgId: \"H16\", adminId: \"31\", orgName: \"Shangri-la Cebu\", adminName: \"Admin1\", role: \"admin\" },\n { orgId: \"H11\", adminId: \"25\", orgName: \"Marriott Spa Clark\", adminName: \"Admin1\", role: \"admin\" },\n { orgId: \"S38\", adminId: \"89\", orgName: \"Okada Spa\", adminName: \"Admin1\", role: \"admin\" },\n { orgId: \"S69\", adminId: \"30\", orgName: \"Swissotel Spa\", adminName: \"Admin1\", role: \"admin\" },\n { orgId: \"S93\", adminId: \"15\", orgName: \"Marriott Spa Clark\", adminName: \"Admin1\", role: \"admin\" }\n ];\n\n // Find matching organisation\n const matchedOrg = orgDatabase.find(\n org => org.orgId === orgId && org.adminId === adminId\n );\n\n if (matchedOrg) {\n setTimeout(() => {\n setOrgData(matchedOrg);\n setHasAdminPermission(matchedOrg.role === 'admin' || matchedOrg.role === 'superAdmin');\n setLoading(false);\n }, 800); // Simulate loading delay\n } else {\n // Handle invalid credentials\n setTimeout(() => {\n navigate(\"/org/login\");\n setLoading(false);\n }, 800);\n }\n };\n\n fetchOrgData();\n }, [orgId, adminId, navigate, user]);\n\n // 加載統計數據和療程列表\n useEffect(() => {\n if (orgData) {\n fetchTreatmentStatistics();\n fetchRecentTreatments();\n }\n }, [orgData]);\n\n // 檢查並更新治療狀態(如超時則標記為 \"ended\")\n useEffect(() => {\n const interval = setInterval(() => {\n if (treatments.length > 0) {\n const now = new Date();\n const updatedTreatments = treatments.map(treatment => {\n // 如果狀態為 scheduled,且已超過結束時間,則標記為 \"ended\"\n if (treatment.status === 'scheduled') {\n const startTime = new Date(treatment.startTime);\n const endTime = new Date(treatment.endTime ||\n new Date(startTime.getTime() + parseInt(treatment.duration) * 60000));\n\n if (now > endTime) {\n return { ...treatment, status: 'ended' };\n }\n }\n return treatment;\n });\n\n // 只有當有治療狀態更新時才更新狀態\n const hasChanges = updatedTreatments.some((t, i) => t.status !== treatments[i].status);\n if (hasChanges) {\n setTreatments(updatedTreatments);\n }\n }\n }, 60000); // 每分鐘檢查一次\n\n return () => clearInterval(interval);\n }, [treatments]);\n\n // 獲取療程統計數據\n const fetchTreatmentStatistics = async () => {\n setStatisticsLoading(true);\n try {\n const response = await fetch(`${API_BASE_URL}/getTreatmentsStatistics-v1?orgId=${orgData.orgId}`);\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const data = await response.json();\n\n // 使用固定的 UTC+8 時區偏移 (香港時間)\n const timezoneOffset = 8 * 60 * 60 * 1000; // 8小時\n\n // 獲取調整後的當前時間\n const now = new Date();\n const localNow = new Date(now.getTime() + timezoneOffset + now.getTimezoneOffset() * 60 * 1000);\n\n // 手動計算當前激活的治療數量\n let activeSessionsCount = 0;\n if (data.treatments) {\n activeSessionsCount = data.treatments.filter(treatment => {\n // 只考慮狀態為 'in-progress' 的治療,或者是應該正在進行的治療\n if (treatment.status === 'in-progress') return true;\n\n if (treatment.status === 'scheduled') {\n // 解析治療開始和結束時間\n const startTime = new Date(treatment.startTime);\n const duration = parseInt(treatment.duration || 60);\n const endTime = treatment.endTime ?\n new Date(treatment.endTime) :\n new Date(startTime.getTime() + duration * 60000);\n\n // 檢查治療是否正在進行中 (當前時間在開始和結束時間之間)\n return localNow >= startTime && localNow <= endTime;\n }\n\n return false;\n }).length;\n }\n\n // 手動計算即將到來的預約\n let upcomingCount = 0;\n if (data.treatments) {\n upcomingCount = data.treatments.filter(treatment => {\n // 只考慮已排程的治療\n if (treatment.status !== 'scheduled') return false;\n\n // 解析治療開始時間並應用時區調整\n const startTime = new Date(treatment.startTime);\n\n // 檢查治療是否在未來24小時內\n return startTime > localNow && startTime <= new Date(localNow.getTime() + 24 * 60 * 60 * 1000);\n }).length;\n }\n\n // 更新儀表板數據\n setDashboardData({\n activeSessions: activeSessionsCount, // 使用手動計算的激活治療數量\n totalTreatments: data.totalTreatments || 0,\n todaysTreatments: data.todaysTreatments || 0,\n upcomingBookings: upcomingCount,\n recentActivity: [] // 將在 fetchRecentTreatments 中填充\n });\n\n setStatisticsLoading(false);\n } catch (err) {\n console.error(\"Error fetching statistics:\", err);\n setError(err.message);\n setStatisticsLoading(false);\n }\n };\n\n // 獲取最近的療程\n const fetchRecentTreatments = async () => {\n setTreatmentsLoading(true);\n try {\n const response = await fetch(`${API_BASE_URL}/listAllTreatment-v1?orgId=${orgData.orgId}`);\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const data = await response.json();\n\n // 使用固定的時區偏移 (香港時間 UTC+8)\n const timezoneOffset = 8 * 60 * 60 * 1000; // 8小時\n\n // 獲取調整後的當前時間\n const now = new Date();\n const localNow = new Date(now.getTime() + timezoneOffset + now.getTimezoneOffset() * 60 * 1000);\n\n const processedTreatments = data.treatments.map(treatment => {\n // 解析並調整治療時間\n const startTime = new Date(treatment.startTime);\n const duration = parseInt(treatment.duration || 60);\n const endTime = treatment.endTime ?\n new Date(treatment.endTime) :\n new Date(startTime.getTime() + duration * 60000);\n\n // 確定治療的實際狀態\n let updatedStatus = treatment.status;\n\n // 如果狀態為 scheduled\n if (treatment.status === 'scheduled') {\n if (localNow > endTime) {\n // 已經結束\n updatedStatus = 'ended';\n } else if (localNow >= startTime && localNow <= endTime) {\n // 正在進行中\n updatedStatus = 'in-progress';\n }\n // 否則保持為 scheduled\n }\n\n return { ...treatment, status: updatedStatus };\n });\n\n // 排序療程按日期從新到舊\n const sortedTreatments = processedTreatments.sort((a, b) =>\n new Date(b.startTime) - new Date(a.startTime)\n );\n\n setTreatments(sortedTreatments);\n\n // 計算當前激活的治療數量\n const activeSessionsCount = sortedTreatments.filter(treatment =>\n treatment.status === 'in-progress'\n ).length;\n\n // 計算未來24小時內的預約\n const upcomingBookings = sortedTreatments.filter(treatment => {\n if (treatment.status !== 'scheduled') return false;\n\n const startTime = new Date(treatment.startTime);\n return startTime > localNow && startTime <= new Date(localNow.getTime() + 24 * 60 * 60 * 1000);\n }).length;\n\n // 更新儀表板數據\n setDashboardData(prev => ({\n ...prev,\n activeSessions: activeSessionsCount,\n upcomingBookings: upcomingBookings,\n // 同時更新最近活動列表\n recentActivity: sortedTreatments.slice(0, 5).map(treatment => {\n let action = \"Treatment scheduled\";\n if (treatment.status === 'in-progress') {\n action = \"Treatment in progress\";\n } else if (treatment.status === 'completed') {\n action = \"Treatment completed\";\n } else if (treatment.status === 'cancelled') {\n action = \"Treatment cancelled\";\n } else if (treatment.status === 'ended') {\n action = \"Treatment ended\";\n }\n\n return {\n time: formatTime(treatment.startTime),\n action: action,\n room: treatment.roomNumber,\n therapyType: treatment.treatmentType\n };\n })\n }));\n\n setTreatmentsLoading(false);\n } catch (err) {\n console.error(\"Error fetching treatments:\", err);\n setError(err.message);\n setTreatmentsLoading(false);\n }\n };\n\n // 添加刷新數據功能\n const handleRefreshData = async () => {\n setRefreshing(true);\n try {\n await Promise.all([\n fetchTreatmentStatistics(),\n fetchRecentTreatments()\n ]);\n setTimeout(() => {\n setRefreshing(false);\n }, 800); // 讓刷新圖標顯示至少800毫秒\n } catch (err) {\n console.error(\"Error refreshing data:\", err);\n setRefreshing(false);\n }\n };\n\n const handleLogout = () => {\n if (logout) logout(); // 使用AuthContext的logout函數\n navigate(\"/org/login\");\n };\n\n // 格式化時間,應用 UTC+8 時區\n const formatTime = (dateString) => {\n if (!dateString) return '';\n\n const date = new Date(dateString);\n\n // 使用固定的時區偏移 (香港時間 UTC+8)\n const timezoneOffset = 8 * 60 * 60 * 1000; // 8小時\n\n // 調整日期以反映 UTC+8 時區\n const adjustedDate = new Date(date.getTime() + timezoneOffset + date.getTimezoneOffset() * 60 * 1000);\n\n // 獲取小時和分鐘\n const hours = adjustedDate.getHours();\n const minutes = adjustedDate.getMinutes();\n\n // 根據用戶設置選擇 12 小時制或 24 小時制\n const use24HourFormat = true; // 或從其他地方獲取設置\n if (use24HourFormat) {\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;\n } else {\n const displayHours = hours % 12 || 12; // 12小時制轉換\n const ampm = hours >= 12 ? 'PM' : 'AM';\n return `${displayHours}:${minutes.toString().padStart(2, '0')} ${ampm}`;\n }\n };\n\n // 格式化日期,應用 UTC+8 時區\n const formatDate = (dateString) => {\n if (!dateString) return '';\n\n const date = new Date(dateString);\n\n // 使用固定的時區偏移 (香港時間 UTC+8)\n const timezoneOffset = 8 * 60 * 60 * 1000; // 8小時\n\n // 調整日期以反映 UTC+8 時區\n const adjustedDate = new Date(date.getTime() + timezoneOffset + date.getTimezoneOffset() * 60 * 1000);\n\n // 獲取日、月、年\n const day = adjustedDate.getDate();\n const month = adjustedDate.getMonth() + 1; // 月份是從0開始的\n const year = adjustedDate.getFullYear();\n\n // 返回格式化的日期字符串 DD/MM/YYYY\n return `${day.toString().padStart(2, '0')}/${month.toString().padStart(2, '0')}/${year}`;\n };\n\n // 從ISO日期字符串中提取日期部分 (YYYY-MM-DD)\n const extractDateFromISO = (isoString) => {\n if (!isoString) return '';\n return isoString.split('T')[0];\n };\n\n // 從ISO日期字符串中提取時間部分,並轉換為12小時制的時、分和AM/PM\n const extractTimeFromISO = (isoString) => {\n if (!isoString) return { hour: '', minute: '', ampm: 'AM' };\n\n const date = new Date(isoString);\n const timezoneOffset = 8 * 60 * 60 * 1000; // UTC+8 = 8小時\n const adjustedDate = new Date(date.getTime() + timezoneOffset);\n\n let hour = adjustedDate.getUTCHours();\n const minute = adjustedDate.getUTCMinutes().toString().padStart(2, '0');\n const ampm = hour >= 12 ? 'PM' : 'AM';\n\n // 轉換成12小時制\n hour = hour % 12 || 12;\n\n return {\n hour: hour.toString(),\n minute,\n ampm\n };\n };\n\n // 獲取治療狀態標籤樣式\n const getStatusStyle = (status) => {\n switch (status) {\n case 'scheduled':\n return styles.statusScheduled;\n case 'in-progress':\n return styles.statusInProgress;\n case 'completed':\n return styles.statusCompleted;\n case 'cancelled':\n return styles.statusCancelled;\n case 'ended':\n return styles.statusEnded;\n default:\n return styles.statusScheduled;\n }\n };\n\n // 獲取狀態顯示顏色\n const getStatusColor = (status) => {\n switch (status) {\n case 'scheduled':\n return '#4caf50'; // 綠色\n case 'in-progress':\n return '#2196f3'; // 藍色\n case 'completed':\n return '#8d6e63'; // 棕色\n case 'cancelled':\n return '#f44336'; // 紅色\n case 'ended':\n return '#9e9e9e'; // 灰色\n default:\n return '#9e9e9e'; // 灰色\n }\n };\n\n // 格式化狀態顯示\n const formatStatus = (status) => {\n switch (status) {\n case 'scheduled':\n return 'Scheduled';\n case 'in-progress':\n return 'In Progress';\n case 'completed':\n return 'Completed';\n case 'cancelled':\n return 'Cancelled';\n case 'ended':\n return 'Ended';\n default:\n return status;\n }\n };\n\n // 新增的函數 - 處理表單輸入變化\n const handleTreatmentInputChange = (e) => {\n const { name, value, type, checked } = e.target;\n setNewTreatment(prev => ({\n ...prev,\n [name]: type === 'checkbox' ? checked : value\n }));\n };\n\n // 处理编辑表单输入变化\n const handleEditTreatmentInputChange = (e) => {\n const { name, value, type, checked } = e.target;\n setEditingTreatment(prev => ({\n ...prev,\n [name]: type === 'checkbox' ? checked : value\n }));\n };\n\n // 新增的函數 - 處理新療程提交\n const handleCreateTreatment = async (e) => {\n e.preventDefault();\n\n try {\n // 解析用戶輸入的時間\n const { date, startTimeHour, startTimeMinute, startTimeAmPm, treatmentDuration } = newTreatment;\n let hour24 = parseInt(startTimeHour);\n\n // 轉換為24小時制\n if (startTimeAmPm === \"PM\" && hour24 < 12) hour24 += 12;\n if (startTimeAmPm === \"AM\" && hour24 === 12) hour24 = 0;\n\n // 創建一個 ISO 字符串,明確包含時區偏移 (+08:00 for UTC+8)\n // 注意:這已經是本地時間 (UTC+8),不需要額外的時區調整\n const localISOString = `${date}T${hour24.toString().padStart(2, '0')}:${startTimeMinute.toString().padStart(2, '0')}:00+08:00`;\n\n // 創建日期對象並轉換為 UTC ISO 字符串\n // 這會自動將本地時間 (UTC+8) 轉換為 UTC\n const localDate = new Date(localISOString);\n const startTimeISO = localDate.toISOString(); // 此時已轉換為 UTC\n\n // 計算結束時間 (UTC)\n const endDate = new Date(localDate.getTime() + parseInt(treatmentDuration) * 60 * 1000);\n const endTimeISO = endDate.toISOString();\n\n // 使用當地日期格式 (YYYYMMDD),不包括時區轉換\n const dateYYYYMMDD = date.replace(/-/g, '');\n\n const price = calculatePrice(newTreatment.treatmentType, newTreatment.treatmentDuration);\n\n const treatmentData = {\n orgId: orgData.orgId,\n adminId: orgData.adminId,\n therapistId: getTherapistId(newTreatment.therapistName),\n therapistName: newTreatment.therapistName,\n guestFirstName: newTreatment.guestFirstName,\n guestLastName: newTreatment.guestLastName,\n guestEmail: newTreatment.guestEmail || '',\n guestPhone: `${newTreatment.countryCode}${newTreatment.phoneNumber}` || '',\n roomNumber: newTreatment.spaRoomNumber,\n startTime: startTimeISO,\n endTime: endTimeISO,\n date: date,\n dateYYYYMMDD: dateYYYYMMDD,\n treatmentType: newTreatment.treatmentType,\n duration: parseInt(treatmentDuration),\n status: \"scheduled\",\n isPregnant: newTreatment.isPregnant,\n hasRespiratoryConcerns: newTreatment.hasRespiratoryConcerns,\n price: price,\n notes: \"\"\n };\n\n // 發送請求創建新療程\n const response = await fetch(`${API_BASE_URL}/createTreatment-v1`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(treatmentData),\n });\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const result = await response.json();\n\n // 重置表單並關閉模態框\n setNewTreatment({\n therapistName: \"\",\n guestFirstName: \"\",\n guestLastName: \"\",\n guestEmail: \"\",\n countryCode: \"\",\n phoneNumber: \"\",\n spaRoomNumber: \"\",\n date: \"\",\n startTimeHour: \"\",\n startTimeMinute: \"\",\n startTimeAmPm: \"AM\",\n isPregnant: false,\n hasRespiratoryConcerns: false,\n treatmentType: \"\",\n treatmentDuration: \"\",\n });\n setShowTreatmentModal(false);\n\n // 刷新數據\n fetchTreatmentStatistics();\n fetchRecentTreatments();\n\n // 顯示成功通知\n setNotification({\n show: true,\n message: \"Treatment created successfully!\",\n type: \"success\"\n });\n\n } catch (err) {\n console.error(\"Error creating treatment:\", err);\n setNotification({\n show: true,\n message: `Error creating treatment: ${err.message}`,\n type: \"error\"\n });\n }\n };\n\n // 处理编辑治疗\n const handleEditTreatment = (treatment) => {\n // 从ISO时间中提取日期和时间信息\n const date = extractDateFromISO(treatment.startTime);\n const { hour, minute, ampm } = extractTimeFromISO(treatment.startTime);\n\n // 设置编辑表单数据\n setEditingTreatment({\n ...treatment,\n date: date,\n startTimeHour: hour,\n startTimeMinute: minute,\n startTimeAmPm: ampm,\n countryCode: treatment.guestPhone ? treatment.guestPhone.substring(0, 3) : \"\",\n phoneNumber: treatment.guestPhone ? treatment.guestPhone.substring(3) : \"\",\n treatmentDuration: treatment.duration.toString()\n });\n\n // 打开编辑模态框\n setEditModalOpen(true);\n };\n\n // 提交编辑表单\n const handleSubmitEdit = async (e) => {\n e.preventDefault();\n\n try {\n // 解析用户输入的时间\n const { date, startTimeHour, startTimeMinute, startTimeAmPm, treatmentDuration } = editingTreatment;\n let hour24 = parseInt(startTimeHour);\n\n // 转换为24小时制\n if (startTimeAmPm === \"PM\" && hour24 < 12) hour24 += 12;\n if (startTimeAmPm === \"AM\" && hour24 === 12) hour24 = 0;\n\n // 创建一个 ISO 字符串,明确包含时区偏移 (+08:00 for UTC+8)\n const localISOString = `${date}T${hour24.toString().padStart(2, '0')}:${startTimeMinute.toString().padStart(2, '0')}:00+08:00`;\n\n // 创建日期对象并转换为 UTC ISO 字符串\n const localDate = new Date(localISOString);\n const startTimeISO = localDate.toISOString();\n\n // 计算结束时间 (UTC)\n const endDate = new Date(localDate.getTime() + parseInt(treatmentDuration) * 60 * 1000);\n const endTimeISO = endDate.toISOString();\n\n // 使用当地日期格式 (YYYYMMDD)\n const dateYYYYMMDD = date.replace(/-/g, '');\n\n // 计算价格\n const price = calculatePrice(editingTreatment.treatmentType, editingTreatment.treatmentDuration);\n\n const orgId = orgData.orgId;\n const treatmentId = editingTreatment.treatmentId;\n\n // 准备更新数据\n const treatmentData = {\n therapistId: getTherapistId(editingTreatment.therapistName),\n therapistName: editingTreatment.therapistName,\n guestFirstName: editingTreatment.guestFirstName,\n guestLastName: editingTreatment.guestLastName,\n guestEmail: editingTreatment.guestEmail || '',\n guestPhone: `${editingTreatment.countryCode}${editingTreatment.phoneNumber}` || '',\n roomNumber: editingTreatment.roomNumber,\n startTime: startTimeISO,\n endTime: endTimeISO,\n date: date,\n dateYYYYMMDD: dateYYYYMMDD,\n treatmentType: editingTreatment.treatmentType,\n duration: parseInt(treatmentDuration),\n status: editingTreatment.status,\n isPregnant: editingTreatment.isPregnant,\n hasRespiratoryConcerns: editingTreatment.hasRespiratoryConcerns,\n price: price,\n updatedAt: new Date().toISOString(),\n updatedBy: orgData.adminName || 'Admin'\n };\n\n console.log(`Updating treatment: ${orgId}/${treatmentId}`, treatmentData);\n\n // 发送更新请求 - 使用正确的URL格式\n const response = await fetch(`${API_BASE_URL}/updateTreatment-v1`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n orgId: orgId,\n treatmentId: treatmentId,\n ...treatmentData\n }),\n });\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const result = await response.json();\n\n // 关闭模态框\n setEditModalOpen(false);\n setEditingTreatment(null);\n\n // 刷新数据\n fetchTreatmentStatistics();\n fetchRecentTreatments();\n\n // 显示成功通知\n setNotification({\n show: true,\n message: \"Treatment updated successfully!\",\n type: \"success\"\n });\n\n } catch (err) {\n console.error(\"Error updating treatment:\", err);\n setNotification({\n show: true,\n message: `Error updating treatment: ${err.message}`,\n type: \"error\"\n });\n }\n };\n\n // 将Quick Cancel改为Remove Treatment\n const handleToggleTreatmentStatus = async (treatment) => {\n try {\n // 设置载入状态\n setTreatmentsLoading(true);\n\n // 准备请求数据\n const treatmentId = treatment.treatmentId;\n const orgId = orgData.orgId;\n\n // 如果是取消状态,恢复为scheduled;否则执行删除操作\n if (treatment.status === 'cancelled') {\n // 恢复功能 - 将取消状态改为scheduled\n console.log(`Restoring treatment: ${orgId}/${treatmentId} to scheduled status`);\n\n const response = await fetch(`${API_BASE_URL}/updateTreatmentStatus-v1`, {\n method: 'PATCH',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n orgId: orgId,\n treatmentId: treatmentId,\n status: 'scheduled',\n restoredBy: orgData.adminName || 'Admin',\n restoredAt: new Date().toISOString()\n }),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.message || `API error: ${response.status}`);\n }\n\n // 显示成功通知\n setNotification({\n show: true,\n message: 'Treatment restored to scheduled status',\n type: 'success'\n });\n\n // 更新本地治疗数据状态\n setTreatments(treatments.map(t =>\n t.treatmentId === treatmentId ? { ...t, status: 'scheduled' } : t\n ));\n } else {\n // 删除功能 - 永久删除治疗记录\n console.log(`Permanently removing treatment: ${orgId}/${treatmentId}`);\n\n const response = await fetch(`${API_BASE_URL}/deleteTreatment-v1`, {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n orgId: orgId,\n id: treatmentId, // 注意这里用id而不是treatmentId (根据API要求)\n deletedBy: orgData.adminName || 'Admin',\n deletedAt: new Date().toISOString()\n }),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.message || `API error: ${response.status}`);\n }\n\n // 显示成功通知\n setNotification({\n show: true,\n message: 'Treatment permanently removed',\n type: 'success'\n });\n\n // 从本地治疗列表中移除\n setTreatments(treatments.filter(t => t.treatmentId !== treatmentId));\n }\n\n // 重新加载治疗列表和统计数据\n fetchRecentTreatments();\n fetchTreatmentStatistics();\n\n } catch (err) {\n console.error(\"Error updating treatment status:\", err);\n\n // 显示错误通知\n setNotification({\n show: true,\n message: `Error: ${err.message}`,\n type: 'error'\n });\n } finally {\n setTreatmentsLoading(false);\n }\n };\n\n // 假設的輔助函數\n const getTherapistId = (name) => {\n const therapists = {\n \"Rea Hosana\": \"TH001\",\n \"Michelle Abalos\": \"TH002\",\n \"Grace Marasigan\": \"TH003\",\n \"Edlyn Molina\": \"TH004\",\n \"Mary Ann Quiazon\": \"TH005\",\n \"Bernalie Torres\": \"TH006\",\n \"Daisy Pangilinan\": \"TH007\",\n \"Loisa Gelito\": \"TH008\",\n \"Mary Jane Pamintuan\": \"TH009\"\n };\n return therapists[name] || \"TH000\";\n };\n\n const formatDateTimeToISO = (date, time, ampm) => {\n const [hours, minutes] = time.split(':');\n let hour = parseInt(hours);\n\n // 處理AM/PM\n if (ampm === \"PM\" && hour < 12) hour += 12;\n if (ampm === \"AM\" && hour === 12) hour = 0;\n\n const formattedHour = hour.toString().padStart(2, '0');\n return `${date}T${formattedHour}:${minutes}:00.000Z`;\n };\n\n const calculateEndTime = (date, startTime, ampm, duration) => {\n const [hours, minutes] = startTime.split(':');\n let hour = parseInt(hours);\n\n // 處理AM/PM\n if (ampm === \"PM\" && hour < 12) hour += 12;\n if (ampm === \"AM\" && hour === 12) hour = 0;\n\n const startDate = new Date(`${date}T${hour.toString().padStart(2, '0')}:${minutes}:00`);\n const endDate = new Date(startDate.getTime() + parseInt(duration) * 60000);\n\n return endDate.toISOString();\n };\n\n const calculatePrice = (treatmentType, duration) => {\n // 根據療程類型和時間計算價格\n const basePrice = {\n \"Wellness for Two\": 4500,\n \"Pure Radiance\": 3500,\n \"Vitality Booster\": 3000,\n \"Mekeni Signature Massage\": 2800,\n \"Purovel Mountain Stone Massage\": 3200,\n \"Refreshing Relaxation Massage\": 2500,\n \"Wellbeing Muscle Recovery Massage\": 2700,\n \"East Asian Massage\": 2600,\n \"Sole & Leg Experience\": 1800,\n \"Bespoke Massage\": 3500,\n \"Ultra Comprehensive Anti-Aging Facial\": 3800,\n \"Comforting & Soothing Facial\": 3200,\n \"New Skin for Men\": 3000,\n \"Perfect Contour Scrub\": 2200,\n \"HImalayan Salt & Coconut Oil Scrub\": 2400\n };\n\n const durMultiplier = {\n \"45\": 0.8,\n \"50\": 0.85,\n \"60\": 1,\n \"75\": 1.15,\n \"90\": 1.3,\n \"120\": 1.6,\n \"150\": 1.9,\n \"180\": 2.2\n };\n\n return basePrice[treatmentType] * durMultiplier[duration] || 0;\n };\n\n // 处理取消提示\n const handleCancelPrompt = (treatment) => {\n setCancelConfirmation({\n show: true,\n treatment: treatment\n });\n setCancelReason(''); // 重置取消原因\n };\n\n // 关闭取消确认框\n const handleCloseCancelDialog = () => {\n setCancelConfirmation({\n show: false,\n treatment: null\n });\n setCancelReason('');\n };\n\n // 处理取消原因变更\n const handleCancelReasonChange = (e) => {\n setCancelReason(e.target.value);\n };\n\n // 执行取消治疗\n const handleCancelTreatment = async () => {\n if (!cancelConfirmation.treatment) return;\n\n try {\n // 设置载入状态\n setTreatmentsLoading(true);\n\n // 准备取消请求数据\n const treatmentId = cancelConfirmation.treatment.treatmentId;\n const orgId = orgData.orgId;\n\n console.log(`Cancelling treatment: ${orgId}/${treatmentId}`);\n\n // 执行更新状态请求\n const response = await fetch(`${API_BASE_URL}/updateTreatmentStatus-v1`, {\n method: 'PATCH',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n orgId: orgId,\n treatmentId: treatmentId,\n status: 'cancelled',\n cancelReason: cancelReason || 'No reason provided',\n cancelledBy: orgData.adminName || 'Admin',\n cancelledAt: new Date().toISOString()\n }),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.message || `API error: ${response.status}`);\n }\n\n // 关闭确认对话框\n handleCloseCancelDialog();\n\n // 更新本地治疗数据状态\n setTreatments(treatments.map(t =>\n t.treatmentId === treatmentId\n ? {\n ...t,\n status: 'cancelled',\n cancelReason: cancelReason || 'No reason provided',\n cancelledBy: orgData.adminName || 'Admin',\n cancelledAt: new Date().toISOString()\n }\n : t\n ));\n\n // 显示成功通知\n setNotification({\n show: true,\n message: 'Treatment cancelled successfully',\n type: 'success'\n });\n\n // 重新加载治疗列表和统计数据\n fetchRecentTreatments();\n fetchTreatmentStatistics();\n\n } catch (err) {\n console.error(\"Error cancelling treatment:\", err);\n\n // 显示错误通知\n setNotification({\n show: true,\n message: `Error cancelling treatment: ${err.message}`,\n type: 'error'\n });\n } finally {\n setTreatmentsLoading(false);\n }\n };\n\n // 处理删除提示\n const handleDeletePrompt = (treatment) => {\n setDeleteConfirmation({\n show: true,\n treatment: treatment\n });\n setDeletePassword('');\n setDeletePasswordError('');\n };\n\n // 关闭删除确认框\n const handleCloseDeleteDialog = () => {\n setDeleteConfirmation({\n show: false,\n treatment: null\n });\n setDeletePassword('');\n setDeletePasswordError('');\n };\n\n // 处理密码输入变更\n const handleDeletePasswordChange = (e) => {\n setDeletePassword(e.target.value);\n setDeletePasswordError('');\n };\n\n // 执行永久删除治疗\n const handleDeleteTreatment = async () => {\n if (!deleteConfirmation.treatment) return;\n\n // 验证管理员密码\n if (deletePassword !== 'admin123') { // 实际应用中应使用更安全的验证方式\n setDeletePasswordError('Incorrect password');\n return;\n }\n\n try {\n // 设置载入状态\n setTreatmentsLoading(true);\n\n // 准备删除请求数据\n const treatmentId = deleteConfirmation.treatment.treatmentId;\n const orgId = orgData.orgId;\n\n console.log(`Deleting treatment permanently: ${orgId}/${treatmentId}`);\n\n // 执行删除请求\n const response = await fetch(`${API_BASE_URL}/deleteTreatment-v1`, {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n orgId: orgId,\n id: treatmentId,\n deletedBy: orgData.adminName || 'Admin',\n deletedAt: new Date().toISOString()\n }),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.message || `API error: ${response.status}`);\n }\n\n // 关闭确认对话框\n handleCloseDeleteDialog();\n\n // 更新治疗列表 (移除已删除的治疗)\n setTreatments(treatments.filter(t => t.treatmentId !== treatmentId));\n\n // 显示成功通知\n setNotification({\n show: true,\n message: 'Treatment permanently deleted',\n type: 'success'\n });\n\n // 重新加载治疗列表和统计数据\n fetchRecentTreatments();\n fetchTreatmentStatistics();\n\n } catch (err) {\n console.error(\"Error deleting treatment:\", err);\n\n // 显示错误通知\n setNotification({\n show: true,\n message: `Error deleting treatment: ${err.message}`,\n type: 'error'\n });\n } finally {\n setTreatmentsLoading(false);\n }\n };\n\n // 生成訪問碼 - 修正版\n const handleGenerateAccessCode = async (treatment) => {\n setSelectedTreatment(treatment);\n setAccessCodeLoading(true);\n\n try {\n // 檢查治療記錄是否有 clientId\n if (!treatment.clientId) {\n throw new Error(\"無法生成訪問碼:此治療記錄沒有關聯的客戶 ID\");\n }\n\n const response = await fetch(\"https://nkzee8u8cc.execute-api.ap-southeast-1.amazonaws.com/generateAccessCode\", {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n customerId: treatment.clientId\n }),\n });\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const data = await response.json();\n setAccessCode(data);\n\n // 顯示成功通知\n setNotification({\n show: true,\n message: \"Access code generated successfully!\",\n type: \"success\"\n });\n } catch (err) {\n console.error(\"Error generating access code:\", err);\n setNotification({\n show: true,\n message: `Error generating access code: ${err.message}`,\n type: \"error\"\n });\n } finally {\n setAccessCodeLoading(false);\n }\n };\n\n // 獲取激活客戶列表\n const fetchActivatedCustomers = async (filters = {}) => {\n if (!orgData) return;\n\n setCustomersLoading(true);\n try {\n // 構建查詢參數\n const queryParams = new URLSearchParams({\n orgId: orgData.orgId,\n ...filters\n });\n\n const response = await fetch(`https://h6ejj34g98.execute-api.ap-southeast-1.amazonaws.com/getActivatedCustomers?${queryParams.toString()}`);\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const data = await response.json();\n\n if (data.success) {\n // 按最後活動時間排序(從新到舊)\n const sortedCustomers = data.customers.sort((a, b) =>\n new Date(b.lastActiveAt) - new Date(a.lastActiveAt)\n );\n setActivatedCustomers(sortedCustomers);\n } else {\n throw new Error(data.message || 'Failed to fetch activated customers');\n }\n } catch (err) {\n console.error(\"Error fetching activated customers:\", err);\n setNotification({\n show: true,\n message: `Error: ${err.message}`,\n type: 'error'\n });\n } finally {\n setCustomersLoading(false);\n }\n };\n\n // 處理過濾器變更\n const handleFilterChange = (e) => {\n const { name, value } = e.target;\n setCustomerFilters(prev => ({\n ...prev,\n [name]: value\n }));\n };\n\n // 應用過濾器\n const applyFilters = () => {\n // 只包含有值的過濾器\n const activeFilters = Object.entries(customerFilters)\n .reduce((acc, [key, value]) => {\n if (value) acc[key] = value;\n return acc;\n }, {});\n\n fetchActivatedCustomers(activeFilters);\n };\n\n // 重置過濾器\n const resetFilters = () => {\n setCustomerFilters({\n status: '',\n therapistName: '',\n treatmentType: '',\n startDate: '',\n endDate: ''\n });\n fetchActivatedCustomers();\n };\n\n // 切换侧边栏菜单状态\n const toggleMenu = () => {\n setMenuOpen(!menuOpen);\n };\n\n // 當組織數據加載完成後,獲取激活客戶列表\n useEffect(() => {\n if (orgData && activeTab === 'customers') {\n fetchActivatedCustomers();\n }\n }, [orgData, activeTab]);\n\n // 点击外部关闭菜单\n useEffect(() => {\n function handleClickOutside(event) {\n if (menuOpen && sidebarRef.current && !sidebarRef.current.contains(event.target)) {\n setMenuOpen(false);\n }\n }\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [menuOpen]);\n\n const [selectedTreatmentId, setSelectedTreatmentId] = useState(null);\n const [selectedTreatmentNew, setSelectedTreatmentNew] = useState(null);\n const [deviceMappings, setDeviceMappings] = useState({});\n const [deviceInfo, setDeviceInfo] = useState(null);\n const [reportData, setReportData] = useState(null);\n const [reportLoading, setReportLoading] = useState(false);\n\n // Load device mappings from Google Sheets when the component mounts\n useEffect(() => {\n if (activeTab === \"reports\") {\n fetchDeviceMappings();\n }\n }, [activeTab]);\n\n // 獲取 Google Sheets 數據\n const fetchGoogleSheetData = async () => {\n try {\n const response = await axios.get(\n `https://docs.google.com/spreadsheets/d/1QoK-tg6IVb5112-wpt3DUmoEnbk4N3miAqTlPNG_kkY/gviz/tq?tqx=out:json`\n );\n const text = response.data;\n\n // 清理返回的 JSON 數據\n const json = JSON.parse(text.substr(47).slice(0, -2));\n const rows = json.table.rows.map((row) =>\n row.c.map((cell) => (cell ? cell.v : \"\"))\n );\n\n // 確保我們有 orgId\n if (!orgData || !orgData.orgId) {\n console.error(\"No orgId available to filter device mappings\");\n return {};\n }\n\n // 過濾符合當前 orgId 的資料行\n const orgRows = rows.filter(row => row[1] === orgData.orgId);\n console.log(`Filtered rows for orgId ${orgData.orgId}:`, orgRows);\n\n // 構建房間號碼到設備信息的映射\n const mappings = {};\n orgRows.forEach((row, index) => {\n const serialNumber = row[0]; // 序列號在第 0 列\n const orgId = row[1]; // orgId 在第 1 列\n const roomNumber = row[2]; // 房間號碼在第 2 列\n const macAddress = row[5]; // MAC 地址在第 5 列\n\n console.log(`OrgRow ${index}:`, { orgId, roomNumber, serialNumber, macAddress });\n\n if (roomNumber && macAddress) {\n mappings[roomNumber] = {\n serialNumber: serialNumber || 'N/A',\n macAddress: macAddress || 'N/A'\n };\n }\n });\n\n console.log(`Final device mappings for orgId ${orgData.orgId}:`, mappings);\n return mappings;\n } catch (err) {\n console.error(\"Failed to fetch Google Sheet data:\", err.message);\n return {};\n }\n };\n\n // Fetch device mappings from Google Sheets\n const fetchDeviceMappings = async () => {\n if (orgData && orgData.orgId) {\n const mappings = await fetchGoogleSheetData();\n setDeviceMappings(mappings);\n console.log(\"Device mappings set to state:\", mappings);\n } else {\n console.log(\"Cannot fetch device mappings: No orgId available\");\n }\n };\n\n // Handle treatment selection for reports\n const handleTreatmentSelect = (treatmentId) => {\n setSelectedTreatmentId(treatmentId);\n setReportData(null); // 清除任何先前的報告數據\n\n if (!treatmentId) {\n setSelectedTreatment(null);\n setDeviceInfo(null);\n return;\n }\n\n // Find the selected treatment\n const treatment = treatments.find(t => t.treatmentId === treatmentId);\n setSelectedTreatment(treatment);\n\n // Check if we have device info for this room\n if (treatment && treatment.roomNumber && deviceMappings[treatment.roomNumber]) {\n setDeviceInfo(deviceMappings[treatment.roomNumber]);\n } else {\n setDeviceInfo(null);\n // 如果沒有設備信息,清空報告數據\n setReportData(null);\n // 可以選擇在這裡顯示通知\n if (treatment && treatment.roomNumber) {\n setNotification({\n show: true,\n message: `No device mapping found for room: ${treatment.roomNumber}`,\n type: \"warning\"\n });\n }\n }\n };\n\n // Generate sleep report\n const generateSleepReport = async () => {\n if (!selectedTreatment || !deviceInfo || !deviceInfo.macAddress) {\n // 如果沒有設備信息,清空報告數據並顯示錯誤\n setReportData(null); // 清空報告數據\n setNotification({\n show: true,\n message: \"Cannot generate report: Missing device information\",\n type: \"error\"\n });\n return;\n }\n\n setReportLoading(true);\n try {\n // 從treatment日期中提取YYYYMMDD格式的日期\n const treatmentDate = new Date(selectedTreatment.startTime);\n const formattedDate = treatmentDate.toISOString().slice(0, 10).replace(/-/g, '');\n\n console.log(`Generating report for MAC: ${deviceInfo.macAddress}, Date: ${formattedDate}`);\n console.log(`Treatment start time: ${selectedTreatment.startTime}`);\n console.log(`Treatment end time: ${selectedTreatment.endTime || 'Not specified'}`);\n console.log(`Treatment duration: ${selectedTreatment.duration || 'Not specified'}`);\n\n // 使用新的API端點\n const response = await fetch('https://aisx6r0ac1.execute-api.ap-southeast-1.amazonaws.com/dev/api', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n mac: deviceInfo.macAddress,\n date: formattedDate\n }),\n });\n\n if (!response.ok) {\n throw new Error(`API error: ${response.status}`);\n }\n\n const responseData = await response.json();\n\n // 解析API響應\n if (responseData.statusCode === 200 && responseData.body) {\n // 解析body字符串(如果是字符串格式)\n const bodyData = typeof responseData.body === 'string'\n ? JSON.parse(responseData.body)\n : responseData.body;\n\n // 檢查業務響應代碼\n if (bodyData.code === \"0000\" && bodyData.data) {\n // 提取出原始的呼吸率和心率數據\n const { rrData, hrData } = bodyData.data;\n\n console.log(`RR Data arrays: ${rrData.length}, HR Data arrays: ${hrData.length}`);\n\n // 分析API返回的數據範圍\n const allRRData = rrData.flat();\n const allHRData = hrData.flat();\n\n if (allRRData.length > 0) {\n // 找出API數據的最早和最晚時間\n const firstDataTime = allRRData[0].time;\n const lastDataTime = allRRData[allRRData.length - 1].time;\n\n console.log(`API data time range: ${firstDataTime} to ${lastDataTime}`);\n console.log(`API data readable time range: ${formatAPITimeToReadable(firstDataTime)} to ${formatAPITimeToReadable(lastDataTime)}`);\n\n // 抽取API數據的日期部分(YYYYMMDD)\n const apiDatePart = firstDataTime.substring(0, 8);\n console.log(`API data date part: ${apiDatePart}`);\n }\n\n // 計算實際的治療時間範圍 - 使用當地時間\n let treatmentStartTime = new Date(selectedTreatment.startTime);\n let treatmentEndTime;\n\n if (selectedTreatment.endTime) {\n treatmentEndTime = new Date(selectedTreatment.endTime);\n } else if (selectedTreatment.duration) {\n // 使用持續時間計算結束時間\n treatmentEndTime = new Date(treatmentStartTime.getTime() + selectedTreatment.duration * 60000);\n } else {\n // 默認為開始時間後1小時\n treatmentEndTime = new Date(treatmentStartTime.getTime() + 60 * 60 * 1000);\n }\n\n console.log(`Local treatment time: ${treatmentStartTime.toLocaleString()} to ${treatmentEndTime.toLocaleString()}`);\n\n // 從治療時間提取小時和分鐘\n const startHour = treatmentStartTime.getHours();\n const startMinute = treatmentStartTime.getMinutes();\n const endHour = treatmentEndTime.getHours();\n const endMinute = treatmentEndTime.getMinutes();\n\n console.log(`Treatment hours: ${startHour}:${startMinute} to ${endHour}:${endMinute}`);\n\n // 直接使用API數據的日期部分,結合治療的時間部分\n const apiDatePart = allRRData.length > 0 ? allRRData[0].time.substring(0, 8) : formattedDate;\n\n // 構建新的時間範圍字符串,格式:YYYYMMDDHHmmss\n const treatmentStartStr = `${apiDatePart}${String(startHour).padStart(2, '0')}${String(startMinute).padStart(2, '0')}00`;\n const treatmentEndStr = `${apiDatePart}${String(endHour).padStart(2, '0')}${String(endMinute).padStart(2, '0')}00`;\n\n console.log(`Adjusted treatment time in API format: ${treatmentStartStr} to ${treatmentEndStr}`);\n console.log(`Readable adjusted treatment time: ${formatAPITimeToReadable(treatmentStartStr)} to ${formatAPITimeToReadable(treatmentEndStr)}`);\n\n // 處理數據\n const processedRRData = processTimeSeriesDataByStringCompare(allRRData, treatmentStartStr, treatmentEndStr);\n const processedHRData = processTimeSeriesDataByStringCompare(allHRData, treatmentStartStr, treatmentEndStr);\n\n // 創建原始數據結構\n const processedData = {\n respiratoryRate: processedRRData,\n heartRate: processedHRData\n };\n\n // 轉換為報告UI所需的格式\n const formattedReportData = {\n // 總治療時間(分鐘),如果沒有用治療持續時間\n totalSleep: selectedTreatment.duration || 60,\n // 平均心率\n avgHr: processedHRData.stats.avg,\n // 平均呼吸率\n avgRr: processedRRData.stats.avg,\n // 計算放鬆評分\n score: calculateRelaxationScore(processedHRData.stats, processedRRData.stats),\n // 保留原始數據\n rawData: processedData\n };\n\n console.log(\"Setting report data:\", formattedReportData);\n setReportData(formattedReportData);\n\n setNotification({\n show: true,\n message: \"Sleep report generated successfully\",\n type: \"success\"\n });\n } else {\n // 業務錯誤,清空報告\n setReportData(null);\n throw new Error(bodyData.msg || \"API response error\");\n }\n } else {\n // API響應錯誤,清空報告\n setReportData(null);\n throw new Error(\"Invalid API response format\");\n }\n } catch (err) {\n // 捕獲到錯誤,清空報告數據\n console.error(\"Error generating sleep report:\", err);\n setReportData(null); // 清空報告數據,確保之前的報告不會顯示\n setNotification({\n show: true,\n message: `Error: ${err.message}`,\n type: \"error\"\n });\n } finally {\n setReportLoading(false);\n }\n };\n\n\n // 將API時間格式轉換為可讀時間\n const formatAPITimeToReadable = (apiTimeStr) => {\n // API時間格式: YYYYMMDDHHmmss\n const year = apiTimeStr.substring(0, 4);\n const month = apiTimeStr.substring(4, 6);\n const day = apiTimeStr.substring(6, 8);\n const hour = apiTimeStr.substring(8, 10);\n const minute = apiTimeStr.substring(10, 12);\n const second = apiTimeStr.substring(12, 14);\n\n return `${year}-${month}-${day} ${hour}:${minute}:${second} (HKT)`;\n };\n\n // 使用字符串比較處理時間序列數據\n const processTimeSeriesDataByStringCompare = (dataArray, startTimeStr, endTimeStr) => {\n console.log(`Processing with string comparison. Start: ${startTimeStr}, End: ${endTimeStr}`);\n console.log(`Data array length: ${dataArray.length}`);\n\n // 如果有數據,輸出一些示例幫助調試\n if (dataArray.length > 0) {\n console.log(`Sample time strings: ${dataArray[0].time}, ${dataArray[Math.floor(dataArray.length / 2)].time}, ${dataArray[dataArray.length - 1].time}`);\n }\n\n // 過濾出指定時間範圍內的數據,使用字符串比較\n const filteredData = dataArray.filter(item => {\n const timeStr = item.time;\n return timeStr >= startTimeStr && timeStr <= endTimeStr;\n });\n\n console.log(`Filtered data count using string compare: ${filteredData.length}`);\n\n // 如果過濾後沒有數據,使用寬鬆的過濾策略\n if (filteredData.length === 0) {\n console.log(\"No data after filtering. Using looser filtering criteria...\");\n\n // 只使用時間部分進行過濾(忽略日期部分)\n const startTimeOnly = startTimeStr.substring(8, 12); // 取HHmm部分\n const endTimeOnly = endTimeStr.substring(8, 12); // 取HHmm部分\n\n console.log(`Filtering by time only: ${startTimeOnly} to ${endTimeOnly}`);\n\n const timeFilteredData = dataArray.filter(item => {\n const itemTimeOnly = item.time.substring(8, 12);\n return itemTimeOnly >= startTimeOnly && itemTimeOnly <= endTimeOnly;\n });\n\n console.log(`Data points filtered by time only: ${timeFilteredData.length}`);\n\n if (timeFilteredData.length > 0) {\n return processDataArray(timeFilteredData);\n }\n\n // 如果依然沒有數據,則嘗試提供當天的所有數據\n const dayPart = startTimeStr.substring(0, 8);\n const dayFilteredData = dataArray.filter(item => item.time.startsWith(dayPart));\n\n console.log(`Data points for day ${dayPart}: ${dayFilteredData.length}`);\n\n if (dayFilteredData.length > 0) {\n return processDataArray(dayFilteredData);\n }\n\n // 最後手段:提供所有數據\n return processDataArray(dataArray);\n }\n\n return processDataArray(filteredData);\n };\n\n // 修改 processDataArray 函數來返回適合UI顯示的數據格式\n const processDataArray = (dataArray) => {\n if (dataArray.length === 0) {\n return {\n timePoints: [],\n values: [],\n stats: { avg: 0, min: 0, max: 0 }\n };\n }\n\n // 按時間排序\n dataArray.sort((a, b) => a.time.localeCompare(b.time));\n\n // 提取數值和格式化時間點\n const values = dataArray.map(item => item.value);\n const timePoints = dataArray.map(item => {\n // 從API時間字符串格式化為HH:mm\n const hour = item.time.substring(8, 10);\n const minute = item.time.substring(10, 12);\n return `${hour}:${minute}`;\n });\n\n // 計算統計值\n const sum = values.reduce((acc, val) => acc + val, 0);\n const avg = Math.round((sum / values.length) * 10) / 10;\n const min = Math.min(...values);\n const max = Math.max(...values);\n\n return {\n timePoints: timePoints,\n values: values,\n stats: { avg, min, max }\n };\n };\n\n // 計算放鬆評分的函數\n const calculateRelaxationScore = (heartRateStats, respiratoryRateStats) => {\n // 簡單的算法,可以根據實際需求調整\n // 理想的心率範圍:60-80\n // 理想的呼吸率範圍:12-16\n\n let score = 75; // 基礎分數\n\n // 心率評分調整\n const hr = heartRateStats.avg;\n if (hr < 60) score += 10; // 非常放鬆\n else if (hr <= 70) score += 5; // 很放鬆\n else if (hr <= 80) score += 0; // 正常\n else if (hr <= 90) score -= 5; // 稍微緊張\n else score -= 15; // 緊張\n\n // 呼吸率評分調整\n const rr = respiratoryRateStats.avg;\n if (rr < 12) score += 15; // 非常放鬆的呼吸\n else if (rr <= 14) score += 10; // 放鬆的呼吸\n else if (rr <= 16) score += 5; // 正常的呼吸\n else if (rr <= 18) score -= 5; // 稍快的呼吸\n else score -= 10; // 快速呼吸\n\n // 確保分數在0-100範圍內\n return Math.min(100, Math.max(0, Math.round(score)));\n };\n\n const exportReportPdf = () => {\n if (!reportData || !selectedTreatment) {\n setNotification({\n show: true,\n message: \"No report data to export\",\n type: \"error\"\n });\n return;\n }\n \n setNotification({\n show: true,\n message: \"Generating PDF report...\",\n type: \"info\"\n });\n \n try {\n // 創建PDF\n const pdf = new jsPDF({\n orientation: 'portrait',\n unit: 'mm',\n format: 'a4'\n });\n \n // 設置字體和顏色\n pdf.setFont(\"helvetica\");\n pdf.setTextColor(109, 76, 65); // #6d4c41\n \n // 添加標題\n pdf.setFontSize(24);\n pdf.text(\"Relaxation Report\", 105, 20, { align: 'center' });\n \n // 添加報告日期\n pdf.setFontSize(12);\n pdf.text(`Report Date: ${formatDate(new Date())}`, 105, 30, { align: 'center' });\n \n // 添加分隔線\n pdf.setDrawColor(141, 110, 99); // #8d6e63\n pdf.line(20, 35, 190, 35);\n \n // 添加客戶資訊\n pdf.setFontSize(14);\n pdf.text(\"Client Information\", 20, 45);\n \n pdf.setFontSize(12);\n pdf.text(`Name: ${selectedTreatment.guestFirstName} ${selectedTreatment.guestLastName}`, 20, 55);\n pdf.text(`Treatment: ${selectedTreatment.treatmentType}`, 20, 62);\n pdf.text(`Duration: ${selectedTreatment.duration} minutes`, 20, 69);\n pdf.text(`Date: ${formatDate(selectedTreatment.startTime)}`, 20, 76);\n pdf.text(`Time: ${formatTime(selectedTreatment.startTime)}`, 20, 83);\n pdf.text(`Room: ${selectedTreatment.roomNumber}`, 20, 90);\n \n // 添加分隔線\n pdf.line(20, 95, 190, 95);\n \n // 添加報告概述\n pdf.setFontSize(14);\n pdf.text(\"Summary\", 20, 105);\n \n // 添加關鍵指標\n pdf.setFontSize(12);\n pdf.text(`Total Relaxation Time: ${reportData.totalSleep} minutes`, 20, 115);\n pdf.text(`Average Heart Rate: ${reportData.avgHr} BPM`, 20, 122);\n pdf.text(`Average Respiration Rate: ${reportData.avgRr} breaths/min`, 20, 129);\n pdf.text(`Relaxation Score: ${reportData.score}/100`, 20, 136);\n \n // 添加分隔線\n pdf.line(20, 145, 190, 145);\n \n // 添加詳細分析\n pdf.setFontSize(14);\n pdf.text(\"Detailed Analysis\", 20, 155);\n \n // 添加心率描述\n pdf.setFontSize(12);\n pdf.text(\"Heart Rate:\", 20, 165);\n \n // 根據心率生成描述\n let hrDescription = getHeartRateDescription(reportData.avgHr);\n \n // 添加文本換行\n const hrLines = pdf.splitTextToSize(hrDescription, 160);\n pdf.text(hrLines, 30, 172);\n \n // 添加呼吸率描述\n pdf.text(\"Respiration Rate:\", 20, 185);\n \n // 根據呼吸率生成描述\n let rrDescription = getRespirationDescription(reportData.avgRr);\n \n // 添加文本換行\n const rrLines = pdf.splitTextToSize(rrDescription, 160);\n pdf.text(rrLines, 30, 192);\n \n // 添加整體評分描述\n pdf.text(\"Overall Relaxation:\", 20, 205);\n \n // 根據分數生成描述\n let scoreDescription = getScoreDescription(reportData.score);\n \n // 添加文本換行\n const scoreLines = pdf.splitTextToSize(scoreDescription, 160);\n pdf.text(scoreLines, 30, 212);\n \n // 添加建議\n pdf.text(\"Recommendations:\", 20, 230);\n \n // 生成建議文本\n let recommendation = getRecommendation(reportData, selectedTreatment);\n \n // 添加文本換行\n const recLines = pdf.splitTextToSize(recommendation, 160);\n pdf.text(recLines, 30, 237);\n \n // 添加頁腳\n pdf.setFontSize(10);\n pdf.setTextColor(150, 150, 150); // 灰色\n pdf.text(`Report Issued on ${new Date().toLocaleString()}`, 105, 287, { align: 'center' });\n \n // 創建下載文件名\n const guestName = selectedTreatment.guestFirstName.replace(/\\s/g, '_');\n const dateStr = formatDate(selectedTreatment.startTime).replace(/\\//g, '-');\n const fileName = `Relaxation_Report_${guestName}_${dateStr}.pdf`;\n \n // 下載 PDF\n pdf.save(fileName);\n \n setNotification({\n show: true,\n message: \"PDF exported successfully\",\n type: \"success\"\n });\n } catch (error) {\n console.error(\"Error generating PDF:\", error);\n setNotification({\n show: true,\n message: `Error generating PDF: ${error.message}`,\n type: \"error\"\n });\n }\n };\n\n // Share report\n const shareReport = () => {\n // Placeholder for share functionality\n setNotification({\n show: true,\n message: \"Report sharing feature coming soon\",\n type: \"info\"\n });\n };\n\n // 示例放鬆報告數據 - 僅包含API返回的實際數據欄位\n const sampleReportData = {\n totalSleep: 57, // 總放鬆時間(分鐘)\n avgHr: 68, // 平均心率(次/分鐘)\n avgRr: 14, // 平均呼吸率(次/分鐘)\n score: 85 // 整體放鬆評分\n };\n\n // 示例治療數據\n const sampleTreatment = {\n treatmentId: \"sample001\",\n guestFirstName: \"Emma\",\n guestLastName: \"Johnson\",\n treatmentType: \"Relaxation Massage\",\n duration: 60,\n startTime: new Date().toISOString(),\n roomNumber: \"Lavandra\",\n therapistName: \"Grace Marasigan\"\n };\n\n // 根據評分獲取顏色\n const getScoreColor = (score) => {\n if (score >= 90) return \"#4CAF50\"; // 出色 - 綠色\n if (score >= 75) return \"#8BC34A\"; // 良好 - 淺綠色\n if (score >= 60) return \"#FFC107\"; // 一般 - 黃色\n if (score >= 40) return \"#FF9800\"; // 較差 - 橙色\n return \"#F44336\"; // 不佳 - 紅色\n };\n\n // 根據評分獲取描述\n const getScoreDescription = (score) => {\n if (score >= 90) return \"Excellent relaxation achieved. The guest reached a deep state of calm during the treatment.\";\n if (score >= 75) return \"Good relaxation level. The guest experienced a substantial calming effect from the treatment.\";\n if (score >= 60) return \"Moderate relaxation. The guest showed signs of relaxation but may benefit from enhanced techniques.\";\n if (score >= 40) return \"Minimal relaxation. The guest may have had difficulty fully relaxing during the treatment.\";\n return \"Limited relaxation detected. The guest may have been experiencing stress or discomfort.\";\n };\n\n // 獲取心率描述\n const getHeartRateDescription = (hr) => {\n if (hr < 60) return \"Excellent relaxation heart rate, indicating deep calm.\";\n if (hr < 70) return \"Good relaxation heart rate, showing effective calming response.\";\n if (hr < 80) return \"Moderate heart rate, showing some relaxation effect.\";\n if (hr < 90) return \"Slightly elevated heart rate, indicating limited relaxation.\";\n return \"Elevated heart rate, suggesting minimal relaxation achieved.\";\n };\n\n // 獲取心率顏色\n const getHeartRateColor = (hr) => {\n if (hr < 60) return \"#4CAF50\"; // 綠色\n if (hr < 70) return \"#8BC34A\"; // 淺綠色\n if (hr < 80) return \"#FFC107\"; // 黃色\n if (hr < 90) return \"#FF9800\"; // 橙色\n return \"#F44336\"; // 紅色\n };\n\n // 獲取呼吸率描述\n const getRespirationDescription = (rr) => {\n if (rr < 12) return \"Deep, slow breathing indicating excellent relaxation.\";\n if (rr < 14) return \"Relaxed breathing pattern showing good calming response.\";\n if (rr < 16) return \"Normal relaxed breathing rate.\";\n if (rr < 18) return \"Slightly elevated breathing rate showing moderate relaxation.\";\n return \"Higher than optimal breathing rate, indicating limited relaxation.\";\n };\n\n // 獲取呼吸率顏色\n const getRespirationColor = (rr) => {\n if (rr < 12) return \"#4CAF50\"; // 綠色\n if (rr < 14) return \"#8BC34A\"; // 淺綠色\n if (rr < 16) return \"#FFC107\"; // 黃色\n if (rr < 18) return \"#FF9800\"; // 橙色\n return \"#F44336\"; // 紅色\n };\n\n // 獲取針對性建議\n const getRecommendation = (data, treatment) => {\n if (data.score >= 85) {\n return `${treatment.guestFirstName} responded exceptionally well to this ${treatment.treatmentType}. Consider recommending similar treatments or extending session duration for future visits.`;\n } else if (data.score >= 70) {\n return `Good response to the treatment. Consider customizing future ${treatment.treatmentType} sessions with additional focus on areas that enhance relaxation.`;\n } else {\n return `For improved relaxation, consider suggesting alternative treatment types or modified techniques that may better suit ${treatment.guestFirstName}'s relaxation needs.`;\n }\n };\n\n if (loading) {\n return (\n
    \n
    \n

    Loading organization data...

    \n
    \n );\n }\n\n // 檢查orgData是否存在\n if (!orgData) {\n return (\n
    \n

    Organization Not Found

    \n

    Unable to load organization data. Please try again.

    \n navigate(\"/org/login\")}\n >\n Return to Login\n \n
    \n );\n }\n\n return (\n
    \n {/* 移动菜单按钮 */}\n setMenuOpen(!menuOpen)}\n >\n \n \n \n
    \n {/* 背景遮罩 */}\n setMenuOpen(false)}\n >\n {/* 侧边栏 */}\n \n
    \n
    \n KL\n
    \n

    KAT LAI Technology

    \n
    \n\n
    \n { setActiveTab(\"dashboard\"); setMenuOpen(false); }}\n >\n 📊\n Dashboard\n
    \n\n { setActiveTab(\"treatments\"); setMenuOpen(false); }}\n >\n 💆\n Treatments\n \n\n { setActiveTab(\"access\"); setMenuOpen(false); }}\n >\n 🔑\n Access Codes\n \n\n { setActiveTab(\"customers\"); setMenuOpen(false); }}\n >\n 👥\n Activated Customers\n \n\n { setActiveTab(\"reports\"); setMenuOpen(false); }}\n >\n 📈\n Reports\n \n\n { setActiveTab(\"settings\"); setMenuOpen(false); }}\n >\n ⚙️\n Settings\n \n \n\n
    \n
    \n 🚪\n Logout\n
    \n
    \n \n\n
    \n
    \n
    \n

    {orgData.orgName}

    \n

    Welcome back, {orgData.adminName}

    \n
    \n\n
    \n
    \n 🔄\n {refreshing ? \"Refreshing...\" : \"Refresh Data\"}\n
    \n
    \n 🔔\n 3\n
    \n
    \n
    {orgData.adminName.charAt(0)}
    \n
    \n

    {orgData.adminName}

    \n

    Administrator

    \n
    \n
    \n
    \n
    \n\n {activeTab === \"dashboard\" && (\n
    \n
    \n
    \n

    Active Sessions

    \n {statisticsLoading ? (\n

    Loading...

    \n ) : (\n <>\n

    {dashboardData.activeSessions}

    \n

    Current active treatments

    \n \n )}\n
    \n\n
    \n

    Total Treatments

    \n {statisticsLoading ? (\n

    Loading...

    \n ) : (\n <>\n

    {dashboardData.totalTreatments}

    \n

    Lifetime treatments

    \n \n )}\n
    \n\n
    \n

    Today's Treatments

    \n {statisticsLoading ? (\n

    Loading...

    \n ) : (\n <>\n

    {dashboardData.todaysTreatments}

    \n

    Scheduled for today

    \n \n )}\n
    \n\n
    \n

    Upcoming Bookings

    \n {statisticsLoading ? (\n

    Loading...

    \n ) : (\n <>\n

    {dashboardData.upcomingBookings}

    \n

    Next 24 hours

    \n \n )}\n
    \n
    \n\n
    \n
    \n

    Recent Treatments

    \n setShowTreatmentModal(true)}\n >\n \n New Treatment\n \n
    \n\n {treatmentsLoading ? (\n
    \n
    \n

    Loading treatments...

    \n
    \n ) : treatments.length === 0 ? (\n
    \n

    No treatments found

    \n setShowTreatmentModal(true)}\n >\n Create your first treatment\n \n
    \n ) : (\n <>\n {/* 桌面版表格顯示 */}\n
    \n
    \n
    \n Date & Time\n Guest\n Treatment\n Therapist\n Room\n Status\n
    \n {treatments.slice(0, 5).map((treatment, index) => (\n
    \n
    \n {formatDate(treatment.startTime)}\n {formatTime(treatment.startTime)}\n
    \n
    \n {treatment.guestFirstName} {treatment.guestLastName}\n
    \n
    \n {treatment.treatmentType}\n {treatment.duration} min\n
    \n
    \n {treatment.therapistName}\n
    \n
    \n {treatment.roomNumber}\n
    \n
    \n {formatStatus(treatment.status)}\n
    \n
    \n ))}\n
    \n
    \n\n {/* 移動端卡片顯示 */}\n
    \n {treatments.slice(0, 5).map((treatment, index) => (\n
    \n
    \n
    \n
    {formatDate(treatment.startTime)}
    \n
    {formatTime(treatment.startTime)}
    \n
    \n
    \n {formatStatus(treatment.status)}\n
    \n
    \n
    \n
    \n Guest:\n {treatment.guestFirstName} {treatment.guestLastName}\n
    \n
    \n Treatment:\n {treatment.treatmentType}\n
    \n
    \n Therapist:\n {treatment.therapistName}\n
    \n
    \n Room:\n {treatment.roomNumber}\n
    \n
    \n
    \n ))}\n
    \n \n )}\n\n {treatments.length > 5 && (\n
    \n setActiveTab(\"treatments\")}\n >\n View All Treatments\n \n
    \n )}\n
    \n\n
    \n

    Recent Activity

    \n {treatmentsLoading ? (\n
    \n

    Loading recent activities...

    \n
    \n ) : dashboardData.recentActivity.length === 0 ? (\n

    No recent activities to display

    \n ) : (\n
    \n {dashboardData.recentActivity.map((activity, index) => (\n
    \n
    {activity.time}
    \n
    \n

    {activity.action}

    \n

    \n {activity.room} • {activity.therapyType}\n

    \n
    \n
    \n ))}\n
    \n )}\n
    \n\n
    \n

    Quick Actions

    \n
    \n setShowTreatmentModal(true)}\n >\n \n New Treatment\n \n\n \n\n \n
    \n
    \n
    \n )}\n\n {activeTab === \"treatments\" && (\n
    \n
    \n

    All Treatments

    \n setShowTreatmentModal(true)}\n >\n \n New Treatment\n \n
    \n\n {treatmentsLoading ? (\n
    \n
    \n

    Loading treatments...

    \n
    \n ) : (\n <>\n {/* 桌面视图 - 表格 */}\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {treatments.map((treatment, index) => (\n \n \n \n \n \n \n \n \n \n \n \n ))}\n \n
    DateTimeGuestTreatmentDurationTherapistRoomStatusActions
    {formatDate(treatment.startTime)}{formatTime(treatment.startTime)}{`${treatment.guestFirstName} ${treatment.guestLastName}`}{treatment.treatmentType}{`${treatment.duration} min`}{treatment.therapistName}{treatment.roomNumber}\n \n {formatStatus(treatment.status)}\n \n \n
    \n handleEditTreatment(treatment)}\n style={styles.editButton}\n title=\"Edit treatment\"\n >\n \n \n\n {(treatment.status === 'scheduled' || treatment.status === 'cancelled') && (\n handleToggleTreatmentStatus(treatment)}\n style={treatment.status === 'cancelled' ? styles.restoreButton : styles.removeButton}\n title={treatment.status === 'cancelled' ? \"Restore to scheduled\" : \"Remove treatment\"}\n >\n {treatment.status === 'cancelled' ? \"↩\" : \"🗑\"}\n \n )}\n\n {treatment.status !== 'cancelled' && (\n handleCancelPrompt(treatment)}\n style={styles.cancelActionButton}\n title=\"Cancel treatment\"\n >\n \n \n )}\n\n {hasAdminPermission && (\n handleDeletePrompt(treatment)}\n style={styles.deleteButton}\n title=\"Delete permanently\"\n >\n \n \n )}\n
    \n
    \n
    \n
    \n\n {/* 移动端视图 - 卡片 */}\n
    \n {treatments.map((treatment, index) => (\n
    \n
    \n
    \n
    {formatDate(treatment.startTime)}
    \n
    {formatTime(treatment.startTime)}
    \n
    \n
    \n {formatStatus(treatment.status)}\n
    \n
    \n
    \n
    \n Guest:\n {`${treatment.guestFirstName} ${treatment.guestLastName}`}\n
    \n
    \n Treatment:\n {treatment.treatmentType}\n
    \n
    \n Duration:\n {`${treatment.duration} min`}\n
    \n
    \n Therapist:\n {treatment.therapistName}\n
    \n
    \n Room:\n {treatment.roomNumber}\n
    \n
    \n
    \n handleEditTreatment(treatment)}\n className=\"btn edit-btn\"\n title=\"Edit treatment\"\n >\n \n \n\n {(treatment.status === 'scheduled' || treatment.status === 'cancelled') && (\n handleToggleTreatmentStatus(treatment)}\n className={treatment.status === 'cancelled' ? \"btn restore-btn\" : \"btn remove-btn\"}\n title={treatment.status === 'cancelled' ? \"Restore to scheduled\" : \"Remove treatment\"}\n >\n {treatment.status === 'cancelled' ? \"↩\" : \"🗑\"}\n \n )}\n\n {treatment.status !== 'cancelled' && (\n handleCancelPrompt(treatment)}\n className=\"btn cancel-btn\"\n title=\"Cancel treatment\"\n >\n \n \n )}\n\n {hasAdminPermission && (\n handleDeletePrompt(treatment)}\n className=\"btn delete-btn\"\n title=\"Delete permanently\"\n >\n \n \n )}\n
    \n
    \n ))}\n
    \n \n )}\n
    \n )}\n\n\n\n\n {activeTab === \"access\" && (\n
    \n

    Treatment Access Codes

    \n\n
    \n

    Generate access codes for guests to view their treatments and provide feedback.

    \n
    \n\n
    \n
    \n

    Select a Treatment

    \n {treatmentsLoading ? (\n
    \n
    \n

    Loading treatments...

    \n
    \n ) : treatments.length === 0 ? (\n

    No treatments available

    \n ) : (\n
    \n {treatments.map((treatment, index) => (\n {\n // 當選擇新的治療時,清除之前的訪問碼\n if (selectedTreatment?.treatmentId !== treatment.treatmentId) {\n setAccessCode(null);\n }\n setSelectedTreatment(treatment);\n }}\n >\n
    \n {formatDate(treatment.startTime)}\n {formatTime(treatment.startTime)}\n \n {formatStatus(treatment.status)}\n \n
    \n
    \n

    \n Guest: {treatment.guestFirstName} {treatment.guestLastName}\n {treatment.clientId && 🆔}\n

    \n

    \n Treatment: {treatment.treatmentType}\n

    \n

    \n Therapist: {treatment.therapistName}\n Room: {treatment.roomNumber}\n

    \n
    \n
    \n ))}\n
    \n )}\n
    \n\n
    \n

    Generate Access Code

    \n\n {selectedTreatment ? (\n
    \n

    Selected Treatment

    \n
    \n

    Date & Time: {formatDate(selectedTreatment.startTime)} at {formatTime(selectedTreatment.startTime)}

    \n

    Guest: {selectedTreatment.guestFirstName} {selectedTreatment.guestLastName}

    \n {selectedTreatment.clientId && (\n

    Customer ID: {selectedTreatment.clientId}

    \n )}\n

    Treatment: {selectedTreatment.treatmentType} ({selectedTreatment.duration} min)

    \n

    Therapist: {selectedTreatment.therapistName}

    \n

    Room: {selectedTreatment.roomNumber}

    \n
    \n\n handleGenerateAccessCode(selectedTreatment)}\n disabled={!selectedTreatment.clientId || accessCodeLoading}\n >\n {accessCodeLoading ? 'Generating...' : 'Generate Access Code'}\n \n\n {!selectedTreatment.clientId && (\n

    \n This treatment doesn't have a customer ID associated with it. Access code cannot be generated.\n

    \n )}\n\n {accessCode && (\n
    \n

    Access Code

    \n
    \n {accessCode.code}\n
    \n

    \n This code will expire on {new Date(accessCode.expiryTime * 1000).toLocaleString()}\n

    \n
    \n

    \n For: {selectedTreatment.guestFirstName} {selectedTreatment.guestLastName}'s {selectedTreatment.treatmentType}\n

    \n

    \n On: {formatDate(selectedTreatment.startTime)} at {formatTime(selectedTreatment.startTime)}\n

    \n
    \n
    \n \n
    \n
    \n )}\n
    \n ) : (\n
    \n

    Please select a treatment from the list on the left to generate an access code.

    \n
    \n )}\n
    \n
    \n
    \n )}\n\n {activeTab === \"customers\" && (\n
    \n

    Activated Customers

    \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 Apply Filters\n \n \n Reset\n \n
    \n
    \n\n
    \n setCustomerSearch(e.target.value)}\n />\n
    \n
    \n\n {customersLoading ? (\n
    \n
    \n

    Loading activated customers...

    \n
    \n ) : activatedCustomers.length === 0 ? (\n
    \n

    No activated customers found.

    \n
    \n ) : (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n {activatedCustomers\n .filter(customer => {\n if (!customerSearch) return true;\n\n const searchLower = customerSearch.toLowerCase();\n return (\n (customer.guestFirstName + ' ' + customer.guestLastName).toLowerCase().includes(searchLower) ||\n (customer.guestEmail || '').toLowerCase().includes(searchLower) ||\n (customer.guestPhone || '').toLowerCase().includes(searchLower)\n );\n })\n .map((customer, index) => (\n \n \n \n \n \n \n \n \n \n \n ))}\n \n
    NameContact InfoActivation DetailsTreatmentTherapistStatusInteractions
    \n
    \n \n {customer.guestFirstName} {customer.guestLastName}\n \n \n {customer.customerId}\n \n
    \n
    \n
    \n {customer.guestEmail && (\n \n 📧 {customer.guestEmail}\n \n )}\n {customer.guestPhone && (\n \n 📱 {customer.guestPhone}\n \n )}\n
    \n
    \n
    \n \n 📅 {formatDate(customer.activatedAt)}\n \n \n 🕒 {formatTime(customer.activatedAt)}\n \n \n 🔑 Code: {customer.activationCode}\n \n
    \n
    \n
    \n \n {customer.treatmentType}\n \n \n ID: {customer.treatmentId}\n \n
    \n
    \n {customer.therapistName}\n \n \n {customer.status}\n \n \n
    \n \n {customer.totalInteractions || 0}\n \n \n Last active: {formatDate(customer.lastActiveAt)}\n \n
    \n
    \n
    \n\n
    \n
    \n
    \n )}\n
    \n )}\n\n {activeTab === \"reports\" && (\n
    \n

    Treatment Sleep Reports

    \n\n
    \n
    \n
    \n \n handleTreatmentSelect(e.target.value)}\n >\n \n {treatments.map(treatment => (\n \n {treatment.guestFirstName} {treatment.guestLastName} - {treatment.treatmentType} - {formatDate(treatment.startTime)} {formatTime(treatment.startTime)}\n \n ))}\n \n
    \n \n
    \n\n {selectedTreatment && (\n
    \n

    Selected Treatment Details

    \n
    \n
    \n Guest:\n {selectedTreatment.guestFirstName} {selectedTreatment.guestLastName}\n
    \n
    \n Room:\n {selectedTreatment.roomNumber}\n
    \n
    \n Date:\n {formatDate(selectedTreatment.startTime)}\n
    \n
    \n Time:\n \n {formatTime(selectedTreatment.startTime)} - {formatTime(selectedTreatment.endTime || new Date(new Date(selectedTreatment.startTime).getTime() + selectedTreatment.duration * 60000))}\n \n
    \n
    \n Treatment:\n {selectedTreatment.treatmentType} ({selectedTreatment.duration} min)\n
    \n {deviceInfo && (\n <>\n
    \n Device SN:\n {deviceInfo.serialNumber}\n
    \n
    \n MAC Address:\n {deviceInfo.macAddress}\n
    \n \n )}\n
    \n\n \n {reportLoading ? 'Generating...' : 'Generate Sleep Report'}\n \n\n {!deviceInfo && (\n
    \n No device is mapped to this room. Sleep report cannot be generated.\n
    \n )}\n
    \n )}\n
    \n\n {reportLoading ? (\n
    \n
    \n

    Generating sleep report...

    \n
    \n ) : reportData ? (\n
    \n
    \n

    \n Relaxation Report\n {selectedTreatment === sampleTreatment && SAMPLE}\n

    \n
    \n \n {/* */}\n
    \n
    \n\n
    \n
    \n
    ⏱️
    \n
    \n

    Relaxation Duration

    \n

    {reportData.totalSleep} min

    \n

    \n Total relaxation time recorded\n

    \n
    \n
    \n\n
    \n
    ❤️
    \n
    \n

    Average Heart Rate

    \n

    {reportData.avgHr} BPM

    \n

    \n Average heart rate during treatment\n

    \n
    \n
    \n\n
    \n
    🫁
    \n
    \n

    Average Respiration

    \n

    {reportData.avgRr} breaths/min

    \n

    \n Average breathing rate during treatment\n

    \n
    \n
    \n\n
    \n
    🏆
    \n
    \n

    Relaxation Score

    \n

    {reportData.score}/100

    \n

    \n Overall treatment effectiveness score\n

    \n
    \n
    \n
    \n\n
    \n

    Relaxation Visual Summary

    \n\n
    \n {/* 放鬆評分可視化 */}\n
    \n
    \n
    \n
    \n
    \n {reportData.score}\n Relaxation
    Score
    \n
    \n
    \n
    \n

    \n {getScoreDescription(reportData.score)}\n

    \n
    \n
    \n
    \n\n {/* 生理指標可視化 - 心率 */}\n
    \n
    Heart Rate
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n {reportData.avgHr}\n
    \n
    \n
    \n\n
    \n 40\n 60\n 80\n 100\n 120\n
    \n\n
    BPM
    \n
    \n\n
    \n

    \n {getHeartRateDescription(reportData.avgHr)}\n

    \n
    \n
    \n\n {/* 生理指標可視化 - 呼吸率 */}\n
    \n
    Respiration Rate
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n {reportData.avgRr}\n
    \n
    \n
    \n\n
    \n 8\n 12\n 16\n 20\n 24\n
    \n\n
    breaths/min
    \n
    \n\n
    \n

    \n {getRespirationDescription(reportData.avgRr)}\n

    \n
    \n
    \n \n\n
    \n

    Treatment Relaxation Analysis

    \n

    \n This relaxation report for {selectedTreatment.guestFirstName} {selectedTreatment.guestLastName}'s {selectedTreatment.treatmentType}\n session shows data collected during the {selectedTreatment.duration} minute treatment on {formatDate(selectedTreatment.startTime)}.\n

    \n

    \n The guest achieved a relaxation score of {reportData.score}/100, indicating\n {reportData.score >= 90 ? ' excellent' :\n reportData.score >= 75 ? ' good' :\n reportData.score >= 60 ? ' average' : ' below average'}\n relaxation during the treatment. Heart rate averaged {reportData.avgHr} BPM and respiration\n rate was {reportData.avgRr} breaths per minute.\n

    \n

    \n The total relaxation time detected was {reportData.totalSleep} minutes, which represents\n {Math.round((reportData.totalSleep / selectedTreatment.duration) * 100)}% of the scheduled treatment time.\n

    \n\n
    \n
    Recommendations
    \n
      \n
    • \n {getRecommendation(reportData, selectedTreatment)}\n
    • \n
    • \n {reportData.avgHr > 75 ?\n \"Consider enhancing the relaxation environment with calming music and aromatherapy to help reduce heart rate.\" :\n \"The guest responded well to the treatment environment, showing good heart rate reduction.\"}\n
    • \n
    • \n Track relaxation trends over multiple sessions to customize treatment approach for optimal results.\n
    • \n
    \n
    \n
    \n\n {selectedTreatment === sampleTreatment && (\n
    \n
    ℹ️
    \n

    \n This is a sample report for demonstration purposes only. The data shown is not from a real treatment session.\n

    \n
    \n )}\n \n ) : (\n
    \n
    🛌
    \n

    No Sleep Report Generated

    \n

    \n Select a treatment from the dropdown above to generate a sleep report.\n

    \n

    \n Sleep reports provide valuable insights into guest relaxation quality, monitoring heart rate, respiratory patterns,\n and overall sleep quality during treatments.\n

    \n
    \n )}\n \n )}\n\n {activeTab === \"settings\" && (\n
    \n

    Settings

    \n\n
    \n

    Time and Date Settings

    \n\n
    \n \n handleSettingsChange('timezone', e.target.value)}\n >\n \n \n \n \n \n \n

    Select your local time zone for correct time display

    \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 {showTreatmentModal && (\n
    \n
    \n
    \n

    New Treatment

    \n setShowTreatmentModal(false)}\n >\n ×\n \n
    \n\n
    \n
    \n

    Therapist Information

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n\n
    \n

    Guest Information

    \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

    Treatment Details

    \n
    \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n
    \n \n \n
    \n\n
    \n \n
    \n {\n const value = Math.min(12, Math.max(1, parseInt(e.target.value) || \"\"));\n setNewTreatment(prev => ({\n ...prev,\n startTimeHour: value.toString()\n }));\n }}\n required\n />\n :\n {\n const value = Math.min(59, Math.max(0, parseInt(e.target.value) || 0));\n const formattedValue = value.toString().padStart(2, '0');\n setNewTreatment(prev => ({\n ...prev,\n startTimeMinute: formattedValue\n }));\n }}\n required\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\n
    \n setShowTreatmentModal(false)}\n >\n Cancel\n \n \n
    \n
    \n
    \n
    \n )}\n\n {/* 编辑治疗模态框 */}\n {editModalOpen && editingTreatment && (\n
    \n
    \n
    \n

    Edit Treatment

    \n {\n setEditModalOpen(false);\n setEditingTreatment(null);\n }}\n >\n ×\n \n
    \n\n
    \n
    \n

    Therapist Information

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n\n
    \n

    Guest Information

    \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

    Treatment Details

    \n
    \n \n setEditingTreatment(prev => ({ ...prev, roomNumber: e.target.value }))}\n required\n >\n \n \n \n \n \n \n \n
    \n\n
    \n
    \n \n \n
    \n\n
    \n \n
    \n {\n const value = Math.min(12, Math.max(1, parseInt(e.target.value) || \"\"));\n setEditingTreatment(prev => ({\n ...prev,\n startTimeHour: value.toString()\n }));\n }}\n required\n />\n :\n {\n const value = Math.min(59, Math.max(0, parseInt(e.target.value) || 0));\n const formattedValue = value.toString().padStart(2, '0');\n setEditingTreatment(prev => ({\n ...prev,\n startTimeMinute: formattedValue\n }));\n }}\n required\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
    \n \n \n \n \n \n \n {editingTreatment.status === 'ended' && }\n \n
    \n
    \n\n
    \n {\n setEditModalOpen(false);\n setEditingTreatment(null);\n }}\n >\n Cancel\n \n \n
    \n
    \n
    \n
    \n )}\n\n {/* 取消治療確認對話框 */}\n {cancelConfirmation.show && (\n
    \n
    \n

    Cancel Treatment

    \n

    \n You are about to cancel the {cancelConfirmation.treatment?.treatmentType} treatment for {cancelConfirmation.treatment?.guestFirstName} {cancelConfirmation.treatment?.guestLastName} on {formatDate(cancelConfirmation.treatment?.startTime)} at {formatTime(cancelConfirmation.treatment?.startTime)}.\n

    \n\n
    \n \n \n
    \n\n
    \n Note: The treatment will be marked as cancelled but remains in your records for tracking purposes.\n
    \n\n
    \n \n Back\n \n \n Cancel Treatment\n \n
    \n
    \n
    \n )}\n\n {/* 永久刪除確認對話框 */}\n {deleteConfirmation.show && (\n
    \n
    \n

    Permanent Deletion

    \n

    \n You are about to permanently delete the {deleteConfirmation.treatment?.treatmentType} treatment for {deleteConfirmation.treatment?.guestFirstName} {deleteConfirmation.treatment?.guestLastName} on {formatDate(deleteConfirmation.treatment?.startTime)}.\n

    \n\n
    \n ⚠️\n

    \n This action cannot be undone and all treatment records will be permanently removed from the system.\n

    \n
    \n\n
    \n \n \n {deletePasswordError && (\n

    {deletePasswordError}

    \n )}\n
    \n\n
    \n \n Cancel\n \n \n Delete Permanently\n \n
    \n
    \n
    \n )}\n\n {/* 通知組件 */}\n {notification.show && (\n \n

    {notification.message}

    \n \n ✕\n \n \n )}\n \n );\n}\n\n\nconst keyframes = `\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n \n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n \n @keyframes pulse {\n 0% { box-shadow: 0 0 0 0 rgba(141, 110, 99, 0.4); }\n 70% { box-shadow: 0 0 0 10px rgba(141, 110, 99, 0); }\n 100% { box-shadow: 0 0 0 0 rgba(141, 110, 99, 0); }\n }\n \n @keyframes slideIn {\n from { transform: translateY(100px); opacity: 0; }\n to { transform: translateY(0); opacity: 1; }\n }\n`;\n\nconst styles = {\n container: {\n display: \"flex\",\n minHeight: \"100vh\",\n fontFamily: \"'Cormorant Garamond', 'Playfair Display', 'Baskerville', serif\",\n backgroundColor: \"#f9f5f1\",\n },\n loadingContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"100vh\",\n width: \"100%\",\n backgroundColor: \"#f9f5f1\",\n },\n loadingSpinner: {\n width: \"40px\",\n height: \"40px\",\n border: \"4px solid rgba(141, 110, 99, 0.2)\",\n borderRadius: \"50%\",\n borderTopColor: \"#8d6e63\",\n animation: \"spin 1s linear infinite\",\n marginBottom: \"20px\",\n },\n loadingText: {\n color: \"#8d6e63\",\n fontSize: \"16px\",\n fontWeight: \"500\",\n letterSpacing: \"0.5px\",\n },\n errorContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"100vh\",\n width: \"100%\",\n backgroundColor: \"#f9f5f1\",\n padding: \"20px\",\n textAlign: \"center\",\n },\n errorTitle: {\n color: \"#6d4c41\",\n fontSize: \"24px\",\n marginBottom: \"10px\",\n },\n errorText: {\n color: \"#a18072\",\n fontSize: \"16px\",\n marginBottom: \"30px\",\n },\n errorButton: {\n padding: \"10px 20px\",\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n transition: \"all 0.2s\",\n },\n emptyText: {\n color: \"#a18072\",\n fontSize: \"16px\",\n textAlign: \"center\",\n padding: \"20px 0\",\n },\n sidebar: {\n width: \"250px\",\n backgroundColor: \"#f0e6d9\",\n color: \"#6d4c41\",\n display: \"flex\",\n flexDirection: \"column\",\n boxShadow: \"2px 0 10px rgba(0, 0, 0, 0.05)\",\n zIndex: 10,\n padding: \"20px 0\",\n borderRight: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n logoContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n padding: \"20px\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n logoCircle: {\n width: \"50px\",\n height: \"50px\",\n borderRadius: \"50%\",\n backgroundColor: \"#8d6e63\",\n background: \"linear-gradient(135deg, #a1887f, #8d6e63)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n boxShadow: \"0 4px 10px rgba(141, 110, 99, 0.3)\",\n marginBottom: \"10px\",\n },\n logoText: {\n color: \"#f5f0ec\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n letterSpacing: \"1px\",\n },\n brandName: {\n margin: \"5px 0 0 0\",\n fontSize: \"16px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n letterSpacing: \"0.5px\",\n },\n menuContainer: {\n flex: 1,\n padding: \"20px 0\",\n },\n menuItem: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"12px 20px\",\n cursor: \"pointer\",\n transition: \"all 0.3s ease\",\n borderLeft: \"4px solid transparent\",\n },\n activeMenuItem: {\n backgroundColor: \"rgba(141, 110, 99, 0.1)\",\n borderLeftColor: \"#8d6e63\",\n },\n menuIcon: {\n marginRight: \"15px\",\n fontSize: \"18px\",\n },\n menuText: {\n fontSize: \"15px\",\n fontWeight: \"500\",\n letterSpacing: \"0.3px\",\n },\n logoutContainer: {\n padding: \"20px 0\",\n borderTop: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n mainContent: {\n flex: 1,\n backgroundColor: \"#faf8f6\",\n padding: \"30px\",\n overflow: \"auto\",\n },\n header: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginBottom: \"30px\",\n animation: \"fadeIn 0.5s ease-out\",\n },\n pageTitle: {\n flex: 1,\n },\n organizationName: {\n fontSize: \"28px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n margin: \"0 0 5px 0\",\n letterSpacing: \"0.5px\",\n },\n welcomeText: {\n fontSize: \"16px\",\n color: \"#a18072\",\n margin: 0,\n fontWeight: \"400\",\n },\n userInfo: {\n display: \"flex\",\n alignItems: \"center\",\n },\n refreshButton: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"8px 15px\",\n marginRight: \"15px\",\n backgroundColor: \"#f0e6d9\",\n color: \"#6d4c41\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n transition: \"all 0.2s ease\",\n },\n refreshIcon: {\n marginRight: \"8px\",\n fontSize: \"16px\",\n },\n refreshingSpin: {\n animation: \"spin 1s linear infinite\",\n },\n refreshText: {\n fontSize: \"14px\",\n fontWeight: \"500\",\n },\n notification: {\n position: \"fixed\",\n bottom: \"24px\",\n right: \"24px\",\n padding: \"12px 20px\",\n borderRadius: \"8px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n boxShadow: \"0 4px 12px rgba(0, 0, 0, 0.15)\",\n zIndex: 1001,\n animation: \"slideIn 0.3s ease-out\"\n },\n notificationMessage: {\n margin: \"0 24px 0 0\",\n color: \"white\",\n fontSize: \"14px\"\n },\n notificationClose: {\n background: \"none\",\n border: \"none\",\n color: \"white\",\n cursor: \"pointer\",\n fontSize: \"16px\",\n padding: \"4px\"\n },\n notificationIcon: {\n fontSize: \"20px\",\n color: \"#8d6e63\",\n },\n notificationBadge: {\n position: \"absolute\",\n top: \"-8px\",\n right: \"-8px\",\n backgroundColor: \"#c94b32\",\n color: \"white\",\n fontSize: \"11px\",\n fontWeight: \"bold\",\n width: \"18px\",\n height: \"18px\",\n borderRadius: \"50%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n userProfile: {\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n },\n userAvatar: {\n width: \"40px\",\n height: \"40px\",\n borderRadius: \"50%\",\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontWeight: \"bold\",\n fontSize: \"18px\",\n marginRight: \"10px\",\n },\n userDetails: {\n textAlign: \"left\",\n },\n userName: {\n fontSize: \"15px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n margin: \"0 0 2px 0\",\n },\n userRole: {\n fontSize: \"13px\",\n color: \"#a18072\",\n margin: 0,\n },\n dashboardContent: {\n animation: \"fadeIn 0.6s ease-out\",\n },\n treatmentsContent: {\n animation: \"fadeIn 0.6s ease-out\",\n },\n comingSoonContent: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minHeight: \"50vh\",\n textAlign: \"center\",\n animation: \"fadeIn 0.6s ease-out\",\n },\n comingSoonTitle: {\n fontSize: \"24px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n margin: \"0 0 15px 0\",\n },\n comingSoonText: {\n fontSize: \"16px\",\n color: \"#a18072\",\n },\n statCards: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fit, minmax(220px, 1fr))\",\n gap: \"20px\",\n marginBottom: \"30px\",\n },\n statCard: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n transition: \"all 0.3s ease\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n statTitle: {\n fontSize: \"15px\",\n color: \"#a18072\",\n margin: \"0 0 10px 0\",\n fontWeight: \"500\",\n },\n statValue: {\n fontSize: \"28px\",\n fontWeight: \"bold\",\n color: \"#6d4c41\",\n margin: \"0 0 5px 0\",\n },\n statInfo: {\n fontSize: \"13px\",\n color: \"#a18072\",\n margin: 0,\n },\n treatmentsSection: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n marginBottom: \"30px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n sectionHeader: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginBottom: \"20px\",\n },\n treatmentList: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n treatmentHeader: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1.5fr 1fr 0.7fr 0.8fr\",\n padding: \"10px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n },\n treatmentHeaderItem: {\n fontSize: \"14px\",\n padding: \"0 10px\",\n },\n treatmentItem: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1.5fr 1fr 0.7fr 0.8fr\",\n padding: \"15px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.05)\",\n alignItems: \"center\",\n },\n treatmentInfo: {\n display: \"flex\",\n flexDirection: \"column\",\n padding: \"0 10px\",\n },\n treatmentDate: {\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n marginBottom: \"4px\",\n },\n treatmentTime: {\n fontSize: \"13px\",\n color: \"#a18072\",\n },\n treatmentGuest: {\n padding: \"0 10px\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n },\n treatmentType: {\n display: \"flex\",\n flexDirection: \"column\",\n padding: \"0 10px\",\n },\n treatmentDuration: {\n fontSize: \"13px\",\n color: \"#a18072\",\n marginTop: \"4px\",\n },\n therapistName: {\n padding: \"0 10px\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n },\n roomNumber: {\n padding: \"0 10px\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n },\n treatmentStatus: {\n padding: \"4px 10px\",\n borderRadius: \"4px\",\n fontSize: \"12px\",\n fontWeight: \"500\",\n textAlign: \"center\",\n textTransform: \"capitalize\",\n display: \"inline-block\",\n margin: \"0 10px\",\n },\n statusScheduled: {\n backgroundColor: \"rgba(33, 150, 243, 0.1)\",\n color: \"#2196F3\",\n },\n statusInProgress: {\n backgroundColor: \"rgba(255, 152, 0, 0.1)\",\n color: \"#FF9800\",\n },\n statusCompleted: {\n backgroundColor: \"rgba(76, 175, 80, 0.1)\",\n color: \"#4CAF50\",\n },\n statusCancelled: {\n backgroundColor: \"rgba(244, 67, 54, 0.1)\",\n color: \"#F44336\",\n },\n viewMoreContainer: {\n display: \"flex\",\n justifyContent: \"center\",\n marginTop: \"20px\",\n },\n viewMoreButton: {\n padding: \"8px 20px\",\n backgroundColor: \"#f0e6d9\",\n color: \"#6d4c41\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n transition: \"all 0.2s\",\n },\n recentActivity: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n marginBottom: \"30px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n sectionTitle: {\n fontSize: \"18px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n margin: \"0 0 20px 0\",\n letterSpacing: \"0.3px\",\n },\n activityList: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n activityItem: {\n display: \"flex\",\n padding: \"15px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n activityTime: {\n width: \"100px\",\n fontSize: \"14px\",\n color: \"#a18072\",\n fontWeight: \"500\",\n },\n activityDetails: {\n flex: 1,\n },\n activityAction: {\n fontSize: \"15px\",\n color: \"#6d4c41\",\n margin: \"0 0 3px 0\",\n fontWeight: \"500\",\n },\n activityInfo: {\n fontSize: \"13px\",\n color: \"#a18072\",\n margin: 0,\n },\n quickActions: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n actionButtons: {\n display: \"flex\",\n gap: \"15px\",\n flexWrap: \"wrap\",\n },\n actionButton: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"12px 20px\",\n backgroundColor: \"#f0e6d9\",\n color: \"#6d4c41\",\n border: \"none\",\n borderRadius: \"6px\",\n cursor: \"pointer\",\n transition: \"all 0.2s ease\",\n fontFamily: \"'Cormorant Garamond', 'Playfair Display', serif\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n },\n actionIcon: {\n marginRight: \"10px\",\n fontSize: \"16px\",\n },\n actionText: {\n letterSpacing: \"0.3px\",\n },\n emptyState: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: \"50px 0\",\n textAlign: \"center\",\n },\n\n // 新增療程模態框樣式\n modalOverlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 1000,\n animation: \"fadeIn 0.3s ease-out\",\n },\n modalContent: {\n backgroundColor: \"#fff\",\n borderRadius: \"8px\",\n width: \"90%\",\n maxWidth: \"800px\",\n maxHeight: \"90vh\",\n overflow: \"auto\",\n boxShadow: \"0 5px 15px rgba(0, 0, 0, 0.1)\",\n position: \"relative\",\n },\n modalHeader: {\n padding: \"20px\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#fff\",\n zIndex: 10,\n },\n modalTitle: {\n margin: 0,\n fontSize: \"22px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n },\n closeButton: {\n background: \"none\",\n border: \"none\",\n fontSize: \"24px\",\n color: \"#a18072\",\n cursor: \"pointer\",\n padding: \"0\",\n lineHeight: \"1\",\n },\n treatmentForm: {\n padding: \"20px\",\n },\n formSection: {\n marginBottom: \"30px\",\n },\n formSectionTitle: {\n fontSize: \"18px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n margin: \"0 0 15px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"10px\",\n },\n formRow: {\n display: \"flex\",\n gap: \"20px\",\n marginBottom: \"15px\",\n },\n formGroup: {\n flex: 1,\n marginBottom: \"15px\",\n },\n formGroupSmall: {\n flex: 0.3,\n marginBottom: \"15px\",\n },\n formGroupLarge: {\n flex: 0.7,\n marginBottom: \"15px\",\n },\n formLabel: {\n display: \"block\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n marginBottom: \"5px\",\n fontWeight: \"500\",\n },\n formInput: {\n width: \"100%\",\n padding: \"10px 12px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n borderRadius: \"4px\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n backgroundColor: \"#f9f7f5\",\n transition: \"border 0.3s\",\n boxSizing: \"border-box\",\n },\n formSelect: {\n width: \"100%\",\n padding: \"10px 12px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n borderRadius: \"4px\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n backgroundColor: \"#f9f7f5\",\n transition: \"border 0.3s\",\n boxSizing: \"border-box\",\n },\n timeInputGroup: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"5px\",\n },\n timeInput: {\n width: \"60px\",\n padding: \"10px 12px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n borderRadius: \"4px\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n backgroundColor: \"#f9f7f5\",\n transition: \"border 0.3s\",\n boxSizing: \"border-box\",\n },\n timeAmPm: {\n width: \"80px\",\n padding: \"10px 12px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n borderRadius: \"4px\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n backgroundColor: \"#f9f7f5\",\n transition: \"border 0.3s\",\n boxSizing: \"border-box\",\n marginLeft: \"5px\",\n },\n radioGroup: {\n display: \"flex\",\n gap: \"15px\",\n },\n radioLabel: {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n cursor: \"pointer\",\n },\n formActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: \"15px\",\n marginTop: \"30px\",\n },\n cancelButton: {\n padding: \"10px 20px\",\n backgroundColor: \"#f1ece6\",\n color: \"#6d4c41\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n transition: \"all 0.2s\",\n },\n submitButton: {\n padding: \"10px 20px\",\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n transition: \"all 0.2s\",\n },\n timeSeparator: {\n margin: \"0 5px\",\n alignSelf: \"center\",\n fontWeight: \"bold\",\n color: \"#6d4c41\",\n },\n customTimeInput: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorText: {\n color: \"#c94b32\",\n fontSize: \"12px\",\n marginTop: \"5px\",\n },\n // 設置頁面樣式\n settingsContent: {\n animation: \"fadeIn 0.6s ease-out\",\n },\n settingsSection: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n marginBottom: \"20px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n settingsSectionTitle: {\n fontSize: \"18px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n margin: \"0 0 20px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"10px\",\n },\n settingsGroup: {\n marginBottom: \"25px\",\n },\n settingsLabel: {\n display: \"block\",\n fontSize: \"15px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n marginBottom: \"10px\",\n },\n settingsSelect: {\n width: \"100%\",\n maxWidth: \"300px\",\n padding: \"10px 12px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n borderRadius: \"4px\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n backgroundColor: \"#f9f7f5\",\n marginBottom: \"5px\",\n },\n settingsHelp: {\n fontSize: \"13px\",\n color: \"#a18072\",\n margin: \"5px 0 0 0\",\n },\n settingsOptions: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"10px\",\n },\n settingsOption: {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n cursor: \"pointer\",\n },\n settingsSaveContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: \"20px\",\n },\n settingsSaveButton: {\n padding: \"10px 20px\",\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n transition: \"all 0.2s\",\n },\n // 表格样式\n treatmentsContainer: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n animation: \"fadeIn 0.6s ease-out\",\n },\n tableContainer: {\n overflowX: \"auto\",\n },\n table: {\n width: \"100%\",\n borderCollapse: \"collapse\",\n },\n tableHeader: {\n textAlign: \"left\",\n padding: \"12px 15px\",\n borderBottom: \"2px solid rgba(141, 110, 99, 0.2)\",\n color: \"#6d4c41\",\n fontSize: \"14px\",\n fontWeight: \"600\",\n },\n tableRow: {\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n tableCell: {\n padding: \"12px 15px\",\n color: \"#6d4c41\",\n fontSize: \"14px\",\n },\n statusBadge: {\n padding: \"4px 10px\",\n borderRadius: \"4px\",\n color: \"white\",\n fontSize: \"12px\",\n fontWeight: \"500\",\n display: \"inline-block\",\n },\n // 操作按鈕樣式\n actionButtons: {\n display: 'flex',\n gap: '8px',\n justifyContent: 'center'\n },\n editButton: {\n backgroundColor: '#8d6e63',\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n width: '28px',\n height: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n fontSize: '14px'\n },\n deleteButton: {\n backgroundColor: '#e57373',\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n width: '28px',\n height: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n fontSize: '14px'\n },\n cancelActionButton: {\n backgroundColor: '#ff9800', // 橙色\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n width: '28px',\n height: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n fontSize: '14px'\n },\n quickCancelButton: {\n backgroundColor: '#ff9800', // 橙色\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n width: '28px',\n height: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n fontSize: '14px'\n },\n restoreButton: {\n backgroundColor: '#4caf50', // 綠色\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n width: '28px',\n height: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n fontSize: '14px'\n },\n\n // 確認對話框樣式\n confirmDialog: {\n backgroundColor: 'white',\n borderRadius: '8px',\n padding: '24px',\n width: '90%',\n maxWidth: '500px',\n boxShadow: '0 4px 20px rgba(0, 0, 0, 0.15)',\n animation: 'fadeIn 0.3s ease-out'\n },\n confirmTitle: {\n margin: '0 0 16px 0',\n color: '#6d4c41',\n fontSize: '20px',\n fontWeight: '600'\n },\n confirmMessage: {\n margin: '0 0 16px 0',\n fontSize: '16px',\n lineHeight: '1.5',\n color: '#6d4c41'\n },\n confirmWarning: {\n margin: '0 0 24px 0',\n fontSize: '14px',\n color: '#e57373',\n fontWeight: '500'\n },\n confirmButtons: {\n display: 'flex',\n justifyContent: 'flex-end',\n gap: '12px'\n },\n confirmCancelButton: {\n padding: '10px 16px',\n backgroundColor: '#ff9800', // 橙色\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n cursor: 'pointer',\n fontSize: '14px',\n fontWeight: '500'\n },\n confirmDeleteButton: {\n padding: '10px 16px',\n backgroundColor: '#e57373',\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n cursor: 'pointer',\n fontSize: '14px',\n fontWeight: '500'\n },\n\n // 表單元素樣式\n formTextarea: {\n width: '100%',\n padding: '10px 12px',\n borderRadius: '4px',\n border: '1px solid #d7ccc8',\n fontSize: '14px',\n resize: 'vertical',\n minHeight: '60px',\n boxSizing: \"border-box\",\n color: \"#6d4c41\",\n backgroundColor: \"#f9f7f5\",\n },\n inputError: {\n borderColor: '#f44336',\n },\n errorMessage: {\n color: '#f44336',\n fontSize: '12px',\n marginTop: '4px',\n marginBottom: '0',\n },\n\n // 警告框樣式\n warningBox: {\n backgroundColor: '#ffebee',\n border: '1px solid #ffcdd2',\n borderRadius: '4px',\n padding: '12px',\n marginBottom: '20px',\n display: 'flex',\n alignItems: 'flex-start',\n },\n warningIcon: {\n fontSize: '18px',\n marginRight: '10px',\n },\n warningText: {\n margin: '0',\n fontSize: '14px',\n color: '#c62828',\n lineHeight: '1.5',\n },\n\n // 確認對話框註釋\n confirmNote: {\n fontSize: '14px',\n color: '#6d4c41',\n marginBottom: '20px',\n fontStyle: 'italic',\n },\n\n // 添加删除按钮样式\n removeButton: {\n backgroundColor: '#e57373', // 红色,表示删除操作\n color: 'white',\n border: 'none',\n borderRadius: '4px',\n width: '28px',\n height: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n fontSize: '14px'\n },\n // 訪問碼頁面樣式\n accessCodesContainer: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n animation: \"fadeIn 0.6s ease-out\",\n },\n accessCodeIntro: {\n marginBottom: \"20px\",\n fontSize: \"15px\",\n color: \"#6d4c41\",\n lineHeight: \"1.5\",\n },\n accessCodeContentWrapper: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr\",\n gap: \"20px\",\n },\n treatmentSelectionPanel: {\n backgroundColor: \"#f9f7f5\",\n borderRadius: \"6px\",\n padding: \"15px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n accessCodePanel: {\n backgroundColor: \"#f9f7f5\",\n borderRadius: \"6px\",\n padding: \"15px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n accessSubtitle: {\n fontSize: \"16px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n marginTop: \"0\",\n marginBottom: \"15px\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"10px\",\n },\n treatmentListAccess: {\n maxHeight: \"500px\",\n overflowY: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"10px\",\n },\n accessTreatmentItem: {\n padding: \"12px\",\n backgroundColor: \"white\",\n borderRadius: \"6px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n cursor: \"pointer\",\n transition: \"all 0.2s ease\",\n },\n selectedTreatmentItem: {\n border: \"1px solid #8d6e63\",\n boxShadow: \"0 2px 8px rgba(141, 110, 99, 0.2)\",\n },\n accessTreatmentHeader: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginBottom: \"8px\",\n },\n accessTreatmentDate: {\n fontSize: \"14px\",\n color: \"#6d4c41\",\n fontWeight: \"500\",\n },\n accessTreatmentTime: {\n fontSize: \"14px\",\n color: \"#a18072\",\n },\n accessTreatmentContent: {\n fontSize: \"14px\",\n color: \"#6d4c41\",\n },\n accessTreatmentGuest: {\n margin: \"5px 0\",\n },\n accessTreatmentType: {\n margin: \"5px 0\",\n },\n accessTreatmentDetails: {\n margin: \"5px 0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n selectedTreatmentDetails: {\n padding: \"15px\",\n backgroundColor: \"white\",\n borderRadius: \"6px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n detailsTitle: {\n fontSize: \"16px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n margin: \"0 0 15px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"10px\",\n },\n detailsContent: {\n fontSize: \"14px\",\n color: \"#6d4c41\",\n marginBottom: \"20px\",\n },\n generateCodeButton: {\n width: \"100%\",\n padding: \"12px\",\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n transition: \"all 0.2s ease\",\n marginBottom: \"20px\",\n },\n noSelectionMessage: {\n padding: \"30px 15px\",\n textAlign: \"center\",\n backgroundColor: \"white\",\n borderRadius: \"6px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n color: \"#a18072\",\n fontSize: \"15px\",\n },\n accessCodeResult: {\n marginTop: \"20px\",\n padding: \"15px\",\n backgroundColor: \"#f0e6d9\",\n borderRadius: \"6px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n },\n codeTitle: {\n fontSize: \"16px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n margin: \"0 0 15px 0\",\n },\n codeDisplay: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: \"20px\",\n backgroundColor: \"white\",\n borderRadius: \"6px\",\n marginBottom: \"15px\",\n },\n codeValue: {\n fontSize: \"32px\",\n fontWeight: \"700\",\n color: \"#6d4c41\",\n letterSpacing: \"3px\",\n },\n codeExpiry: {\n fontSize: \"13px\",\n color: \"#a18072\",\n marginBottom: \"15px\",\n textAlign: \"center\",\n fontStyle: \"italic\",\n },\n shareOptions: {\n display: \"flex\",\n gap: \"10px\",\n },\n shareButton: {\n flex: 1,\n padding: \"10px\",\n backgroundColor: \"white\",\n color: \"#6d4c41\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"13px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n shareIcon: {\n marginRight: \"8px\",\n fontSize: \"16px\",\n },\n // 添加到樣式對象\n clientIdBadge: {\n marginLeft: \"8px\",\n fontSize: \"12px\",\n color: \"#4caf50\",\n },\n disabledButton: {\n width: \"100%\",\n padding: \"12px\",\n backgroundColor: \"#cccccc\",\n color: \"#666666\",\n border: \"none\",\n borderRadius: \"4px\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n marginBottom: \"20px\",\n cursor: \"not-allowed\",\n },\n warningText1: {\n color: \"#f44336\",\n fontSize: \"14px\",\n margin: \"0 0 20px 0\",\n padding: \"10px\",\n backgroundColor: \"rgba(244, 67, 54, 0.1)\",\n borderRadius: \"4px\",\n textAlign: \"center\",\n },\n codeInfo: {\n padding: \"10px\",\n backgroundColor: \"rgba(141, 110, 99, 0.05)\",\n borderRadius: \"4px\",\n marginBottom: \"15px\",\n },\n codeInfoText: {\n margin: \"5px 0\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n },\n // 添加到樣式對象\n customersContainer: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n animation: \"fadeIn 0.6s ease-out\",\n },\n filterSection: {\n marginBottom: \"25px\",\n backgroundColor: \"#f9f7f5\",\n borderRadius: \"8px\",\n padding: \"20px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n filterRow: {\n display: \"flex\",\n gap: \"15px\",\n marginBottom: \"15px\",\n alignItems: \"flex-end\",\n },\n filterGroup: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n },\n filterLabel: {\n display: \"block\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n marginBottom: \"8px\",\n fontWeight: \"500\",\n },\n filterSelect: {\n width: \"100%\",\n padding: \"10px 12px\",\n borderRadius: \"4px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n backgroundColor: \"white\",\n appearance: \"none\", // 移除瀏覽器原生下拉箭頭\n backgroundImage: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236d4c41' d='M6 9L1 4h10z'/%3E%3C/svg%3E\")`,\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"right 12px center\",\n backgroundSize: \"12px\",\n paddingRight: \"32px\", // 為下拉箭頭騰出空間\n },\n filterInput: {\n width: \"90%\",\n padding: \"10px 12px\",\n borderRadius: \"4px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n backgroundColor: \"white\",\n },\n filterButtons: {\n display: \"flex\",\n gap: \"10px\",\n alignItems: \"flex-end\",\n marginTop: \"28px\", // 增加頂部距離以對齊其他輸入\n },\n applyFilterButton: {\n padding: \"10px 16px\",\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n fontWeight: \"500\",\n },\n resetFilterButton: {\n padding: \"10px 16px\",\n backgroundColor: \"#f0e6d9\",\n color: \"#6d4c41\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n fontWeight: \"500\",\n },\n searchContainer: {\n marginTop: \"15px\",\n padding: \"0\", // 確保沒有額外填充\n },\n searchInput: {\n width: \"100%\",\n padding: \"10px 12px\",\n borderRadius: \"4px\",\n border: \"1px solid rgba(141, 110, 99, 0.2)\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n backgroundColor: \"white\",\n boxShadow: \"none\", // 移除陰影效果\n outline: \"none\", // 移除點擊時的外框\n boxSizing: \"border-box\", // 確保寬度計算包括邊框\n },\n customersTableContainer: {\n overflowX: \"auto\",\n },\n customersTable: {\n width: \"100%\",\n borderCollapse: \"collapse\",\n },\n customerNameCell: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n customerName: {\n fontWeight: \"500\",\n color: \"#6d4c41\",\n },\n customerIdBadge: {\n fontSize: \"12px\",\n color: \"#a18072\",\n marginTop: \"4px\",\n },\n contactInfoCell: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n emailInfo: {\n marginBottom: \"4px\",\n fontSize: \"13px\",\n },\n phoneInfo: {\n fontSize: \"13px\",\n },\n iconLabel: {\n marginRight: \"4px\",\n fontSize: \"12px\",\n },\n activationCell: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n activationDate: {\n fontWeight: \"500\",\n color: \"#6d4c41\",\n marginBottom: \"2px\",\n },\n activationTime: {\n fontSize: \"13px\",\n color: \"#a18072\",\n marginBottom: \"4px\",\n },\n activationCode: {\n fontSize: \"12px\",\n backgroundColor: \"rgba(141, 110, 99, 0.1)\",\n padding: \"2px 6px\",\n borderRadius: \"4px\",\n display: \"inline-block\",\n },\n treatmentCell: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n treatmentName: {\n fontWeight: \"500\",\n color: \"#6d4c41\",\n marginBottom: \"4px\",\n },\n treatmentId: {\n fontSize: \"12px\",\n color: \"#a18072\",\n },\n interactionsCell: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n },\n interactionCount: {\n fontWeight: \"bold\",\n fontSize: \"18px\",\n color: \"#8d6e63\",\n marginBottom: \"4px\",\n },\n lastActiveInfo: {\n fontSize: \"12px\",\n color: \"#a18072\",\n },\n viewButton: {\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n width: \"28px\",\n height: \"28px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n },\n exportButton: {\n backgroundColor: \"#4caf50\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n width: \"28px\",\n height: \"28px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n },\n // Additional styles for the Reports feature\n reportsContainer: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n boxShadow: \"0 2px 10px rgba(0, 0, 0, 0.05)\",\n animation: \"fadeIn 0.6s ease-out\",\n },\n reportFilters: {\n backgroundColor: \"#f9f7f5\",\n borderRadius: \"8px\",\n padding: \"20px\",\n marginBottom: \"25px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n selectedTreatmentInfo: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"15px\",\n marginTop: \"20px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n selectedTreatmentTitle: {\n fontSize: \"16px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n margin: \"0 0 15px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"10px\",\n },\n selectedTreatmentDetails: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fill, minmax(200px, 1fr))\",\n gap: \"10px\",\n marginBottom: \"20px\",\n },\n detailItem: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4px\",\n },\n detailLabel: {\n fontSize: \"13px\",\n color: \"#a18072\",\n fontWeight: \"500\",\n },\n detailValue: {\n fontSize: \"15px\",\n color: \"#6d4c41\",\n },\n generateReportButton: {\n width: \"100%\",\n padding: \"12px\",\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n transition: \"all 0.2s ease\",\n marginTop: \"10px\",\n },\n reportResultsContainer: {\n backgroundColor: \"#f9f7f5\",\n borderRadius: \"8px\",\n padding: \"20px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n reportHeader: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginBottom: \"20px\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"15px\",\n },\n reportTitle: {\n margin: 0,\n fontSize: \"20px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n },\n reportActions: {\n display: \"flex\",\n gap: \"10px\",\n },\n reportExportButton: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"8px 15px\",\n backgroundColor: \"#8d6e63\",\n color: \"white\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n },\n reportShareButton: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"8px 15px\",\n backgroundColor: \"#f0e6d9\",\n color: \"#6d4c41\",\n border: \"none\",\n borderRadius: \"4px\",\n cursor: \"pointer\",\n fontWeight: \"500\",\n fontSize: \"14px\",\n },\n reportCards: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fit, minmax(220px, 1fr))\",\n gap: \"20px\",\n marginBottom: \"30px\",\n },\n reportCard: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n boxShadow: \"0 2px 5px rgba(0, 0, 0, 0.05)\",\n display: \"flex\",\n alignItems: \"center\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n reportCardIcon: {\n fontSize: \"28px\",\n marginRight: \"15px\",\n color: \"#8d6e63\",\n },\n reportCardContent: {\n flex: 1,\n },\n reportCardTitle: {\n margin: \"0 0 5px 0\",\n fontSize: \"14px\",\n fontWeight: \"500\",\n color: \"#a18072\",\n },\n reportCardValue: {\n margin: \"0 0 5px 0\",\n fontSize: \"24px\",\n fontWeight: \"bold\",\n color: \"#6d4c41\",\n },\n reportCardDescription: {\n margin: 0,\n fontSize: \"12px\",\n color: \"#a18072\",\n },\n reportCharts: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fit, minmax(300px, 1fr))\",\n gap: \"20px\",\n marginBottom: \"30px\",\n },\n chartContainer: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"15px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n chartTitle: {\n fontSize: \"16px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n margin: \"0 0 15px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"10px\",\n },\n chart: {\n height: \"200px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n chartPlaceholder: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n textAlign: \"center\",\n },\n chartIcon: {\n fontSize: \"32px\",\n color: \"#d7ccc8\",\n marginBottom: \"10px\",\n },\n chartText: {\n fontSize: \"14px\",\n color: \"#a18072\",\n margin: 0,\n },\n reportSummary: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n },\n reportSummaryTitle: {\n fontSize: \"16px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n margin: \"0 0 15px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"10px\",\n },\n reportSummaryText: {\n fontSize: \"14px\",\n color: \"#6d4c41\",\n lineHeight: \"1.6\",\n margin: \"0 0 15px 0\",\n },\n noReportContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: \"50px 20px\",\n textAlign: \"center\",\n },\n noReportIcon: {\n fontSize: \"48px\",\n color: \"#d7ccc8\",\n marginBottom: \"20px\",\n },\n noReportTitle: {\n fontSize: \"20px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n margin: \"0 0 10px 0\",\n },\n noReportDescription: {\n fontSize: \"16px\",\n color: \"#a18072\",\n margin: \"0 0 15px 0\",\n maxWidth: \"500px\",\n },\n noReportTips: {\n fontSize: \"14px\",\n color: \"#a18072\",\n margin: 0,\n maxWidth: \"500px\",\n fontStyle: \"italic\",\n },\n\n \n // 響應式報告視覺樣式\n visualRepresentation: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"20px 15px\", // 減少側邊內邊距\n marginBottom: \"30px\",\n border: \"1px solid rgba(141, 110, 99, 0.1)\",\n boxSizing: \"border-box\", // 確保內邊距不增加總寬度\n width: \"100%\",\n overflowX: \"hidden\", // 防止水平溢出\n },\n visualTitle: {\n fontSize: \"16px\",\n fontWeight: \"600\",\n color: \"#6d4c41\",\n margin: \"0 0 20px 0\",\n borderBottom: \"1px solid rgba(141, 110, 99, 0.1)\",\n paddingBottom: \"10px\",\n textAlign: \"center\", // 標題居中\n },\n visualContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n marginBottom: \"30px\",\n },\n scoreVisual: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n width: \"100%\",\n maxWidth: \"300px\", // 限制最大寬度\n },\n scoreCircleContainer: {\n position: \"relative\",\n width: \"150px\",\n height: \"150px\",\n marginBottom: \"15px\",\n },\n scoreCircleBackground: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"50%\",\n background: \"#f0f0f0\",\n },\n scoreCircleFill: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"50%\",\n transform: \"rotate(-90deg)\",\n },\n scoreCircleInner: {\n position: \"absolute\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"70%\",\n height: \"70%\",\n borderRadius: \"50%\",\n backgroundColor: \"white\",\n boxShadow: \"0 0 10px rgba(0,0,0,0.05)\",\n },\n scoreValue: {\n fontSize: \"32px\",\n fontWeight: \"bold\",\n color: \"#6d4c41\",\n lineHeight: \"1\",\n },\n scoreLabel: {\n fontSize: \"12px\",\n color: \"#a18072\",\n textAlign: \"center\",\n marginTop: \"5px\",\n },\n scoreDescription: {\n textAlign: \"center\",\n width: \"100%\",\n },\n scoreText: {\n margin: \"0\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n lineHeight: \"1.5\",\n },\n metricItem: {\n marginBottom: \"30px\",\n width: \"100%\",\n },\n metricLabel: {\n fontSize: \"16px\",\n fontWeight: \"500\",\n color: \"#6d4c41\",\n marginBottom: \"15px\",\n },\n metricBarOuter: {\n position: \"relative\",\n paddingBottom: \"30px\", // 為刻度值和單位提供空間\n },\n metricBarContainer: {\n position: \"relative\",\n height: \"30px\",\n backgroundColor: \"transparent\", // 透明背景\n borderRadius: \"15px\",\n overflow: \"visible\", // 改為 visible 以便指示器可以溢出\n marginBottom: \"5px\",\n },\n metricBarZones: {\n display: \"flex\",\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"15px\",\n overflow: \"hidden\", // 確保圓角效果\n },\n metricBarZone: {\n flex: \"1\",\n opacity: \"0.3\",\n },\n metricIndicator: {\n position: \"absolute\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n zIndex: \"2\",\n },\n metricIndicatorCircle: {\n width: \"36px\",\n height: \"36px\",\n borderRadius: \"50%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n boxShadow: \"0 2px 5px rgba(0,0,0,0.2)\",\n transform: \"translateX(-50%)\", // 使圓心對齊位置點\n },\n metricValue: {\n color: \"white\",\n fontSize: \"14px\",\n fontWeight: \"bold\",\n },\n metricScale: {\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n fontSize: \"12px\",\n color: \"#8d6e63\",\n marginTop: \"8px\",\n },\n metricUnit: {\n position: \"absolute\",\n right: \"0\",\n bottom: \"0\",\n fontSize: \"12px\",\n color: \"#a18072\",\n fontWeight: \"500\",\n },\n metricDescription: {\n marginTop: \"5px\",\n },\n descriptionText: {\n margin: \"0\",\n fontSize: \"14px\",\n color: \"#6d4c41\",\n fontStyle: \"italic\",\n lineHeight: \"1.4\",\n },\n // 媒體查詢 - 針對小屏幕的樣式調整\n \"@media (max-width: 576px)\": {\n visualRepresentation: {\n padding: \"15px 10px\",\n },\n scoreCircleContainer: {\n width: \"120px\",\n height: \"120px\",\n },\n scoreValue: {\n fontSize: \"28px\",\n },\n scoreLabel: {\n fontSize: \"10px\",\n },\n metricBarContainer: {\n height: \"25px\",\n },\n metricIndicatorCircle: {\n width: \"30px\",\n height: \"30px\",\n },\n metricValue: {\n fontSize: \"12px\",\n },\n metricScale: {\n fontSize: \"10px\",\n },\n }\n\n\n};\n\n// Insert the CSS keyframes\ndocument.head.appendChild(document.createElement('style')).textContent = keyframes;\n\nexport default OrgDashboard;","import '../css/ConnectionPublicPage.css';\nimport React, { useState, useEffect } from 'react';\n\nfunction App() {\n const [serial_number, setSerialNumber] = useState(null);\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const serial = params.get('serial_number');\n if (serial) {\n setSerialNumber(serial);\n }\n }, []);\n\n return (\n
    \n
    \n
    \n
    \n\n
    \n
    \n \n \n \n
    \n
    \n

    \n AromaPod Pro by KATLAI
    \n

    \n
    \n
    \n\n
    \n
    \n

    Congratulations on your upgrade!

    \n

    Select a channel to connect with us and elevate your wellness journey.

    \n

    \n By clicking a button, you agree to
    our \n \n Privacy Policy\n \n  and \n Data Collection Terms\n .\n

    \n
    \n\n\n
    \n\n
    \n {/* WhatsApp Button */}\n
    \n \n \n

    WhatsApp AI Assistant

    \n \n
    \n\n {/* Facebook Button (Disabled with Coming Soon!) */}\n
    \n \n \n

    Facebook AI Assistant

    \n \n
    \n\n {/* Webapp Button */}\n
    \n \n \n

    Webapp AI Assistant

    \n \n
    \n\n\n\n {/* Instagram Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* Telegram Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* WeChat Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* Slack Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* Line Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* Viber Button (Disabled with Coming Soon!) */}\n {/* */}\n\n\n
    \n
    \n
    \n
    \n );\n}\n\nexport default App;","import '../css/ConnectionPublicPage.css';\nimport React, { useState, useEffect } from 'react';\n\nfunction App() {\n const [serial_number, setSerialNumber] = useState(null);\n\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const serial = params.get('serial_number');\n if (serial) {\n setSerialNumber(serial);\n }\n }, []);\n\n return (\n
    \n
    \n
    \n
    \n\n
    \n
    \n \n \n \n
    \n
    \n

    \n AromaPod Pro by KATLAI
    \n

    \n
    \n
    \n\n
    \n
    \n

    Welcome guest!

    \n

    Please connect with us from the following channel.

    \n

    \n By clicking a button, you agree to
    our \n \n Privacy Policy\n \n  and \n Data Collection Terms\n .\n

    \n
    \n\n\n
    \n\n
    \n {/* WhatsApp Button */}\n
    \n \n \n

    WhatsApp AI Assistant

    \n \n
    \n\n {/* Facebook Button (Disabled with Coming Soon!) */}\n
    \n \n \n

    Facebook AI Assistant

    \n \n
    \n\n {/* Webapp Button */}\n
    \n \n \n

    Webapp AI Assistant

    \n \n
    \n\n\n\n {/* Instagram Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* Telegram Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* WeChat Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* Slack Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* Line Button (Disabled with Coming Soon!) */}\n {/* */}\n\n {/* Viber Button (Disabled with Coming Soon!) */}\n {/* */}\n\n\n
    \n
    \n
    \n
    \n );\n}\n\nexport default App;","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { BrowserRouter as Router, Routes, Route, Navigate, Outlet } from 'react-router-dom';\n\nimport './index.css';\nimport LoginPage from './pages/LoginPage.jsx';\nimport RegisterPage from './pages/RegisterPage.jsx';\nimport PasswordChangePage from './pages/PasswordChangePage.jsx';\nimport SchedulingPage from './pages/SchedulingPage.jsx';\nimport ReportsPage from './pages/ReportsPage.jsx';\nimport DashboardPage from './pages/DashboardPage.jsx';\nimport CreateAppointmentPage from './pages/CreateAppointmentPage.jsx';\nimport SleepingReportPage from './pages/sleepingReportPage.jsx';\nimport AutoSchedulingPage from './pages/AutoSchedulingPage.jsx';\nimport NewAutoSchedulingPage from './pages/NewAutoSchedulingPage.jsx';\nimport AmbassadorCheckInPage from './pages/AmbassadorCheckIn.jsx';\nimport NewAmbassadorCheckInPage from './pages/NewAmbassadorCheckIn.jsx';\nimport AmbassadorCheckInAdminPage from './pages/AmbassadorCheckInAdmin.jsx';\nimport AdminPage from './pages/AdminPage.jsx';\nimport AuthContext from './context/AuthContext'; // 正確導入 AuthContext\nimport BigScreenAdmin from './pages/BigScreenAdmin.jsx';\nimport GoogleTrial from './pages/GoogleSheetTrial.jsx';\nimport TempAmbassadorCheckInPage from './pages/TempAmbassadorCheckIn.jsx';\nimport DeviceMapStatusPage from './pages/DeviceMapStatusPage.jsx';\nimport SpaSystemGuestPage from './pages/SpaSystemGuestPage.jsx';\nimport OrgLoginPage from './pages/OrgLoginPage.jsx';\nimport DoubleOrgLoginPage from './pages/DoubleOrgLoginPage.jsx';\n\nimport H11_25_DB from './pages/org/H11_25.jsx';\nimport S38_89_DB from './pages/org/S38_89.jsx';\n\nimport ConnectionCheckinPage from './pages/ConnectionCheckinPage.jsx';\nimport ConnectionPublicPage from './pages/ConnectionPublicPage.jsx';\n\n\n// 創建 AuthProvider 組件\nconst AuthProvider = ({ children }) => {\n const [user, setUser] = React.useState(null);\n\n const login = (userData) => {\n setUser(userData);\n };\n\n const logout = () => {\n setUser(null);\n };\n\n return (\n \n {children}\n \n );\n};\n\n// ProtectedRoute 組件\nconst ProtectedRoute = ({ requiredRole }) => {\n const { user } = React.useContext(AuthContext);\n\n if (!user) {\n return ; // 未登入則重定向到登入頁\n }\n\n if (requiredRole) {\n // 檢查是否為組織管理員角色\n if (requiredRole === \"orgAdmin\" && user.role === \"orgAdmin\") {\n return ; // 允許訪問\n }\n // 檢查其他角色\n else if (user.role !== requiredRole) {\n return ; // 無權限則重定向到首頁\n }\n }\n\n return ; // 允許訪問受保護的路由\n};\n\n// App 組件\nconst App = () => {\n return (\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// 渲染根組件\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n \n \n);"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","pop","push","__spreadArray","to","from","pack","ar","l","slice","concat","Bounds","left","top","width","height","add","x","w","h","fromClientRect","context","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","find","rect","EMPTY","parseBounds","node","getBoundingClientRect","parseDocumentSize","document","documentElement","Error","Math","max","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","toCodePoints$1","str","codePoints","charCodeAt","extra","fromCodePoint$1","_i","fromCodePoint","codeUnits","index","codePoint","fromCharCode","chars$2","lookup$2","Uint8Array","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","len","buffer","ArrayBuffer","bytes","isArray","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_MASK$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","start","end","Uint16Array","slice32$1","Uint32Array","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","data","ceil","Trie$1","Trie","initialValue","errorValue","highStart","highValueIndex","get","ix","chars$3","lookup$3","i$3","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","forEach","classType","indexOf","prev","isAdjacentWithSpaceIgnored","a","currentIndex","classTypes","current","previousNonSpaceClassType","type","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","prevIndex","count","cssFormattedClasses","options","wordBreak","_a","isLetterNumber","map","forbiddenBreakpoints","letterNumber","undefined","Break","required","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","u","z","A","E","F","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","c","sign","integers","int","parseInt","fraction","fracd","frac","expsign","exponent","exp","pow","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","_value","write","chunk","read","tokens","token","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","flags","consumeName","reconsumeCodePoint","consumeNumericToken","e1","e2","e3","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","shift","unshift","delta","digits","questionMarks","digit","endDigits","toLowerCase","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","min","splice","endingCodePoint","consumeNumber","repr","number","unit","hex","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","values","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","name","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","args","arg","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","parent","DEG","GRAD","RAD","TURN","angle","parse","_context","PI","isAngle","parseNamedSide","filter","ident","join","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","r","substring","namedColor","COLORS","toUpperCase","TRANSPARENT","isTransparent","color","asString","alpha","blue","green","red","round","getTokenColorValue","rgb","_b","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","prefix","backgroundColor","format","parseColorStop","stop","processColorStops","stops","lineLength","first","last","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","gapValue","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","abs","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","closest","reduce","stat","cx","cy","optimumDistance","optimumCorner","Infinity","calculateRadius","gradient","rx","ry","size","shape","prefixLinearGradient","angle$1","firstToken","colorStop","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","prefixRadialGradient","position","isColorStop","acc","isLinearGradient","background","isRadialGradient","image","image_1","url","cache","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","isAtPosition_1","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","style","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","display","bit","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textAlign","textShadow","shadow","offsetX","offsetY","blur","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","auto","order","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","toString","fontWeight","fontVariant","fontStyle","contains","content","counterIncrement","increments","filtered","counter","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","open","close","getQuote","depth","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","transform","isVisible","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","descriptor","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","element","getAttribute","isDebugging","elementType","ElementContainer","textNodes","elements","styles","window","getComputedStyle","isHTMLElementNode","some","bounds","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_MASK","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","L","V","T","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","createRange","range","testElement","createElement","appendChild","selectNode","rangeBounds","rangeHeight","removeChild","testIOSLineBreak","wordSpacing","innerHTML","repeat","firstChild","textList","offset","supports","every","text","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","XMLHttpRequest","responseType","testSVG","img","canvas","ctx","getContext","src","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","getImageData","catch","xmlns","createElementNS","foreignObject","setAttributeNS","onload","onerror","encodeURIComponent","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","defineProperty","SUPPORT_WORD_BREAKING","SUPPORT_SVG_DRAWING","SUPPORT_FOREIGNOBJECT_DRAWING","fetch","SUPPORT_CORS_IMAGES","SUPPORT_RESPONSE_TYPE","SUPPORT_CORS_XHR","SUPPORT_NATIVE_TEXT_SEGMENTATION","Intl","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","trim","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","ownerDocument","wrapper","cloneNode","parentNode","replaceChild","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","words","word_1","TextContainer","replace","CAPITALIZE","capitalize","m","p1","p2","ImageElementContainer","_super","_this","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","setAttribute","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","input","checked","SelectElementContainer","option","selectedIndex","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","root","childNode","nextNode","nextSibling","isTextNode","isElementNode","isSlotElement","assignedNodes","container","createContainer","createsRealStackingContext","createsStackingContext","tagName","slot","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","getCounterValue","getCounterValues","canReset","entry","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","suffix","createCounterText","string","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","floor","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","tmp","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","defaultView","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","scrollTo","test","navigator","userAgent","logger","warn","onclone","clonedReferenceElement","nodeName","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","clone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","css","rule","cssText","textContent","error","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","child","copyStyles","hasAttribute","ignoreElements","cloneChildNodes","assignedNode","createTextNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","insertBefore","after","AFTER","scrollTop","scrollLeft","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","destroy","CORNER","cloneIframeContainer","border","scrolling","imageReady","complete","all","images","interval","setInterval","childNodes","readyState","clearInterval","ignoredStyleProperties","target","property","item","setProperty","getPropertyValue","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","getOrigin","link","_link","href","protocol","hostname","port","isSameOrigin","_origin","setContext","location","Cache","_options","_cache","has","isBlobImage","isRenderable","loadImage","match","key","useCORS","isInlineImage","useProxy","proxy","debug","isInlineBase64Image","setTimeout","imageTimeout","keys","xhr","status","response","reader_1","FileReader","addEventListener","readAsDataURL","queryString","timeout_1","timeout","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","isSVG","substr","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","ab","bc","cd","abbc","bccd","dest","reverse","isBezierCurve","path","BoundCurves","tlh","tlv","trh","trv","_c","brh","brv","_d","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","effects","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","order_1","index_1","index_2","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","second","hasIntrinsicProportion","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_data","_document","parseMetrics","span","margin","padding","whiteSpace","verticalAlign","baseline","offsetTop","middle","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","scale","fontMetrics","translate","textBaseline","applyEffects","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letter","measureText","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","font","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","renderReplacedElement","box","render","fill","beginPath","arc","isTextInputElement","canvasTextAlign","_p","_e","_g","_f","_j","_h","_l","_k","_o","_m","mask","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","pattern","resizeImage","renderBackgroundImage","this_1","createPattern","x0","x1","y0","y1","gradient_1","createLinearGradient","addColorStop","top_1","radialGradient_1","createRadialGradient","midX","midY","invF","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","borders_1","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","setLineDash","lineCap","stroke","path1","path2","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","id","enabled","Date","now","console","getTime","instances","Context","instanceName","instanceCount","logging","html2canvas","renderElement","opts","resourceOptions","contextOptions","windowOptions","windowWidth","innerWidth","windowHeight","innerHeight","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","_u","parseBackgroundColor","renderOptions","devicePixelRatio","_q","_r","_s","_t","removeContainer","backgroundColorOverride","defaultBackgroundColor","obj","prop","module","exports","qs","sep","eq","regexp","split","maxKeys","kstr","vstr","k","idx","decodeURIComponent","stringifyPrimitive","isFinite","ks","Boolean","encode","stringify","aa","require","ca","da","Set","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","isNaN","qa","oa","removeAttribute","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","set","Reflect","construct","displayName","includes","Pa","tag","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","getOwnPropertyDescriptor","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","bb","cb","db","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","kb","lb","mb","nb","namespaceURI","valueOf","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","charAt","tb","menuitem","area","base","br","col","embed","hr","keygen","meta","param","source","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Meta","Shift","Pd","Qd","code","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","search","tel","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","compareDocumentPosition","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","removeAllRanges","addRange","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","pf","qf","rf","random","sf","bind","capture","passive","J","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","clearTimeout","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","refs","Mg","Ng","Og","Pg","Qg","props","Rg","implementation","Sg","Tg","q","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","lh","mh","eventTime","lane","payload","callback","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","R","Bi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","defaultProps","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","state","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","message","digest","Ki","Li","Mi","WeakMap","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","compare","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","autoFocus","Gj","Hj","Ij","Jj","Kj","WeakSet","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","ck","dk","ek","isHidden","fk","gk","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","Vk","lk","mk","nk","ok","Y","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","el","fl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","querySelectorAll","JSON","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","cookieNameRegExp","cookieValueRegExp","domainValueRegExp","pathValueRegExp","__toString","NullObject","startIndex","endIndex","__self","__source","Fragment","jsx","jsxs","setState","forceUpdate","escape","_status","_result","default","Children","toArray","only","Component","Profiler","PureComponent","StrictMode","Suspense","act","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","valueA","valueB","_typeof","o","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","ns","def","getOwnPropertyNames","definition","chunkId","promises","miniCssF","globalThis","Function","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","nc","onScriptComplete","doneFns","fn","head","toStringTag","installedChunks","j","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","self","PopStateEventType","createBrowserHistory","getUrlBasedHistory","window2","globalHistory","pathname","hash","createLocation","usr","createPath","invariant","warning","cond","getHistoryState","parsePath","_ref","parsedPath","hashIndex","searchIndex","getLocation","createHref2","validateLocation","v5Compat","history","getIndex","handlePop","createURL","origin","URL","replaceState","listen","createHref","encodeLocation","historyState","pushState","DOMException","go","matchRoutes","routes","locationArg","matchRoutesImpl","basename","allowPartial","stripBasename","branches","flattenRoutes","sort","score","siblings","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matches","decoded","decodePath","matchRouteBranch","parentsMeta","parentPath","flattenRoute","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","exploded","explodeOptionalSegments","segments","rest","isOptional","endsWith","restExploded","subpath","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","branch","matchedParams","matchedPathname","remainingPathname","matchPath","params","pathnameBase","normalizePathname","matcher","compiledParams","regexpSource","paramName","RegExp","compilePath","captureGroups","memo2","_ref2","splatValue","nextChar","getInvalidPathError","field","getPathContributingMatches","getResolveToMatches","pathMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","isRouteErrorResponse","statusText","internal","validMutationMethodsArr","validRequestMethodsArr","DataRouterContext","React","DataRouterStateContext","ViewTransitionContext","isTransitioning","FetchersContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","isDataRoute","RouteErrorContext","useInRouterContext","React2","useLocation","navigateEffectWarning","useIsomorphicLayoutEffect","static","useNavigate","router","useDataRouterContext","useCurrentRouteId","activeRef","navigate","async","fromRouteId","useNavigateStable","dataRouterContext","navigator2","routePathnamesJson","relative","useNavigateUnstable","OutletContext","useParams","routeMatch","useResolvedPath","useRoutesImpl","dataRouterState","future","parentMatches","parentParams","parentPathname","parentPathnameBase","parentRoute","warningOnce","locationFromContext","parsedLocationArg","parentSegments","renderedMatches","_renderMatches","navigationType","DefaultErrorComponent","useRouteError","lightgrey","preStyles","codeStyles","devInfo","defaultErrorElement","RenderErrorBoundary","super","revalidation","errorInfo","routeContext","component","RenderedRoute","_ref9","staticContext","errorElement","ErrorBoundary","_deepestRenderedBoundaryId","errors","initialized","errorIndex","findIndex","renderFallback","fallbackIndex","HydrateFallback","hydrateFallbackElement","loaderData","errors2","needsToRunLoader","loader","reduceRight","shouldRenderHydrateFallback","matches2","getChildren","getDataRouterConsoleError","hookName","useDataRouterState","useRouteContext","thisRoute","routeId","alreadyWarned","React3","_ref12","Navigate","_ref14","replace2","isStatic","jsonPath","Outlet","useOutlet","Route","_props","Router","_ref15","basenameProp","locationProp","staticProp","navigationContext","locationContext","trailingPathname","Routes","_ref16","createRoutesFromChildren","treePath","hasErrorBoundary","shouldRevalidate","handle","defaultMethod","defaultEncType","isHtmlElement","object","_formDataSupportsSubmitter","supportedFormEncTypes","getFormEncType","encType","getFormSubmissionInfo","method","formData","FormData","isButtonElement","isFormDataSubmitterSupported","append","invariant2","loadRouteModule","routeModulesCache","routeModule","import","__reactRouterContext","isSpaMode","reload","isPageLinkDescriptor","page","isHtmlLinkDescriptor","rel","imageSrcSet","imageSizes","getNewMatchesForLinks","nextMatches","currentMatches","manifest","isNew","matchPathChanged","manifestRoute","hasLoader","routeChoice","currentUrl","currentParams","nextUrl","nextParams","defaultShouldRevalidate","dedupeHrefs","hrefs","dedupeLinkDescriptors","descriptors","preloads","preloadsSet","deduped","as","sorted","sortKeys","createHtml","html","singleFetchUrl","reqUrl","React5","RemixRootDefaultErrorBoundary","_ref21","isOutsideRemixApp","errorInstance","heyDeveloper","BoundaryShell","title","errorString","_ref22","renderScripts","routeModules","useFrameworkContext","Layout","lang","charSet","Scripts","isFogOfWarEnabled","useDataRouterContext2","React9","useDataRouterStateContext","FrameworkContext","composeEventHandlers","theirHandler","ourHandler","getActiveMatches","isHydrated","errorIdx","PrefetchPageLinks","_ref29","dataLinkProps","PrefetchPageLinksImpl","useKeyedPrefetchLinks","keyedPrefetchLinks","setKeyedPrefetchLinks","interrupted","mod","links","flat","getKeyedPrefetchLinks","_ref30","linkProps","newMatchesForData","newMatchesForAssets","dataHrefs","routesParams","foundOptOutRoute","m2","hasClientLoader","searchParams","moduleHrefs","manifestPatch","imports","getModuleLinkHrefs","_ref31","serverHandoffString","renderMeta","routerMatches","enableFogOfWar","didRenderScripts","initialScripts","contextScript","routeModulesScript","hmr","routeIds","initialRoutes","getPartialManifest","routePreloads","array","mergeRefs","_len3","_key3","isBrowser","__reactRouterVersion","BrowserRouter","_ref32","historyRef","React10","setStateImpl","newState","ABSOLUTE_URL_REGEX2","Link","_ref35","forwardedRef","absoluteHref","discover","prefetch","reloadDocument","preventScrollReset","viewTransition","isAbsolute","isExternal","targetUrl","joinedPathname","useHref","shouldPrefetch","prefetchRef","prefetchHandlers","theirElementProps","frameworkContext","maybePrefetch","setMaybePrefetch","setShouldPrefetch","onFocus","onBlur","onMouseEnter","onMouseLeave","onTouchStart","observer","IntersectionObserver","entries","isIntersecting","threshold","observe","disconnect","setIntent","cancelIntent","usePrefetchBehavior","internalOnClick","replaceProp","isModifiedEvent","shouldProcessLinkClick","useLinkClickHandler","_ref36","ariaCurrentProp","classNameProp","styleProp","routerState","vtContext","useDataRouterContext3","currentPath","currentLocation","nextPath","nextLocation","useViewTransitionState","nextLocationPathname","navigation","endSlashPosition","isActive","isPending","renderProps","ariaCurrent","Form","_ref37","fetcherKey","onSubmit","submit","useSubmit","formAction","URLSearchParams","indexValues","getAll","useFormAction","formMethod","submitter","submitMethod","getDataRouterConsoleError2","fetcherId","getUniqueFetcherId","currentRouteId","formEncType","TextEncoder","LoginPage","username","setUsername","setPassword","login","AuthContext","toolbar","justifyContent","borderBottom","gap","borderRadius","cursor","_jsxs","_jsx","onChange","handleLogin","role","alert","RegisterPage","staffID","setStaffID","confirmPassword","setConfirmPassword","handleRegister","PasswordChangePage","newPassword","setNewPassword","confirmNewPassword","setConfirmNewPassword","handleResetPassword","SchedulingPage","selectedDate","setSelectedDate","toISOString","appointments","setAppointments","device","therapist","customerName","treatment","handleCreateAppointment","appointment","lim","p2b","n2b","b2n","n2p","map$1","h1","h2","hexString","isShort","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb2hsl","hueValue","calln","hsl2rgb","hueParse","exec","hwb2rgb","hsv2rgb","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","names","nameParse","unpacked","tkeys","unpack","transparent","RGB_RE","modHSL","ratio","proto","fromObject","functionParse","rgbParse","Color","hexParse","_rgb","_valid","valid","rgbString","hslString","mix","weight","w2","w1","interpolate","rgb1","rgb2","clearer","greyscale","val","opaquer","negate","lighten","darken","saturate","desaturate","rotate","noop","uid","isNullOrUndef","isObject","isNumberFinite","Number","finiteOrDefault","valueOrDefault","toDimension","dimension","parseFloat","each","loopable","_elementsEqual","a0","ilen","v0","v1","datasetIndex","klen","isValidKey","_merger","tval","sval","merge","sources","merger","mergeIf","_mergerIf","keyResolvers","resolveObjectKey","parts","part","_splitKey","_getKeyResolver","_capitalize","defined","isFunction","setsEqual","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","almostEquals","epsilon","niceNum","roundedRange","niceRange","isNumber","_setMinAndMaxByKey","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","table","cmp","mid","lo","_lookupByKey","_rlookupByKey","arrayEvents","unlistenArrayEvents","stub","_chartjs","_arrayUnique","items","requestAnimFrame","requestAnimationFrame","throttled","argsToUse","ticking","_len2","_key2","_toLeftRightCenter","align","_alignStartEnd","_getStartAndCountOfVisiblePoints","points","animationsDisabled","pointCount","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","atEdge","elasticIn","elasticOut","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","isPatternOrGradient","getHoverColor","colors","intlCache","formatNumber","num","cacheKey","formatter","NumberFormat","getNumberFormat","formatters","numeric","tickValue","ticks","chart","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","remain","significand","Ticks","overrides","getScope$1","scope","Defaults","_descriptors","_appliers","borderColor","datasets","platform","getDevicePixelRatio","events","family","hover","hoverBackgroundColor","hoverBorderColor","hoverColor","indexAxis","interaction","intersect","includeInvisible","maintainAspectRatio","onHover","parsing","plugins","responsive","scales","showLine","drawActiveElementsOnTop","describe","override","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","writable","local","appliers","defaults","_scriptable","_indexable","_fallback","easing","loop","properties","active","resize","show","animations","visible","hide","autoPadding","right","bottom","beginAtZero","grace","grid","drawOnChartArea","drawTicks","tickLength","tickWidth","_ctx","tickColor","dash","dashOffset","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkip","autoSkipPadding","labelOffset","minor","major","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","_measureText","longest","textWidth","_longestText","arrayOfThings","garbageCollect","jlen","thing","nestedThing","gcLen","_alignPixel","pixel","currentDevicePixelRatio","clearCanvas","resetTransform","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","xOffsetW","yOffsetW","pointStyle","rotation","radius","rad","ellipse","SQRT1_2","borderWidth","_isPointInArea","clipArea","unclipArea","_steppedLineTo","flip","midpoint","_bezierCurveTo","cp1x","cp2x","cp1y","cp2y","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","drawBackdrop","oldColor","renderText","lines","strokeColor","translation","setRenderOpts","backdrop","maxWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","_readValueToProps","objProps","toTRBL","toTRBLCorners","toPadding","toFont","toFontString","inputs","cacheable","parentContext","_createResolver","scopes","prefixes","getTarget","finalRootScopes","_resolve","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_keys","_cached","readKey","needsSubResolver","createSubResolver","_resolveWithPrefixes","getKeysFromAllScopes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_subProxy","_stack","receiver","isScriptable","_resolveScriptable","isIndexable","arr","_resolveArray","_resolveWithContext","allKeys","scriptable","indexable","_allKeys","resolveFallback","getScope","addScopes","parentScopes","parentFallback","rootScopes","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","splineCurveMonotone","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","alphaK","betaK","tauK","squaredMagnitude","monotoneAdjust","iPixel","vPixel","monotoneCompute","capControlPoint","pt","_updateBezierControlPoints","controlPoints","spanGaps","cubicInterpolationMode","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","host","parseMaxStyle","styleValue","parentProperty","valueInPixels","positions","getPositionedStyle","pos","getRelativePosition","boxSizing","paddings","useOffsetPos","getCanvasPosition","round1","getMaximumSize","bbWidth","bbHeight","margins","maxHeight","containerSize","containerStyle","containerBorder","containerPadding","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","readUsedSize","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","original","getPropertyPriority","prevTextDirection","restoreTextDirection","propertyFn","between","normalize","normalizeSegment","_boundSegment","startBound","endBound","getSegment","prevValue","inside","subStart","shouldStart","shouldStop","_boundSegments","sub","splitByStyles","segmentOptions","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","dir","p0","p0DataIndex","p1DataIndex","styleChanged","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","replacer","Animator","_request","_charts","_running","_lastDate","_notify","anims","callbacks","numSteps","initial","currentStep","_refresh","_update","remaining","running","draw","_active","_total","tick","_getAnims","charts","progress","cur","_duration","cancel","remove","animator","interpolators","boolean","factor","c0","Animation","cfg","currentValue","_fn","_easing","_start","_loop","_target","_prop","_from","_to","_promises","update","elapsed","wait","res","rej","resolved","Animations","config","_properties","configure","animationOptions","animatedProps","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","awaitAll","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","dsIndex","singleMode","otherValue","found","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","_visualValues","getFirstScaleId","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","DatasetController","_cachedDataOpts","getMeta","_type","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","datasetElementType","dataElementType","initialize","linkScales","_stacked","addElements","isPluginEnabled","updateIndex","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","_destroy","_dataCheck","iAxisKey","vAxisKey","adata","convertObjectDataToArray","isExtensible","_len","_key","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","labels","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","createStack","hidden","NEGATIVE_INFINITY","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","sharing","datasetElementScopeKeys","resolveNamedOptions","freeze","_resolveAnimations","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_sync","_dataChanges","_onDataPush","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","$bar","visibleMetas","getAllScaleValues","curr","_length","updateMinAndPrev","getPixelForTick","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","edge","borderSkipped","horizontal","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","DoughnutController","animateRotate","animateScale","cutout","circumference","spacing","legend","generateLabels","fontColor","getDataVisibility","legendItem","toggleDataVisibility","innerRadius","outerRadius","_getRotation","_getCircumference","_getRotationExtents","isDatasetVisible","arcs","getMaxBorderWidth","getMaxOffset","maxSize","toPercentage","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","_circumference","calculateCircumference","animationOpts","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","LineController","_index_","_value_","_dataset","_decimated","animated","maxGapLength","directUpdate","pointsCount","prevParsed","nullData","getBasePixel","lastPoint","updateControlPoints","PolarAreaController","angleLines","circular","pointLabels","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","categoryPercentage","barPercentage","grouped","bars","isHorizontal","ruler","_getRuler","vpixels","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","_getStacks","currentParsed","iScaleValue","skipNull","_getStackCount","_getStackIndex","pixels","barThickness","_startPixel","_endPixel","stackCount","minBarLength","actualBase","floating","barSign","startPixel","getPixelForDecimal","endPixel","getValueForPixel","halfGrid","getLineWidthForValue","maxBarThickness","percent","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","rects","_fullLoop","pointPosition","getPointPositionForValue","registry","getElement","abstract","DateAdapterBase","members","init","formats","diff","startOf","endOf","adapters","binarySearch","metaset","lookupMethod","_reversePixels","getRange","evaluateInteractionItems","handler","getSortedVisibleDatasetMetas","getIntersectItems","useFinalPosition","isPointInArea","inRange","getNearestCartesianItems","distanceMetric","useX","useY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestItems","getProps","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","setLayoutDims","layouts","wrap","stackWeight","placed","buildStacks","vBoxMaxWidth","hBoxMaxHeight","layout","fullSize","availableWidth","availableHeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","getPadding","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","addBox","_layers","removeBox","layoutItem","minPadding","layoutBoxes","wrapBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","beforeLayout","visibleVerticalBoxCount","updatePos","change","handleMaxPadding","BasePlatform","acquireContext","releaseContext","isAttached","updateConfig","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","removeListener","nodeListContains","nodeList","createAttachObserver","MutationObserver","trigger","addedNodes","removedNodes","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","addListener","DomPlatform","renderHeight","renderWidth","displayWidth","displayHeight","initCanvas","proxies","$proxies","attach","detach","isConnected","Element","tooltipPosition","hasValue","final","tickOpts","determinedMaxTicks","_tickSize","maxScale","maxChart","_maxLength","determineMaxTicks","ticksLimit","maxTicksLimit","majorIndices","getMajorIndices","numMajorIndices","newTicks","skipMajors","evenMajorSpacing","getEvenSpacing","_factorize","calculateSpacing","avgMajorSpacing","majorStart","majorEnd","offsetFromEdge","getTicksLimit","ticksLength","sample","numItems","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","Scale","_margins","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","suggestedMin","suggestedMax","metas","getTicks","xLabels","yLabels","getLabelItems","_computeLabelItems","beforeUpdate","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","isFullSize","_computeLabelSizes","caches","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","decimal","getDecimalForPixel","getBaseValue","createTickContext","optionTicks","rot","_computeGridLineItems","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x2","y2","positionAxisID","limit","optsAtIndex","optsAtIndexBorder","lineColor","tickBorderDash","tickBorderDashOffset","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","drawGrid","drawLine","lineDashOffset","drawBorder","lastLineWidth","drawLabels","renderTextOptions","drawTitle","titleX","titleY","titleArgs","tz","gz","bz","axisID","_maxDigits","TypedRegistry","isForType","isPrototypeOf","register","parentScope","isIChartComponent","itemDefaults","defaultRoutes","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","unregister","Registry","controllers","_typedRegistries","_each","addControllers","_len4","_key4","addPlugins","_len5","_key5","addScales","_len6","_key6","getController","_get","getPlugin","getScale","removeControllers","_len7","_key7","removeElements","_len8","_key8","removePlugins","_len9","_key9","removeScales","_len10","_key10","typedRegistry","reg","_getRegistryForType","_exec","itemReg","camelMethod","PluginService","notify","hook","_createDescriptors","plugin","invalidate","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","_ref3","pluginScopeKeys","getIndexAxis","datasetDefaults","idMatchesAxis","determineAxis","_len11","scaleOptions","_key11","getAxisFromDataset","mergeScaleConfig","chartDefaults","configScales","chartIndexAxis","scaleConf","boundDs","retrieveAxisFromDatasets","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","initOptions","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","clear","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","onProgress","getCanvas","getElementById","getChart","moveNumericKeys","intKey","getSizeForArea","Chart","invalidatePlugins","userConfig","initialCanvas","existingChart","OffscreenCanvas","_detectPlatform","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","debounce","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","_drawDatasets","_drawDataset","useClip","getDatasetArea","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","toBase64Image","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","_ref4","pluginId","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","pixelMargin","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","outerMidAdjustedAngle","pCenter","p4","innerMidAdjustedAngle","p8","outerStartX","outerStartY","outerEndX","outerEndY","fullCircles","inner","angleMargin","clipArc","setStyle","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","strokePathWithCache","segmentMethod","strokePathDirect","LineElement","_points","_segments","_pointsUpdated","findStartAndEnd","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","inRange$1","hitRadius","getBarBounds","bar","half","skipOrLimit","boundingRects","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","outer","skipX","skipY","addNormalRectPath","inflateRect","refRect","chartX","chartY","rAdjust","nonZeroBetween","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","addRectPath","mouseX","mouseY","inXRange","inYRange","hoverRadius","BORDER_COLORS","BACKGROUND_COLORS","getBorderColor","getBackgroundColor","getColorizer","colorizeDoughnutDataset","colorizePolarAreaDataset","colorizeDefaultDataset","containsColorsDefinitions","plugin_colors","forceOverride","_args","chartOptions","containsColorDefenition","colorizer","cleanDecimatedDataset","cleanDecimatedData","plugin_decimation","algorithm","beforeElementsUpdate","xAxis","getStartAndCountOfVisiblePointsSimplified","decimated","samples","bucketWidth","sampledIndex","maxAreaPoint","maxArea","nextA","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","lttbDecimation","minIndex","maxIndex","xMin","dx","lastIndex","intermediateIndex1","intermediateIndex2","minMaxDecimation","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","boundary","linePoints","_ref5","_pointsFromSegments","_shouldApplyFill","_resolveTarget","propagate","visited","_decodeFill","fillOption","parseFillOption","firstCh","decodeTargetIndex","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","pointValue","firstValue","lastValue","simpleArc","getLineByIndex","sourcePoints","below","getLinesBelow","_buildStackLine","_getTargetValue","computeCircularBoundary","_getTargetPixel","computeLinearBoundary","computeBoundary","_drawfill","lineOpts","above","clipVertical","doFill","clipY","lineLoop","tpoints","targetSegments","tgt","subBounds","fillSources","fillSource","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","Legend","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","_itemHeight","heightLimit","totalWidth","currentColWidth","currentColHeight","legendItemText","calculateItemWidth","fontLineHeight","calculateLegendItemHeight","calculateItemHeight","calculateItemSize","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","halfFontSize","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","handleEvent","onLeave","isListened","hoveredItem","sameItem","itemsEqual","plugin_legend","_element","afterEvent","useBorderRadius","Title","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","plugin_subtitle","positioners","average","xSet","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","formattedValue","getTooltipSize","tooltip","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","defaultCallbacks","beforeTitle","tooltipItems","labelCount","afterTitle","beforeLabel","tooltipItem","labelColor","labelTextColor","bodyColor","labelPointStyle","afterLabel","beforeFooter","afterFooter","invokeCallbackWithFallback","Tooltip","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","getTitle","getBeforeBody","getBody","bodyItems","scoped","getAfterBody","getFooter","_createItems","itemSort","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","_ref6","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","findOrAddLabel","addedLabels","addIfString","lastIndexOf","_getLabelForValue","CategoryScale","_startValue","_valueRange","_addedLabels","added","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","rounded","almostWhole","decimalPlaces","relativeLabelSize","_ref7","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","getTickLimit","stepSize","computeTickLimit","LinearScale","log10Floor","changeExponent","isMajor","tickVal","steps","rangeExp","rangeStep","generateTicks","_ref8","minExp","startExp","lastTick","LogarithmicScale","_zero","getTickBackdropHeight","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","updateLimits","setCenterPoint","_pointLabelItems","itemOpts","createPointLabelItem","isNotOverlapped","buildPointLabelItems","hLimits","vLimits","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","drawPointLabelBox","backdropLeft","backdropTop","backdropWidth","backdropHeight","pathRadiusLine","RadialLinearScale","animate","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","drawPointLabels","gridLineOpts","drawRadiusLine","INTERVALS","millisecond","common","minute","hour","day","quarter","year","UNITS","sorter","adapter","_adapter","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","MAX_SAFE_INTEGER","addTick","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","TimeScale","displayFormats","_unit","_majorUnit","_offsets","_normalized","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","weekday","hasWeekday","getDataTimestamps","tooltipFormat","fmt","_tickFormatFunction","minorFormat","majorFormat","offsets","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","registerables","defaultDatasetIdKey","reforwardRef","setLabels","currentData","nextLabels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","nextDataset","currentDataset","cloneData","nextData","ChartComponent","redraw","fallbackContent","updateMode","canvasProps","canvasRef","chartRef","renderChart","Chart$1","destroyChart","nextOptions","setOptions","createTypedChart","Line","kindOf","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","_global","global","isContextDefined","isTypedArray","TypedArray","isHTMLForm","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","postMessageSupported","asap","process","nextTick","isBuffer","isFormData","kind","isArrayBufferView","isView","isBoolean","isStream","pipe","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","searchString","forEachEntry","pair","matchAll","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","AxiosError","captureStackTrace","utils","toJSON","description","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","Buffer","isFlatArray","exposedHelpers","build","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serialize","serializeFn","serializedParams","hashmarkIndex","handlers","use","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","classes","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","transitional","transitionalDefaults","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","formatHeader","targets","asStrings","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg3","buildAccessors","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","samplesCount","firstSampleTS","chunkLength","startedAt","bytesCount","passed","freq","lastArgs","timer","timestamp","invoke","flush","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","throttle","loaded","lengthComputable","progressBytes","rate","estimated","progressEventDecorator","asyncDecorator","isMSIE","expires","domain","secure","cookie","toGMTString","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","newConfig","auth","btoa","unescape","isURLSameOrigin","xsrfValue","cookies","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","onloadend","responseHeaders","getAllResponseHeaders","responseText","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","abort","subscribe","aborted","parseProtocol","composeSignals","signals","AbortController","reason","streamChunk","chunkSize","byteLength","readStream","stream","asyncIterator","reader","getReader","trackStream","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","loadedBytes","enqueue","highWaterMark","isFetchSupported","Request","Response","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","getBodyLength","knownAdapters","http","xhrAdapter","fetchOptions","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","formatMessage","opt","desc","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","dummy","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","onfulfilled","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","isAxiosError","formToJSON","getAdapter","ReportsPage","deviceMacMap","selectedDevice","setSelectedDevice","setStartTime","endTime","setEndTime","setToken","rrData","setRrData","hrData","setHrData","filteredRrData","setFilteredRrData","filteredHrData","setFilteredHrData","showRemainingElements","setShowRemainingElements","setName","birthday","setBirthday","gender","setGender","setEmail","agreedToTerms","setAgreedToTerms","isSubmitted","setIsSubmitted","relaxationScore","setRelaxationScore","devices","filterData","startDateTime","endDateTime","filterArray","dataArray","entryTime","filteredRr","filteredHr","calculateRelaxationScore","_filteredHr$","_filteredHr","hrBaseline","hrFinal","HR_Lowering","brValues","BR_Stability","sessionDuration","Relaxation_Score","heartRateData","toLocaleTimeString","breathRateData","handleDeviceSelect","post","mac","responseBody","flattenedRrData","flattenedHrData","_Fragment","handleBackToDashboard","DashboardPage","user","logout","handleAdminClick","handleAdminSchedulesClick","handleNewAdminSchedulesClick","handleAdminCheckInClick","handleBigScreenAdminClick","handleAmbassadorCheckInClick","handleLogout","CreateAppointmentPage","selectedTherapist","setSelectedTherapist","setCustomerName","selectedTreatment","setSelectedTreatment","treatmentDuration","setTreatmentDuration","isLoading","setIsLoading","handleScheduleAppointment","section","sectionTitle","cards","flexWrap","card","cardHeader","cardValue","SleepingReportPage","msg","sleepData","wakeDuraSec","remDuraMin","lightDuraMin","deepDuraMin","sleepTime","wakeTime","slowList","quickList","avg","slowNum","quickNum","rrStopList","stopNum","statusData","monitorData","moveData","leaveData","errData","leaveExData","moveTimes","moveMaxDura","moveMinDura","moveDuraAvg","onBedTotalSec","leaveTotalSec","leaveTimes","leaveMaxDura","leaveMinDura","leaveExceptionTime","normalMoveDura","actualMoveDura","moveAndSleepRatio","statusScore","asleepTime","useTimeSecDura","pressureData","mentalScore","TopToolbar","currentDate","currentTime","getCurrentDateTime","gmt8Date","setFormData","device_sn","customer_id","api_send_time","checkin_date","checkout_date","wakeUpTime","morning_start_time","morning_end_time","morning_aroma","morning_intensity_level","afternoon_start_time","afternoon_end_time","afternoon_aroma","afternoon_intensity_level","evening_start_time","evening_end_time","evening_aroma","evening_intensity_level","late_night_start_time","late_night_end_time","late_night_aroma","late_night_intensity_level","setErrors","isSubmitting","setIsSubmitting","showModal","setShowModal","schedules","setSchedules","isAutoScheduling","setIsAutoScheduling","handleInputChange","prevData","prevErrors","getISO8601WithTimezone","hours","minutes","updatedDate","setHours","setMinutes","setSeconds","minHeight","alignItems","heading","outline","inputError","buttonDisabled","errorMessage","modal","modalContent","scheduleItem","closeButton","autoScheduleButton","autoScheduleButtonDisabled","scheduleList","validateForm","newErrors","checkinDateTime","wakeup_time","sleep_time","Authorization","json","schedule","start_time","end_time","scheduled_parameters","intensity","serial_number","timezone","aroma_scent","aroma_intensity","handleCloseModal","isConcern","radioGroup","radioLabel","radioInput","textarea","termsContainer","termsCheckbox","termsLabel","termsLink","termsLinkHover","successPage","flexDirection","confirmButton","disabledButton","cancelButton","congratsMessage","loadingSpinner","borderTop","select","nationality","checkInDate","checkOutDate","checkOutTime","sleepProblem","sleepSolution","useAroma","travelWith","hotelName","roomNumber","mobileNumber","remarks","wellBeing","aromaStrength","safetyConcerns","wellnessPriority","visitReason","form_created_time","isChecked","setIsChecked","showSuccessPage","setShowSuccessPage","showLoadingPage","setShowLoadingPage","setRoomNumber","serialNumber","setSerialNumber","handleChange","SuccessPage","onConfirm","onCancel","inputRoomNumber","setInputRoomNumber","setLoading","roomToSerialMapping","rows","cell","fetchGoogleSheetData","serial","confirm","LoadingPage","onLoadingComplete","apiResponse","setApiResponse","isResultsVisible","setIsResultsVisible","countdown","setCountdown","buildApiFormData","getMinutes","utmChannel","utmUserns","apiFormData","handleApiRequest","handleAutoSchedule","schedulesData","utm_channel","checkoutDate","utcCheckoutDate","formatToHKTime","getFullYear","getMonth","padStart","getDate","getHours","getSeconds","getMilliseconds","hkTime","webhookPayload","utm_userns","checkin_datetime","checkout_datetime","isAsthma","errorData","updateRoomNumber","dataToSubmit","otherNationality","selectedValue","country","updatedTime","htmlFor","onMouseOver","onMouseOut","deleteButton","editButton","saveButton","modalButtons","toolbarButton","toolbarButton_red","toolbarButton_green","toolbarButton_yellow","toolbarButton_dark_blue","displayedData","setDisplayedData","setData","editingRow","setEditingRow","editedRow","setEditedRow","showDeleteModal","setShowDeleteModal","deleteEmail","setDeleteEmail","expiredData","setExpiredData","showExpired","setShowExpired","checkInToday","setCheckInToday","checkOutToday","setCheckOutToday","API_URL","AUTH_HEADER","fetchData","todayGMT8","getGMT8Date","formattedData","handleSaveEdit","handleBy","otherHandleBy","handleEdit","serialInput","setSerialInput","serialCode","setSerialCode","scheduleData","setScheduleData","setError","showAddSchedule","setShowAddSchedule","macAddress","newSchedule","setNewSchedule","dateStart","timeStart","dateEnd","timeEnd","aromaScent","aromaIntensity","handleScheduleInputChange","processedValue","numericValue","maxLength","generatedSerialCode","sortedData","listStyle","toLocaleString","scheduled_paramters","timezoneOffset","getTimezoneOffset","offsetHours","offsetMinutes","minWidth","button_red","apiCallInfo","dataContainer","gridTemplateColumns","itemGroup","serialNumberTitle","itemList","itemCard","googleSheetContainer","googleSheetRow","YourComponent","setResponse","searchStart","setSearchStart","searchEnd","setSearchEnd","lastApiCallTime","setLastApiCallTime","filteredData","setFilteredData","sheetData","setSheetData","callAPI","Serial_Number","localeCompare","sheetDataObj","RoomNumber","RoomType","BedType","SleepingMatMAC","DeviceMAC","WingAndView","Version","itemStartTime","itemEndTime","searchStartTime","searchEndTime","formatTime","timeStr","handleButtonClick","sheetRow","FreeGoogleSheetReadPublic","_data$","rowIndex","cellIndex","buttonStyle","whatsappStyle","messengerStyle","whatsappLink","messagerLink","SuppressedError","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","replacement","indexof","charat","begin","strlen","sizeof","column","character","characters","copy","lift","peek","alloc","dealloc","delimit","whitespace","escaping","commenter","identifier","output","prefixer","combine","compile","rules","rulesets","pseudo","declarations","atrule","variable","scanning","ampersand","reference","comment","ruleset","unitlessKeys","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","REACT_APP_SC_ATTR","SC_ATTR","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","theme","$","getDefaultProps","mixins","propTypes","caller","callee","arity","getOwnPropertySymbols","groupSizes","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","registerName","getTag","__webpack_nonce__","styleSheets","ownerNode","nodes","isServer","useCSSOMInjection","gs","server","registerId","rehydrate","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clearRules","clearTag","replaceAll","namespace","collection","shouldForwardProp","styleSheet","stylis","Ge","stylisPlugins","disableCSSOMInjection","enableVendorPrefixes","getName","isCss","styledComponentId","staticRulesId","componentId","baseHash","generateAndInjectStyles","et","rt","it","attrs","parentComponentId","componentStyle","foldedComponentIds","forwardedAs","_foldedDefaultProps","at","ct","lt","ut","withConfig","dt","ht","removeStyles","renderStyles","_emitSheetCSS","getStyleTags","sealed","getStyleElement","nonce","seal","collectStyles","interleaveWithNodeStream","Mt","$t","enter","exit","appendPosition","collapse","collapseDuration","preventExitTransition","nodeRef","isIn","playToast","zt","Bt","classList","Rt","onExited","Xt","genToastId","bt","hasContainers","isToastActive","mt","removeToast","containerId","toastId","nt","buildToast","toggle","Wt","autoClose","closeOnClick","draggable","success","dismiss","dark","clearWaitingQueue","clearQueue","getToast","toasts","vt","updateId","staleId","play","pause","Jt","GlobalStyle","Container","styled","div","Header","Logo","Controls","ModeSwitch","ModeButton","SyncStatus","Pulse","Main","main","MapContainer","CollapsibleMapFilter","collapsed","FilterToggleButton","FilterSection","FilterTitle","FilterOptions","FilterBadge","activeColor","isDragging","FloorPlan","zoomLevel","FloorLabel","Room","activeFloor","occupied","isHovered","RoomLabel","showLabel","RoomTooltip","DetailsPanel","DetailsHeader","DetailsTitle","RoomId","EmptyState","RoomDetails","DetailsSection","DetailsSectionTitle","StatusBadge","DataCard","DataRow","DataLabel","DataValue","Button","ChartContainer","ChartTitle","h3","RelaxationScoreContainer","RelaxationScoreTitle","RelaxationScore","FloorSelector","FloorButton","ZoomControls","ZoomButton","HelpButton","HelpOverlay","HelpContent","LoadingOverlay","LoadingSpinner","InitialHelpOverlay","InitialHelpCard","FloorGroupView","FloorCard","FloorCardHeader","FloorNumber","RoomCount","RoomPreview","RoomIndicator","ViewToggleButton","SleepReportButton","primary","SleepReportSection","ReportPreview","ReportTextArea","CopyButton","copied","UserNameInput","ReportLabel","ErrorContainer","LoadingIndicator","EmptyMessage","SchedulesList","ScheduleItem","InfoRow","isCompleted","Label","Value","ScentValue","LoadButton","DeviceControlPanel","h4","ControlPanelHeader","ControlGroupContainer","ControlGroupLabel","ControlFlexRow","FuturisticSelect","FuturisticInput","InputSuffix","ControlButton","ControlGrid","HideButton","HotelRoomStatusPage","_deviceMappings$selec","_deviceMappings$selec2","_deviceMappings$selec3","_deviceMappings$selec4","_deviceMappings$selec9","_deviceMappings$selec10","_deviceMappings$selec11","_deviceMappings$selec12","_selectedRoom$guestDe","_deviceMappings$selec13","setMode","rooms","setRooms","selectedRoom","setSelectedRoom","setTooltip","filters","setFilters","vacant","hotel","filterCollapsed","setFilterCollapsed","deviceMappings","setDeviceMappings","roomPositions","setRoomPositions","floorsList","setFloorsList","isLoadingSchedules","setIsLoadingSchedules","scheduleError","setScheduleError","showSchedules","setShowSchedules","selectedAroma","setSelectedAroma","intensityValue","setIntensityValue","isProcessing","setIsProcessing","loadingData","setLoadingData","setActiveFloor","setZoomLevel","mapPosition","setMapPosition","setIsDragging","dragStart","setDragStart","touchDistance","setTouchDistance","hoveredRoom","setHoveredRoom","showHelp","setShowHelp","showLabels","setShowLabels","showInitialHelp","setShowInitialHelp","useFloorGroupView","setUseFloorGroupView","sleepReport","setSleepReport","userName","setUserName","reportCopied","setReportCopied","showSleepReport","setShowSleepReport","setSleepData","filteredRooms","room","isOccupied","guestDetails","statusMatch","hotelMatch","roomFloor","floorMatch","autoAdjustInitialZoom","roomCount","handleMouseUp","selectFloor","mapRef","toggleFilterCollapse","generateRoomPositions","roomsData","floors","hotelNames","floorNumber","hotelsList","floorRooms","floorIndex","floorVerticalPosition","roomSize","localStorage","getItem","setItem","mappings","loadDeviceMappings","fetchDeviceSchedules","cachedData","sessionStorage","cacheTimestamp","fetchRoomData","initialLoad","toggleFilter","handleRoomMouseEnter","deviceInfo","tooltipText","handleRoomMouseLeave","handleRoomMouseMove","generateSleepReport","percentages","deep","light","rem","interruptions","reportDate","sleepScore","report","brAvg","sum","brVariance","brStdDev","Time_Adjusted_Relaxation","finalScore","fetchHealthDataForStayPeriod","formattedCheckInDate","filterDataByStayPeriod","viewBox","strokeLinecap","strokeLinejoin","onMouseDown","onMouseMove","dy","onMouseUp","onTouchMove","newDistance","onTouchEnd","handleTouchEnd","occupiedCount","vacantCount","handleZoomIn","handleZoomOut","handleReset","optimizedRoomsRenderer","displayRooms","getDisplayRooms","totalRooms","samplingRate","_roomPositions$room$h","roomKey","viewportWidth","viewportHeight","bufferFactor","_roomPositions$room$h2","forceRefreshSchedules","startDate","toLocaleDateString","startTimeStr","endDate","endTimeStr","aroma_type","schedule_id","_deviceMappings$selec5","toast","handleTurnAllOff","_deviceMappings$selec6","handleTurnBackOn","_deviceMappings$selec7","aroma","handleChangeAroma","_deviceMappings$selec8","handleChangeIntensity","guestName","prepareSleepReport","readOnly","copyReportToClipboard","clipboard","writeText","LogoImage","ProgressBar","ProgressStep","Content","ButtonContainer","fullWidth","BackButton","LanguageGrid","LanguageOption","Flag","LanguageName","VideoContainer","ResponsiveIframe","VideoDescription","ActivationForm","CodeInput","InputDigit","ErrorMessage","Spinner","SocialButtonsContainer","SocialButton","SocialIcon","SocialText","termsStyles","accentColor","icons","whatsapp","facebook","webapp","GlobalStyles","styleElement","PreventScroll","App","setStep","language","setLanguage","activationCode","setActivationCode","isVerifying","setIsVerifying","verificationError","setVerificationError","inputRefs","nextStep","prevStep","selectLanguage","handlePaste","pastedData","getData","newCode","verifyCode","codeString","customerId","texts","en","agree","termsAndConditions","continue","titles","videoDesc","activationDesc","socialButtons","icon","back","verify","verifying","ko","videoUrls","currentText","getSocialUrl","alt","stepTitle","renderContent","allow","allowFullScreen","handleCodeChange","onKeyDown","handleKeyDown","onPaste","backgroundOverlay","particlesContainer","particle","backdropFilter","logoContainer","logoCircle","logoText","subtitle","formContainer","inputGroup","inputWrapper","inputBorder","buttonLoading","spinnerContainer","spinner","successMessage","checkmark","checkmarkCircle","checkmarkCheck","securityNote","securityIcon","securityText","organisationID","setOrganisationID","adminID","setAdminID","setSuccess","showForm","setShowForm","matchedCredential","orgName","adminName","cred","animationDelay","backButton","verificationInfo","verificationText","verificationCode","setVerificationCode","showVerification","setShowVerification","setCurrentStep","checkPreviousLogin","previousLoginInfo","parsedInfo","handleInitialLogin","orgEmail","currentLoginInfo","browser","completeLogin","sendVerificationCode","credential","handleVerification","tempCredentialStr","tempCredential","loginInfo","removeItem","renderCurrentStep","loadingContainer","loadingText","sidebar","borderRight","brandName","menuContainer","menuItem","borderLeft","activeMenuItem","menuIcon","menuText","logoutContainer","mainContent","pageTitle","organizationName","welcomeText","userInfo","notification","notificationIcon","notificationBadge","userProfile","userAvatar","userDetails","userRole","dashboardContent","statCards","statCard","statTitle","statValue","statInfo","recentActivity","activityList","activityItem","activityTime","activityDetails","activityAction","activityInfo","quickActions","actionButtons","actionButton","actionIcon","actionText","orgId","adminId","orgData","setOrgData","activeTab","setActiveTab","fetchOrgData","matchedOrg","org","dashboardData","activeSessions","totalTreatments","todaysTreatments","upcomingBookings","therapyType","activity","errorContainer","errorTitle","errorText","errorButton","u8","u16","i32","Int32Array","fleb","fdeb","clim","freb","revfl","revfd","rev","hMap","co","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","ind","inflt","dat","buf","dict","noBuf","noSt","cbuf","nbuf","lm","dm","lbt","dbt","tbts","hLit","hcLen","ldt","clt","clb","clbmsk","clm","lms","dms","lpos","sym","dsym","dend","wbits","wbits16","hTree","i0","i1","i2","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","cli","cln","cls","clen","wfblk","out","wblk","syms","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","dflt","lvl","plvl","pre","lst","msk_1","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","ch_1","dif","maxn","maxd","mmd","lin","din","adler","dopt","dictionary","newDat","level","mem","wbytes","zlh","lv","zls","zlibSync","unzlibSync","TextDecoder","MouseEvent","createEvent","initMouseEvent","saveAs","HTMLAnchorElement","webkitURL","download","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","innerText","HTMLElement","safari","aliceblue","antiquewhite","aquamarine","azure","blanchedalmond","blueviolet","brown","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","pink","powderblue","purple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","springgreen","steelblue","teal","thistle","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","example","toRGB","toHex","atob","print","modify","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","publish","getTopics","objectNumber","gState","coords","boundingBox","xStep","yStep","cloneIndex","orientation","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","floatPrecision","defaultPathOperation","putOnlyUsedFonts","__private__","PubSub","getPdfVersion","setPdfVersion","a5","a6","a7","a8","a9","a10","b0","b3","b5","b6","b7","b8","b9","b10","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","saveGraphicsState","Vt","Rr","setFontSize","getFontSize","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","roundToPrecision","toFixed","hpf","f2","f3","setPrecision","getFileId","setFileId","convertDateToPDFDate","convertPDFDateToDate","setCreationDate","getCreationDate","padd2","tt","padd2Hex","ot","setCustomOutputDestination","resetCustomOutputDestination","ft","getArrayBuffer","getStandardFonts","gt","R2L","setR2L","getR2L","yt","wt","setZoomMode","getZoomMode","Nt","Lt","setPageMode","getPageMode","At","setLayoutMode","getLayoutMode","setDisplayMode","xt","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","St","Pt","kt","It","Ft","Ct","jt","Ot","Et","qt","Dt","Tt","Ut","hotfixes","Ht","_matrix","shx","sx","decompose","sy","shy","tx","ty","multiply","skew","inversed","applyToPoint","Cr","applyToRectangle","jr","Matrix","Gt","matrixMult","Yt","unitMatrix","identityMatrix","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","newObject","Kt","Zt","newObjectDeferred","newAdditionalObject","objId","Qt","decodeColorString","encodeColorString","ch1","ch2","ch3","ch4","pdfColorType","getFilters","putStream","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","putPages","isAlreadyPutted","postScriptName","encoding","pages","resourcesOid","objectOid","fontName","isStandardFont","metadata","pdfEscape","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","beginPage","pr","fr","Lr","kr","Ir","setPage","getNumberOfPages","disableWarning","noFallback","times","normal","putInfo","putCatalog","putTrailer","oid","putHeader","putXRef","buildDocument","toHexString","getBlob","foo","filename","pdfObjectUrl","pdfJsUrl","querySelector","PDFViewerApplication","getPageInfo","getPageInfoByObjId","getCurrentPageInfo","addPage","insertPage","movePage","deletePage","lineHeightFactor","lr","scaleFactor","TabLen","splitTextToSize","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","setCharSpace","getCharSpace","horizontalScale","renderingMode","usedRenderingMode","pageSize","getWidth","getStringUnitWidth","doKerning","yr","xr","clipEvenOdd","discardPath","isValidStyle","setDefaultPathOperation","er","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","nr","ir","or","setGState","sr","cr","ur","curveTo","triangle","roundedRect","circle","setFont","getFont","getFontList","addFont","dr","getLineWidth","setLineWidth","setLineDashPattern","gr","getLineHeight","mr","setLineHeightFactor","vr","getLineHeightFactor","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Ar","fillColor","getFillColor","setFillColor","Sr","getTextColor","setTextColor","Pr","CapJoinStyles","butt","but","miter","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","equals","addGState","setCurrentTransformationMatrix","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Er","beginFormObject","endFormObject","Mr","doFormObject","getFormObject","returnPromise","unload","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","getHeight","setHeight","encryptionOptions","getEncryptor","getPDFVersion","Point","Rectangle","hasHotfix","__acroform__","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","multiline","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","annotations","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","_scope","FT","getOptions","addOption","removeOption","combo","edit","CA","pushButton","radio","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","CheckBox","isInteger","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x4","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","Uint8ClampedArray","colorSpace","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","loadFile","alias","color_spaces","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","validateStringAsBase64","extractImageFromDataUrl","supportsArrayBuffer","Int8Array","Int16Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","imageData","compression","convertBase64ToBinaryString","getImageProperties","fileType","contents","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","getTextWidth","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","pdf","context2d","_canvas","__cell__","headerFunction","lastCell","setHeaderFunction","getTextDimensions","cellAddPage","tableHeaderRow","printHeaders","printHeaderRow","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","setTableHeaderRow","rowStart","cellStart","table_x","table_y","italic","oblique","stretch","fixed","monospace","terminal","cursive","fantasy","serif","menu","trimLeft","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","currentPoint","miterLimit","prevPageLastElemOffset","ignoreClearRect","fontFaces","defaultFontFamily","genericFontFamilies","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","isIdentity","counterclockwise","arcTo","ctxStack","isCanvasGradient","getColor","scaleX","autoPaging","posY","posX","deltas","colorStops","y4","prevLineDash","overrideMimeType","loadImageFile","DOMPurify","dompurify","sanitize","convert","template","setProgress","overlay","enableLinks","jsPDF","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","javascriptEnabled","onrendered","toContext2d","quality","outputImg","outputPdf","doCallback","setMargin","getPageSize","px","updateProgress","thenCore","thenExternal","catchExternal","using","export","run","worker","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","imgData","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","readUInt16","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","decodeFrames","createImageData","renderFrame","_timeout","stopAnimation","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","datav","DataView","is_with_alpha","bottom_up","flag","parseHeader","parseBGR","Ur","zr","Hr","Hn","Wn","Vn","Gn","Ed","Cd","RGBA","Sd","Tn","Sn","An","qn","Rn","Un","memory","$n","Gr","Wr","Vr","Zr","$r","Yr","En","Qr","tn","Dn","nn","xn","zn","rn","Xr","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Qn","Xn","Zn","Jn","Yn","Kn","_n","Kd","Ud","Gd","ga","put","Cn","Pn","kn","In","Fn","an","on","cn","un","hn","sn","dn","pn","gn","mn","vn","bn","yn","wn","Nn","Ln","Bn","jn","Mn","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","WebPDecodeRGBA","src_off","src_size","feature_flags","canvas_width","canvas_height","bgcolor","loop_count","offset_x","offset_y","dispose","blend","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","processBMP","processWEBP","processRGBA","languageSettings","isSubscribed","sq","hy","ast","az","eu","my","cv","cs","eo","fo","fy","fur","gu","hu","iu","km","ky","ms","mo","nv","no","om","qu","rm","ro","ru","sz","so","es","sw","tig","ts","hsb","vo","zu","languageCode","getCharWidthsArray","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","canvg","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","configuration","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","rawData","hmtx","unitsPerEm","cmap","unicode","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","os2","loca","glyf","exists","lineGap","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","__super__","file","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","isUnicode","old","new","subtable","maxGlyphID","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","selection","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","numGlyphs","languageID","nameID","strings","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","API_BASE_URL","emptyText","refreshButton","refreshIcon","refreshingSpin","refreshText","notificationMessage","notificationClose","treatmentsContent","comingSoonContent","comingSoonTitle","comingSoonText","treatmentsSection","sectionHeader","treatmentList","treatmentHeader","treatmentHeaderItem","treatmentItem","treatmentInfo","treatmentDate","treatmentTime","treatmentGuest","treatmentType","therapistName","treatmentStatus","statusScheduled","statusInProgress","statusCompleted","statusCancelled","viewMoreContainer","viewMoreButton","emptyState","modalOverlay","modalHeader","modalTitle","treatmentForm","formSection","formSectionTitle","formRow","formGroup","formGroupSmall","formGroupLarge","formLabel","formInput","formSelect","timeInputGroup","timeInput","timeAmPm","formActions","submitButton","timeSeparator","alignSelf","customTimeInput","settingsContent","settingsSection","settingsSectionTitle","settingsGroup","settingsLabel","settingsSelect","settingsHelp","settingsOptions","settingsOption","settingsSaveContainer","settingsSaveButton","treatmentsContainer","tableContainer","borderCollapse","tableHeader","tableRow","tableCell","statusBadge","cancelActionButton","quickCancelButton","restoreButton","confirmDialog","confirmTitle","confirmMessage","confirmWarning","confirmButtons","confirmCancelButton","confirmDeleteButton","formTextarea","warningBox","warningIcon","warningText","confirmNote","removeButton","accessCodesContainer","accessCodeIntro","accessCodeContentWrapper","treatmentSelectionPanel","accessCodePanel","accessSubtitle","treatmentListAccess","accessTreatmentItem","selectedTreatmentItem","accessTreatmentHeader","accessTreatmentDate","accessTreatmentTime","accessTreatmentContent","accessTreatmentGuest","accessTreatmentType","accessTreatmentDetails","selectedTreatmentDetails","detailsTitle","detailsContent","generateCodeButton","noSelectionMessage","accessCodeResult","codeTitle","codeDisplay","codeValue","codeExpiry","shareOptions","shareButton","shareIcon","clientIdBadge","warningText1","codeInfo","codeInfoText","customersContainer","filterSection","filterRow","filterGroup","filterLabel","filterSelect","appearance","filterInput","filterButtons","applyFilterButton","resetFilterButton","searchContainer","searchInput","customersTableContainer","customersTable","customerNameCell","customerIdBadge","contactInfoCell","emailInfo","phoneInfo","iconLabel","activationCell","activationDate","activationTime","treatmentCell","treatmentName","treatmentId","interactionsCell","interactionCount","lastActiveInfo","viewButton","exportButton","reportsContainer","reportFilters","selectedTreatmentInfo","selectedTreatmentTitle","detailItem","detailLabel","detailValue","generateReportButton","reportResultsContainer","reportHeader","reportTitle","reportActions","reportExportButton","reportShareButton","reportCards","reportCard","reportCardIcon","reportCardContent","reportCardTitle","reportCardValue","reportCardDescription","reportCharts","chartContainer","chartTitle","chartPlaceholder","chartIcon","chartText","reportSummary","reportSummaryTitle","reportSummaryText","noReportContainer","noReportIcon","noReportTitle","noReportDescription","noReportTips","visualRepresentation","visualTitle","visualContainer","scoreVisual","scoreCircleContainer","scoreCircleBackground","scoreCircleFill","scoreCircleInner","scoreValue","scoreLabel","scoreDescription","scoreText","metricItem","metricLabel","metricBarOuter","metricBarContainer","metricBarZones","metricBarZone","metricIndicator","metricIndicatorCircle","metricValue","metricScale","metricUnit","metricDescription","descriptionText","_cancelConfirmation$t","_cancelConfirmation$t2","_cancelConfirmation$t3","_cancelConfirmation$t4","_cancelConfirmation$t5","_deleteConfirmation$t","_deleteConfirmation$t2","_deleteConfirmation$t3","_deleteConfirmation$t4","userSettings","setUserSettings","displayFormat","dateFormat","setNotification","cancelConfirmation","setCancelConfirmation","cancelReason","setCancelReason","deleteConfirmation","setDeleteConfirmation","editModalOpen","setEditModalOpen","editingTreatment","setEditingTreatment","deletePassword","setDeletePassword","deletePasswordError","setDeletePasswordError","hasAdminPermission","setHasAdminPermission","hideNotification","handleSettingsChange","setting","updatedSettings","savedSettings","parsedSettings","showTreatmentModal","setShowTreatmentModal","newTreatment","setNewTreatment","guestFirstName","guestLastName","guestEmail","countryCode","phoneNumber","spaRoomNumber","startTimeHour","startTimeMinute","startTimeAmPm","isPregnant","hasRespiratoryConcerns","setDashboardData","treatments","setTreatments","statisticsLoading","setStatisticsLoading","treatmentsLoading","setTreatmentsLoading","refreshing","setRefreshing","accessCode","setAccessCode","accessCodeLoading","setAccessCodeLoading","activatedCustomers","setActivatedCustomers","customersLoading","setCustomersLoading","customerFilters","setCustomerFilters","customerSearch","setCustomerSearch","menuOpen","setMenuOpen","sidebarRef","fetchTreatmentStatistics","fetchRecentTreatments","updatedTreatments","localNow","activeSessionsCount","upcomingCount","sortedTreatments","updatedStatus","dateString","adjustedDate","formatDate","getStatusStyle","statusEnded","getStatusColor","formatStatus","handleTreatmentInputChange","handleEditTreatmentInputChange","handleEditTreatment","isoString","ampm","extractTimeFromISO","guestPhone","handleToggleTreatmentStatus","restoredBy","restoredAt","deletedBy","deletedAt","getTherapistId","calculatePrice","handleCancelPrompt","handleCloseCancelDialog","handleDeletePrompt","handleCloseDeleteDialog","fetchActivatedCustomers","queryParams","sortedCustomers","customers","lastActiveAt","handleFilterChange","handleClickOutside","selectedTreatmentId","setSelectedTreatmentId","selectedTreatmentNew","setSelectedTreatmentNew","setDeviceInfo","reportData","setReportData","reportLoading","setReportLoading","fetchDeviceMappings","orgRows","formatAPITimeToReadable","apiTimeStr","processTimeSeriesDataByStringCompare","startTimeOnly","endTimeOnly","timeFilteredData","itemTimeOnly","processDataArray","dayPart","dayFilteredData","timePoints","stats","heartRateStats","respiratoryRateStats","sampleTreatment","getScoreDescription","getHeartRateDescription","getRespirationDescription","getRecommendation","clientId","handleGenerateAccessCode","expiryTime","applyFilters","activeFilters","resetFilters","customer","searchLower","activatedAt","totalInteractions","handleTreatmentSelect","formattedDate","statusCode","bodyData","allRRData","allHRData","firstDataTime","lastDataTime","apiDatePart","treatmentEndTime","treatmentStartTime","startHour","startMinute","endHour","endMinute","treatmentStartStr","treatmentEndStr","processedRRData","processedHRData","processedData","respiratoryRate","heartRate","formattedReportData","totalSleep","avgHr","avgRr","sampleTag","exportReportPdf","hrDescription","hrLines","rrDescription","rrLines","scoreLines","recommendation","recLines","recommendationsSection","recommendationsTitle","recommendationsList","recommendationItem","sampleDisclaimer","sampleDisclaimerIcon","sampleDisclaimerText","hour24","localISOString","localDate","startTimeISO","endTimeISO","dateYYYYMMDD","price","treatmentData","therapistId","notes","updatedAt","updatedBy","cancelledBy","cancelledAt","AuthProvider","setUser","userData","ProtectedRoute","requiredRole","ConnectionCheckinPage","ConnectionPublicPage","OrgLoginPage","DoubleOrgLoginPage","NewAmbassadorCheckInPage","TempAmbassadorCheckInPage","SpaSystemGuestPage","BigScreenAdmin","GoogleTrial","H11_25_DB","S38_89_DB","AdminPage","AutoSchedulingPage","NewAutoSchedulingPage","AmbassadorCheckInAdminPage","DeviceMapStatusPage","ReactDOM"],"sourceRoot":""}