{"version":3,"file":"my-pages-client.js","mappings":"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,YACD,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC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ACA,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,GAEEmvD,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7D7wD,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,KAGE+mD,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE67B,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DhxE,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEq/C,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAC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MACb,IAAI6B,EAAW,EAAGA,GAAY67B,IAAO77B,EACxCssD,EAAU9vD,GACZ2B,GAAsB,GAExB2L,EAAM,MAAQpO,EAAGmD,GACjBytD,EAAU7vD,GAAM0B,GAAY,GAAKD,EAAS4L,KAC1CwiD,EAAUhtD,EAAQwK,IAClBjL,GAAA,QA5CQ,IA8CNT,GACFkuD,EAAU8d,GAELxxD,CAAA,UA8HAyrE,EAAW9nF,GAClBA,EAAU4E,KAAKyT,IAAIzT,KAAKC,IAAI7E,EAAS,GAAI,KAErCuN,GAAkBvN,IAAA,SA1qBCA,GAAA,QACnBoB,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOib,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBlc,EAAI0tE,GAAQzsE,EAAIib,GAAKrc,EAAK,IAAM,KACpCG,EAAIyE,KAAKyT,IAAIzT,KAAKC,IAAI1E,EAAG,GAAI,KAC7BF,EAAOmS,EAAOiK,IAAMlc,CAAA,SAElBD,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEOqN,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBxK,EAAI8qE,G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EAAI+F,KAAKkkB,IAAI9oB,EAAE24G,IACfx5G,EAAIN,GAAKoB,EAAI,GAAK4tE,EACpBzsE,GAAK8Q,GAAKjS,EAAI,GAAK4tE,GAAK7tE,EAAE04G,GAC1Bt3G,GAAKsC,GAAKX,EAAI,GAAK4Q,GAAK3T,EAAEy4G,GAE1Br3G,GADAA,GAAKO,GAAKoB,EAAI,GAAK4Q,GAAK3T,EAAEw4G,IACjBtmG,GAAK27D,EAAMnqE,GAAKiQ,EAAMhS,GAAKgS,EACpCvS,GAAK,MAAQpB,EAAE4B,EACfR,GAAK,MAAQpB,EAAE2B,EACfP,GAAK,MAAQpB,EAAEs4G,GAAA,IACTp4G,IAAOkB,GAAKvC,GAAKgvE,EAAKzsE,GAAKjC,GAAKa,EAAEu4G,GAAMn3G,GAAK,MAAQpB,EAAEsS,EAAA,MAE5DlR,EAAI,EACTpB,EAAIoB,EAAI,EAAI,UAGZ,GAAKpB,GAAA,MACDqc,GAAKA,EAAEwyD,KAAO7uE,EAAI8+F,GAAG3+F,IADVH,CAAA,KAIjB4+F,GAAK,GACPtX,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFuX,GAAK,GACL2Y,GAAK,GACLC,GAAK,EACLC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJl0C,EAAE,aAAc,iBAChBxjE,EAAK0pH,WAAa,kBACT,YAET1pH,EAAK2pH,WAAa,SAAS3pH,GAAA,OAClBA,CAAA,EAETA,EAAK4pH,WAAa,SAAS5pH,EAAGoB,EAAGib,GAAA,OACxBjb,EAAEib,EAAI,IAEfrc,EAAK6pH,WAAa,SAAS7pH,EAAGoB,EAAGib,GAAA,OACxBjb,EAAEib,EAAI,IAEfrc,EAAK8pH,WAAa,SAAS9pH,EAAGoB,EAAGib,GAAA,OACxBjb,EAAEib,EAAI,IAEfrc,EAAK+pH,WAAa,SAAS/pH,EAAGoB,EAAGib,GAAA,OACxB9J,EAAGA,EAAGvS,EAAGoB,EAAE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E,KACPi5G,GAAKj5G,EAAE,MACPk5G,GAAKl5G,EAAE,KACPm5G,GAAKn5G,EAAE,KACP+4G,GAAK,EACL8B,GAAK5B,GACLniB,GAAKoiB,GACL0B,GAAIzB,GACJ2B,GAAI9B,GACJpJ,GAAK,EACLvC,GAAK,EACL0C,GAAK,EACLzC,GAAK,EACLN,GAAK,EACLO,GAAK,EACL4C,GAAK,EACLzF,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLgH,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,IACpEnD,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,KAEFiD,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFznC,GAAK,EACLquC,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,IA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IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,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,CAC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nB92H,EAAYD,EAAQg3H,YACpBrjH,EAAuB3T,EAAQi3H,oBAAA,OAI9BT,eAAezzB,WAAW/iG,GACxBL,KAAK62H,cAAA,MAGVp1H,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,EAAMw2H,eAAe,CAAEK,eAAA,IAoC5C72H,EAAMmxF,IAAImO,OAAO78F,KAAK,CAAC,kBAlCE,SAASzC,GAAA,IAC5BoB,EAAOpB,EAAKq6B,KAGZl6B,GAFIH,EAAKwD,EACLxD,EAAK4B,EACC5B,EAAKsO,SAAW,CAAC,GAG3BpO,GAFQF,EAAKq4F,MACNl4F,EAAQ04F,KACL,OAEd14F,EAAQ02H,cAC2B,kBAA1B12H,EAAQ02H,eAA8B12H,EAAQ02H,cACvDx6G,EAAW0mF,WAAW5iG,GAEuB,mBAAzCpB,OAAOK,UAAU2yB,SAASzyB,KAAK8B,GAA4B,KACzDmM,EAAI,MACRrN,EAAU,GACLqN,EAAI,EAAGA,EAAInM,EAAKf,OAAQkN,GAAK,EACgB,mBAA5CxO,OA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","sources":["../../dtv-shared/node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../../dtv-shared/node_modules/html2canvas/node_modules/src/Util.ts","../../dtv-shared/node_modules/src/css/layout/bounds.ts","../../dtv-shared/node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../../dtv-shared/node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../../dtv-shared/node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../../dtv-shared/node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../../dtv-shared/node_modules/html2canvas/node_modules/src/LineBreak.ts","../../dtv-shared/node_modules/src/css/syntax/tokenizer.ts","../../dtv-shared/node_modules/src/css/syntax/parser.ts","../../dtv-shared/node_modules/src/css/types/length.ts","../../dtv-shared/node_modules/src/css/types/length-percentage.ts","../../dtv-shared/node_modules/src/css/types/angle.ts","../../dtv-shared/node_modules/src/css/types/color.ts","../../dtv-shared/node_modules/src/css/property-descriptors/background-clip.ts","../../dtv-shared/node_modules/src/css/property-descriptors/background-color.ts","../../dtv-shared/node_modules/src/css/types/functions/gradient.ts","../../dtv-shared/node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../../dtv-shared/node_modules/src/css/types/functions/radial-gradient.ts","../../dtv-shared/node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../../dtv-shared/node_modules/src/css/types/image.ts","../../dtv-shared/node_modules/src/css/property-descriptors/background-size.ts","../../dtv-shared/node_modules/src/css/types/functions/linear-gradient.ts","../../dtv-shared/node_modules/src/css/types/functions/-webkit-gradient.ts","../../dtv-shared/node_modules/src/css/property-descriptors/background-image.ts","../../dtv-shared/node_modules/src/css/property-descriptors/background-origin.ts","../../dtv-shared/node_modules/src/css/property-descriptors/background-position.ts","../../dtv-shared/node_modules/src/css/property-descriptors/background-repeat.ts","../../dtv-shared/node_modules/src/css/property-descriptors/line-break.ts","../../dtv-shared/node_modules/src/css/property-descriptors/border-color.ts","../../dtv-shared/node_modules/src/css/property-descriptors/border-radius.ts","../../dtv-shared/node_modules/src/css/property-descriptors/border-style.ts","../../dtv-shared/node_modules/src/css/property-descriptors/border-width.ts","../../dtv-shared/node_modules/src/css/property-descriptors/color.ts","../../dtv-shared/node_modules/src/css/property-descriptors/direction.ts","../../dtv-shared/node_modules/src/css/property-descriptors/display.ts","../../dtv-shared/node_modules/src/css/property-descriptors/float.ts","../../dtv-shared/node_modules/src/css/property-descriptors/letter-spacing.ts","../../dtv-shared/node_modules/src/css/property-descriptors/word-break.ts","../../dtv-shared/node_modules/src/css/property-descriptors/line-height.ts","../../dtv-shared/node_modules/src/css/property-descriptors/list-style-image.ts","../../dtv-shared/node_modules/src/css/property-descriptors/list-style-position.ts","../../dtv-shared/node_modules/src/css/property-descriptors/list-style-type.ts","../../dtv-shared/node_modules/src/css/property-descriptors/margin.ts","../../dtv-shared/node_modules/src/css/property-descriptors/overflow.ts","../../dtv-shared/node_modules/src/css/property-descriptors/overflow-wrap.ts","../../dtv-shared/node_modules/src/css/property-descriptors/padding.ts","../../dtv-shared/node_modules/src/css/property-descriptors/text-align.ts","../../dtv-shared/node_modules/src/css/property-descriptors/position.ts","../../dtv-shared/node_modules/src/css/property-descriptors/text-shadow.ts","../../dtv-shared/node_modules/src/css/property-descriptors/text-transform.ts","../../dtv-shared/node_modules/src/css/property-descriptors/transform.ts","../../dtv-shared/node_modules/src/css/property-descriptors/transform-origin.ts","../../dtv-shared/node_modules/src/css/property-descriptors/visibility.ts","../../dtv-shared/node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../../dtv-shared/node_modules/src/css/property-descriptors/z-index.ts","../../dtv-shared/node_modules/src/css/types/time.ts","../../dtv-shared/node_modules/src/css/property-descriptors/opacity.ts","../../dtv-shared/node_modules/src/css/property-descriptors/text-decoration-color.ts","../../dtv-shared/node_modules/src/css/property-descriptors/text-decoration-line.ts","../../dtv-shared/node_modules/src/css/property-descriptors/font-family.ts","../../dtv-shared/node_modules/src/css/property-descriptors/font-size.ts","../../dtv-shared/node_modules/src/css/property-descriptors/font-weight.ts","../../dtv-shared/node_modules/src/css/property-descriptors/font-variant.ts","../../dtv-shared/node_modules/src/css/property-descriptors/font-style.ts","../../dtv-shared/node_modules/src/core/bitwise.ts","../../dtv-shared/node_modules/src/css/property-descriptors/content.ts","../../dtv-shared/node_modules/src/css/property-descriptors/counter-increment.ts","../../dtv-shared/node_modules/src/css/property-descriptors/counter-reset.ts","../../dtv-shared/node_modules/src/css/property-descriptors/duration.ts","../../dtv-shared/node_modules/src/css/property-descriptors/quotes.ts","../../dtv-shared/node_modules/src/css/property-descriptors/box-shadow.ts","../../dtv-shared/node_modules/src/css/property-descriptors/paint-order.ts","../../dtv-shared/node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../../dtv-shared/node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../../dtv-shared/node_modules/src/css/index.ts","../../dtv-shared/node_modules/src/core/debugger.ts","../../dtv-shared/node_modules/src/dom/element-container.ts","../../dtv-shared/node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../../dtv-shared/node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../../dtv-shared/node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../../dtv-shared/node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../../dtv-shared/node_modules/src/dom/document-cloner.ts","../../dtv-shared/node_modules/src/core/features.ts","../../dtv-shared/node_modules/src/css/layout/text.ts","../../dtv-shared/node_modules/src/dom/text-container.ts","../../dtv-shared/node_modules/src/dom/replaced-elements/image-element-container.ts","../../dtv-shared/node_modules/src/dom/replaced-elements/canvas-element-container.ts","../../dtv-shared/node_modules/src/dom/replaced-elements/svg-element-container.ts","../../dtv-shared/node_modules/src/dom/elements/li-element-container.ts","../../dtv-shared/node_modules/src/dom/elements/ol-element-container.ts","../../dtv-shared/node_modules/src/dom/replaced-elements/input-element-container.ts","../../dtv-shared/node_modules/src/dom/elements/select-element-container.ts","../../dtv-shared/node_modules/src/dom/elements/textarea-element-container.ts","../../dtv-shared/node_modules/src/dom/replaced-elements/iframe-element-container.ts","../../dtv-shared/node_modules/src/dom/node-parser.ts","../../dtv-shared/node_modules/src/css/types/functions/counter.ts","../../dtv-shared/node_modules/src/render/bound-curves.ts","../../dtv-shared/node_modules/src/core/cache-storage.ts","../../dtv-shared/node_modules/src/render/vector.ts","../../dtv-shared/node_modules/src/render/bezier-curve.ts","../../dtv-shared/node_modules/src/render/effects.ts","../../dtv-shared/node_modules/src/render/path.ts","../../dtv-shared/node_modules/src/render/stacking-context.ts","../../dtv-shared/node_modules/src/render/border.ts","../../dtv-shared/node_modules/src/render/box-sizing.ts","../../dtv-shared/node_modules/src/render/background.ts","../../dtv-shared/node_modules/src/core/util.ts","../../dtv-shared/node_modules/src/render/font-metrics.ts","../../dtv-shared/node_modules/src/render/renderer.ts","../../dtv-shared/node_modules/src/render/canvas/canvas-renderer.ts","../../dtv-shared/node_modules/src/render/canvas/foreignobject-renderer.ts","../../dtv-shared/node_modules/src/core/logger.ts","../../dtv-shared/node_modules/src/core/context.ts","../../dtv-shared/node_modules/src/index.ts","../../dtv-shared/node_modules/html2pdf.js/dist/html2pdf.js","../../dtv-shared/node_modules/fflate/esm/browser.js","../../dtv-shared/node_modules/jspdf/src/libs/globalObject.js","../../dtv-shared/node_modules/jspdf/src/libs/console.js","../../dtv-shared/node_modules/jspdf/src/libs/FileSaver.js","../../dtv-shared/node_modules/jspdf/src/libs/AtobBtoa.js","../../dtv-shared/node_modules/jspdf/src/libs/rgbcolor.js","../../dtv-shared/node_modules/jspdf/src/libs/md5.js","../../dtv-shared/node_modules/jspdf/src/libs/rc4.js","../../dtv-shared/node_modules/jspdf/src/libs/pdfsecurity.js","../../dtv-shared/node_modules/jspdf/src/libs/pdfname.js","../../dtv-shared/node_modules/jspdf/src/jspdf.js","../../dtv-shared/node_modules/jspdf/src/modules/acroform.js","../../dtv-shared/node_modules/jspdf/src/libs/fontFace.js","../../dtv-shared/node_modules/jspdf/src/modules/addimage.js","../../dtv-shared/node_modules/jspdf/src/modules/annotations.js","../../dtv-shared/node_modules/jspdf/src/modules/arabic.js","../../dtv-shared/node_modules/jspdf/src/modules/autoprint.js","../../dtv-shared/node_modules/jspdf/src/modules/canvas.js","../../dtv-shared/node_modules/jspdf/src/modules/cell.js","../../dtv-shared/node_modules/jspdf/src/modules/javascript.js","../../dtv-shared/node_modules/jspdf/src/modules/fileloading.js","../../dtv-shared/node_modules/jspdf/src/modules/context2d.js","../../dtv-shared/node_modules/jspdf/src/modules/filters.js","../../dtv-shared/node_modules/jspdf/src/modules/html.js","../../dtv-shared/node_modules/jspdf/src/modules/outline.js","../../dtv-shared/node_modules/jspdf/src/modules/jpeg_support.js","../../dtv-shared/node_modules/jspdf/src/libs/png.js","../../dtv-shared/node_modules/jspdf/src/modules/split_text_to_size.js","../../dtv-shared/node_modules/jspdf/src/libs/omggif.js","../../dtv-shared/node_modules/jspdf/src/libs/JPEGEncoder.js","../../dtv-shared/node_modules/jspdf/src/libs/BMPDecoder.js","../../dtv-shared/node_modules/jspdf/src/libs/WebPDecoder.js","../../dtv-shared/node_modules/jspdf/src/modules/png_support.js","../../dtv-shared/node_modules/jspdf/src/modules/gif_support.js","../../dtv-shared/node_modules/jspdf/src/modules/bmp_support.js","../../dtv-shared/node_modules/jspdf/src/modules/webp_support.js","../../dtv-shared/node_modules/jspdf/src/modules/rgba_support.js","../../dtv-shared/node_modules/jspdf/src/modules/setlanguage.js","../../dtv-shared/node_modules/jspdf/src/modules/standard_fonts_metrics.js","../../dtv-shared/node_modules/jspdf/src/modules/ttfsupport.js","../../dtv-shared/node_modules/jspdf/src/modules/svg.js","../../dtv-shared/node_modules/jspdf/src/modules/total_pages.js","../../dtv-shared/node_modules/jspdf/src/modules/viewerpreferences.js","../../dtv-shared/node_modules/jspdf/src/modules/xmp_metadata.js","../../dtv-shared/node_modules/jspdf/src/modules/utf8.js","../../dtv-shared/node_modules/jspdf/src/modules/vfs.js","../../dtv-shared/node_modules/jspdf/src/libs/bidiEngine.js","../../dtv-shared/node_modules/jspdf/src/libs/ttffont.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/locale/sv.js","../node_modules/dayjs/plugin/duration.js","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/timezone.js","../node_modules/dayjs/plugin/utc.js","../node_modules/overmind/node_modules/is-plain-obj/index.js","../node_modules/page/page.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/reflect-metadata/Reflect.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/void-elements/index.js","../../dtv-shared/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","../node_modules/proxy-state-tree/src/Proxyfier.ts","../node_modules/proxy-state-tree/src/MutationTree.ts","../node_modules/proxy-state-tree/src/TrackStateTree.ts","../node_modules/proxy-state-tree/src/index.ts","../node_modules/overmind/src/internalTypes.ts","../node_modules/overmind/src/derived.ts","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/betsy/src/index.ts","../node_modules/overmind/src/rehydrate.ts","../node_modules/overmind/src/Devtools.ts","../node_modules/overmind/src/proxyfyEffects.ts","../node_modules/overmind/src/statemachine.ts","../node_modules/overmind/src/utils.ts","../node_modules/overmind/src/Overmind.ts","../node_modules/overmind/src/index.ts","../node_modules/overmind-react/src/index.ts","../node_modules/overmind/src/config/merge.ts","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/useTranslation.js","../../dtv-shared/src/components/preloader/DtvPreloader.tsx","../../dtv-shared/src/components/preloader/DtvPreloaderCaption.tsx","../../dtv-shared/src/components/preloader/DtvPreloaderWrapper.tsx","../../dtv-shared/src/components/icons/svg/BankIDIcon.tsx","../../dtv-shared/src/components/icons/svg/20x20_checkbox_indeterminate_filled.svg","../../dtv-shared/src/components/icons/svg/20x20_checkbox_indeterminate_outline.svg","../../dtv-shared/src/components/icons/svg/20x20_checkbox_selected_filled.svg","../../dtv-shared/src/components/icons/svg/20x20_checkbox_selected_outline.svg","../../dtv-shared/src/components/icons/svg/20x20_checkbox_unselected.svg","../../dtv-shared/src/components/icons/svg/20x20_checkmark_centered_normal.svg","../../dtv-shared/src/components/icons/svg/20x20_checkmark_centered_thin.svg","../../dtv-shared/src/components/icons/svg/20x20_checkmark_normal.svg","../../dtv-shared/src/components/icons/svg/20x20_checkmark_thin.svg","../../dtv-shared/src/components/icons/svg/20x20_dokument.svg","../../dtv-shared/src/components/icons/svg/20x20_dropdown_karta.svg","../../dtv-shared/src/components/icons/svg/20x20_dropdown_klocka.svg","../../dtv-shared/src/components/icons/svg/20x20_dropdown_kompass_fylld.svg","../../dtv-shared/src/components/icons/svg/20x20_dropdown_kompass_kontur.svg","../../dtv-shared/src/components/icons/svg/20x20_dropdown_sprak.svg","../../dtv-shared/src/components/icons/svg/20x20_historik.svg","../../dtv-shared/src/components/icons/svg/20x20_inbox.svg","../../dtv-shared/src/components/icons/svg/20x20_info.svg","../../dtv-shared/src/components/icons/svg/20x20_kalender.svg","../../dtv-shared/src/components/icons/svg/20x20_klocka.svg","../../dtv-shared/src/components/icons/svg/20x20_mail.svg","../../dtv-shared/src/components/icons/svg/20x20_mini_klocka.svg","../../dtv-shared/src/components/icons/svg/20x20_mini_pin.svg","../../dtv-shared/src/components/icons/svg/20x20_minus-cirkel.svg","../../dtv-shared/src/components/icons/svg/20x20_mobilmeny_minasidor.svg","../../dtv-shared/src/components/icons/svg/20x20_mobilmeny_sok.svg","../../dtv-shared/src/components/icons/svg/20x20_mobilmeny_sprak.svg","../../dtv-shared/src/components/icons/svg/20x20_navigering.svg","../../dtv-shared/src/components/icons/svg/20x20_penna.svg","../../dtv-shared/src/components/icons/svg/20x20_pin.svg","../../dtv-shared/src/components/icons/svg/20x20_plus-cirkel.svg","../../dtv-shared/src/components/icons/svg/20x20_radiobutton_selected.svg","../../dtv-shared/src/components/icons/svg/20x20_radiobutton_unselected.svg","../../dtv-shared/src/components/icons/svg/20x20_sok.svg","../../dtv-shared/src/components/icons/svg/20x20_telefon.svg","../../dtv-shared/src/components/icons/svg/40x40_akut.svg","../../dtv-shared/src/components/icons/svg/40x40_byta.svg","../../dtv-shared/src/components/icons/svg/40x40_cirkel_alert_fet.svg","../../dtv-shared/src/components/icons/svg/40x40_cirkel_alert_tunn.svg","../../dtv-shared/src/components/icons/svg/40x40_cirkel_bock_fet.svg","../../dtv-shared/src/components/icons/svg/40x40_cirkel_bock_tunn.svg","../../dtv-shared/src/components/icons/svg/40x40_cirkel_utropstecken_fet.svg","../../dtv-shared/src/components/icons/svg/40x40_cirkel_utropstecken_tunn.svg","../../dtv-shared/src/components/icons/svg/40x40_erbjudande-splash.svg","../../dtv-shared/src/components/icons/svg/40x40_erbjudande-tag.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_filter.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_kalender.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_klocka.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_mail.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_minasidor.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_navigering.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_sok.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_sprak.svg","../../dtv-shared/src/components/icons/svg/40x40_fet_telefon.svg","../../dtv-shared/src/components/icons/svg/40x40_filter.svg","../../dtv-shared/src/components/icons/svg/40x40_historik.svg","../../dtv-shared/src/components/icons/svg/40x40_inbox.svg","../../dtv-shared/src/components/icons/svg/40x40_info.svg","../../dtv-shared/src/components/icons/svg/40x40_installningar-globala.svg","../../dtv-shared/src/components/icons/svg/40x40_installningar-personliga.svg","../../dtv-shared/src/components/icons/svg/40x40_kalender-31.svg","../../dtv-shared/src/components/icons/svg/40x40_kalender-check.svg","../../dtv-shared/src/components/icons/svg/40x40_karta.svg","../../dtv-shared/src/components/icons/svg/40x40_klinik.svg","../../dtv-shared/src/components/icons/svg/40x40_mail.svg","../../dtv-shared/src/components/icons/svg/40x40_mina-barn.svg","../../dtv-shared/src/components/icons/svg/40x40_mina-sidor.svg","../../dtv-shared/src/components/icons/svg/40x40_navigering.svg","../../dtv-shared/src/components/icons/svg/40x40_paket.svg","../../dtv-shared/src/components/icons/svg/40x40_penna.svg","../../dtv-shared/src/components/icons/svg/40x40_pratbubbla.svg","../../dtv-shared/src/components/icons/svg/40x40_sista-minuten.svg","../../dtv-shared/src/components/icons/svg/40x40_sok.svg","../../dtv-shared/src/components/icons/svg/40x40_some_facebook.svg","../../dtv-shared/src/components/icons/svg/40x40_some_instagram.svg","../../dtv-shared/src/components/icons/svg/40x40_some_linkedin.svg","../../dtv-shared/src/components/icons/svg/40x40_some_tiktok.svg","../../dtv-shared/src/components/icons/svg/40x40_some_twitter.svg","../../dtv-shared/src/components/icons/svg/40x40_some_youtube.svg","../../dtv-shared/src/components/icons/svg/40x40_sprak.svg","../../dtv-shared/src/components/icons/svg/40x40_telefon.svg","../../dtv-shared/src/components/icons/svg/40x40_uppdatera.svg","../../dtv-shared/src/components/icons/svg/40x40_varva-en-kompis.svg","../../dtv-shared/src/components/icons/svg/40x40_vinkning.svg","../../dtv-shared/src/components/icons/svg/100x100_paket_banner.svg","../../dtv-shared/src/components/icons/svg/100x100_sista-minuten_banner.svg","../../dtv-shared/src/components/icons/svg/100x100_uppdatera_banner.svg","../../dtv-shared/src/components/icons/svg/150x150_akut.svg","../../dtv-shared/src/components/icons/svg/150x150_kalender-31.svg","../../dtv-shared/src/components/icons/svg/150x150_klinik.svg","../../dtv-shared/src/components/icons/svg/150x150_paket.svg","../../dtv-shared/src/components/icons/svg/150x150_penna.svg","../../dtv-shared/src/components/icons/svg/150x150_pratbubbla.svg","../../dtv-shared/src/components/icons/svg/150x150_sista-minuten.svg","../../dtv-shared/src/components/icons/svg/150x150_telefon.svg","../../dtv-shared/src/components/icons/svg/boka_fylld.svg","../../dtv-shared/src/components/icons/svg/boka_konturerad.svg","../../dtv-shared/src/components/icons/svg/pin_map.svg","../../dtv-shared/src/components/icons/svg/regionstockholm.svg","../../dtv-shared/src/components/icons/svg/stanga_desktop.svg","../../dtv-shared/src/components/icons/svg/stanga_mobil.svg","../../dtv-shared/src/components/icons/svg/stjarna.svg","../../dtv-shared/src/components/icons/svg/stanga.svg","../../dtv-shared/src/components/icons/svg/InboxEmpty.svg","../../dtv-shared/src/components/icons/svg/info_without_space.svg","../../dtv-shared/src/components/icons/svg/WarningWithoutSpace.svg","../../dtv-shared/src/components/icons/svg/CirkelikonCheck.svg","../../dtv-shared/src/components/icons/svg/40x40_mina-sidor-v2.svg","../../dtv-shared/src/components/icons/DtvIcon.tsx","../../dtv-shared/src/components/buttons/DtvButton.tsx","components/general/Card.tsx","components/general/NotificationCard.tsx","../../dtv-shared/src/components/modals/DtvModal.tsx","../../dtv-shared/src/components/modals/DtvModalFullScreenWithTopCloser.tsx","../../dtv-shared/src/components/modals/DtvModalCloser.tsx","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../dtv-shared/src/components/dangerously-set-html-content/DangerouslySetHtmlContent.tsx","components/journal/PaymentModal.tsx","components/main-menu/MainMenuItem.tsx","components/main-menu/MainMenu.tsx","components/general/LanguageToggle.tsx","../../dtv-shared/src/functions/validation.ts","../../dtv-shared/src/functions/strings.ts","../../dtv-shared/src/functions/date.ts","../node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js","../node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js","../../dtv-shared/node_modules/src/enums/transformation-type.enum.ts","../../dtv-shared/node_modules/src/MetadataStorage.ts","../../dtv-shared/node_modules/src/storage.ts","../../dtv-shared/node_modules/src/decorators/transform.decorator.ts","../../dtv-shared/node_modules/src/decorators/type.decorator.ts","../../dtv-shared/node_modules/src/TransformOperationExecutor.ts","../../dtv-shared/node_modules/src/utils/is-promise.util.ts","../../dtv-shared/node_modules/src/utils/get-global.util.ts","../../dtv-shared/node_modules/src/constants/default-options.constant.ts","../../dtv-shared/node_modules/src/ClassTransformer.ts","../../dtv-shared/src/api/my-pages/models/PatientSettings.ts","../../dtv-shared/src/api/my-pages/models/ClinicArea.ts","../../dtv-shared/src/api/my-pages/models/Clinic.ts","../../dtv-shared/src/api/my-pages/models/Employee.ts","../../dtv-shared/src/api/my-pages/models/PatientListingStatus.ts","../../dtv-shared/src/api/my-pages/models/Patient.ts","../../dtv-shared/src/functions/arrays.ts","../../dtv-shared/node_modules/axios/lib/helpers/bind.js","../../dtv-shared/node_modules/axios/lib/utils.js","../../dtv-shared/node_modules/axios/lib/core/AxiosError.js","../../dtv-shared/node_modules/axios/lib/helpers/toFormData.js","../../dtv-shared/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../dtv-shared/node_modules/axios/lib/helpers/buildURL.js","../../dtv-shared/node_modules/axios/lib/core/InterceptorManager.js","../../dtv-shared/node_modules/axios/lib/defaults/transitional.js","../../dtv-shared/node_modules/axios/lib/platform/browser/index.js","../../dtv-shared/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../dtv-shared/node_modules/axios/lib/platform/browser/classes/FormData.js","../../dtv-shared/node_modules/axios/lib/platform/browser/classes/Blob.js","../../dtv-shared/node_modules/axios/lib/platform/common/utils.js","../../dtv-shared/node_modules/axios/lib/platform/index.js","../../dtv-shared/node_modules/axios/lib/helpers/formDataToJSON.js","../../dtv-shared/node_modules/axios/lib/defaults/index.js","../../dtv-shared/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../dtv-shared/node_modules/axios/lib/helpers/parseHeaders.js","../../dtv-shared/node_modules/axios/lib/core/AxiosHeaders.js","../../dtv-shared/node_modules/axios/lib/core/transformData.js","../../dtv-shared/node_modules/axios/lib/cancel/isCancel.js","../../dtv-shared/node_modules/axios/lib/cancel/CanceledError.js","../../dtv-shared/node_modules/axios/lib/core/settle.js","../../dtv-shared/node_modules/axios/lib/helpers/speedometer.js","../../dtv-shared/node_modules/axios/lib/helpers/throttle.js","../../dtv-shared/node_modules/axios/lib/helpers/progressEventReducer.js","../../dtv-shared/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../dtv-shared/node_modules/axios/lib/helpers/cookies.js","../../dtv-shared/node_modules/axios/lib/core/buildFullPath.js","../../dtv-shared/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../dtv-shared/node_modules/axios/lib/helpers/combineURLs.js","../../dtv-shared/node_modules/axios/lib/core/mergeConfig.js","../../dtv-shared/node_modules/axios/lib/helpers/resolveConfig.js","../../dtv-shared/node_modules/axios/lib/adapters/xhr.js","../../dtv-shared/node_modules/axios/lib/helpers/parseProtocol.js","../../dtv-shared/node_modules/axios/lib/helpers/composeSignals.js","../node_modules/@babel/runtime/helpers/esm/OverloadYield.js","../node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js","../node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js","../node_modules/@babel/runtime/helpers/esm/asyncIterator.js","../../dtv-shared/node_modules/axios/lib/helpers/trackStream.js","../../dtv-shared/node_modules/axios/lib/adapters/fetch.js","../../dtv-shared/node_modules/axios/lib/adapters/adapters.js","../../dtv-shared/node_modules/axios/lib/helpers/null.js","../../dtv-shared/node_modules/axios/lib/core/dispatchRequest.js","../../dtv-shared/node_modules/axios/lib/env/data.js","../../dtv-shared/node_modules/axios/lib/helpers/validator.js","../../dtv-shared/node_modules/axios/lib/core/Axios.js","../../dtv-shared/node_modules/axios/lib/cancel/CancelToken.js","../../dtv-shared/node_modules/axios/lib/helpers/HttpStatusCode.js","../../dtv-shared/node_modules/axios/lib/axios.js","../../dtv-shared/node_modules/axios/lib/helpers/spread.js","../../dtv-shared/node_modules/axios/lib/helpers/isAxiosError.js","../../dtv-shared/src/api/my-pages/myPagesApi.ts","../../dtv-shared/src/api/general/BaseResponse.ts","../../dtv-shared/src/api/my-pages/login.ts","overmind/login/login-state.ts","components/general/PageHeader.tsx","components/main-menu/MainMenuPage.tsx","../../dtv-shared/src/components/form/DtvFormMessage.tsx","../../dtv-shared/src/components/form/TextInputV2.tsx","../../dtv-shared/src/components/form/DtvStyledRadio.tsx","../../dtv-shared/src/components/form/DtvRadioGroup.tsx","../../dtv-shared/src/components/form/DtvStyledCheckBox.tsx","../../dtv-shared/src/functions/distance.ts","../../dtv-shared/src/components/form/DtvClinicSelect.tsx","../../dtv-shared/src/components/form/DtvControlGroup.tsx","../../dtv-shared/src/components/form/DtvFormMessageWithTitleAndText.tsx","../../dtv-shared/src/components/form/DtvInfoSection.tsx","../../dtv-shared/src/components/form/DtvEmployeeSelect.tsx","../../dtv-shared/src/components/form/DtvDropDown.tsx","components/general/ChildSelector.tsx","components/my-clinics/DoorCodeAndRoadReferenceAndDescription.tsx","components/bookings/ActiveBookings.tsx","../../dtv-shared/src/api/general/models/NextStepAnswer.ts","../../dtv-shared/src/api/general/models/ReasonAnswer.ts","../../dtv-shared/src/api/my-pages/models/Treatment.ts","../../dtv-shared/src/api/my-pages/models/Booking.ts","../../dtv-shared/src/api/my-pages/models/BookingUpcoming.ts","../../dtv-shared/src/components/modals/DtvMessagePopup.tsx","components/bookings/EditBookingModal.tsx","components/bookings/CancelBookingModal.tsx","components/bookings/SnoozeConfirmModal.tsx","../node_modules/html-parse-stringify/src/parse-tag.js","../node_modules/html-parse-stringify/src/parse.js","../node_modules/html-parse-stringify/src/stringify.js","../node_modules/html-parse-stringify/src/index.js","../node_modules/react-i18next/dist/es/Trans.js","components/general/PhoneLink.tsx","components/bookings/CancelConfirmModal.tsx","components/bookings/CancelledBookings.tsx","components/general/StatusCard.tsx","components/general/PhoneSpan.tsx","components/listing-status/NoPat.tsx","components/listing-status/NoDRev.tsx","components/listing-status/Called.tsx","components/general/MyPagesClinicSelect.tsx","../../dtv-shared/src/api/my-pages/listingStatus.ts","overmind/call-form/call-form-state.ts","overmind/language/language-state.ts","components/general/MyPagesEmployeeSelect.tsx","components/listing-status/CallForm.tsx","components/general/BookNowCard.tsx","components/listing-status/EnlistWaiting.tsx","components/bookings/BookingPageListingStatus.tsx","components/general/SubPageLayout.tsx","components/bookings/BookingsPage.tsx","components/children/AddChildForm.tsx","components/children/EditChildModal.tsx","components/children/ChildrenPage.tsx","../../dtv-shared/src/api/my-pages/health.ts","components/health/HealthPage.tsx","components/atb/AtbPage.tsx","components/journal/XrayImage.tsx","components/journal/XraysModal.tsx","components/journal/ReceiptModal.tsx","components/journal/BookingPaymentBlock.tsx","components/journal/JournalPage.tsx","components/personal-offers/PersonalOffersPage.tsx","components/inbox/ShowMessageModal.tsx","components/inbox/InboxPage.tsx","components/referral/ReferralPage.tsx","components/my-clinics/MyClinicsItem.tsx","components/my-clinics/MyClinicsPage.tsx","components/listing-status/ChildListed.tsx","../../dtv-shared/src/api/my-pages/employees.ts","overmind/listing-status/listing-status-state.ts","components/listing-status/YourEmployee.tsx","components/settings/SettingsPageListingStatus.tsx","components/settings/SettingsPage.tsx","page-urls/index.ts","overmind/actions.ts","overmind/common/common-state.ts","overmind/common/common-effects.ts","overmind/log/log-effects.ts","overmind/error/error-state.ts","overmind/error/error-actions.ts","overmind/page/page-state.ts","../../dtv-shared/src/api/my-pages/models/SnoozeOption.ts","../../dtv-shared/src/api/my-pages/bookings.ts","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/i18next/dist/esm/i18next.js","translations/general-translations.ts","translations/i18n.ts","translations/login-translations.ts","translations/main-menu-translations.ts","translations/bookings-translations.ts","translations/children-translations.ts","translations/settings-translations.ts","translations/error-translations.ts","translations/clinic-select-translations.ts","translations/my-clinics-translations.ts","translations/referral-translations.ts","translations/inbox-translations.ts","translations/personal-offers-translations.ts","translations/journal-translations.ts","translations/atb-translations.ts","translations/health-translations.ts","translations/listing-status-translations.ts","translations/page-header-translations.ts","translations/book-now-card-translations.ts","overmind/bookings/bookings-state.ts","overmind/children/children-state.ts","overmind/settings/settings-state.ts","../../dtv-shared/src/api/my-pages/models/ClinicOpenHours.ts","../../dtv-shared/src/api/my-pages/models/ClinicOpenDays.ts","../../dtv-shared/src/api/my-pages/models/MyClinic.ts","overmind/my-clinics/my-clinics-state.ts","overmind/referral/referral-state.ts","overmind/inbox/inbox-state.ts","overmind/personal-offers/personal-offers-state.ts","../../dtv-shared/src/api/my-pages/models/JournalEntry.ts","../../dtv-shared/src/api/my-pages/models/Xray.ts","../../dtv-shared/src/api/my-pages/models/BookingPrevious.ts","overmind/journal/journal-state.ts","overmind/atb/atb-state.ts","overmind/health/health-state.ts","overmind/page/page-actions.ts","../node_modules/decode-uri-component/index.js","../node_modules/split-on-first/index.js","../node_modules/filter-obj/index.js","../node_modules/query-string/base.js","../node_modules/query-string/index.js","overmind/page/page-effects.ts","../../dtv-shared/src/api/my-pages/mainMenu.ts","../../dtv-shared/src/api/my-pages/children.ts","../../dtv-shared/src/api/my-pages/language.ts","../../dtv-shared/node_modules/serialize-error/error-constructors.js","../../dtv-shared/node_modules/serialize-error/index.js","../../dtv-shared/src/api/my-pages/log.ts","../../dtv-shared/src/api/my-pages/clinics.ts","../../dtv-shared/src/api/my-pages/settings.ts","../../dtv-shared/src/api/my-pages/myClinics.ts","../../dtv-shared/src/api/my-pages/referral.ts","../../dtv-shared/src/api/my-pages/inbox.ts","../../dtv-shared/src/api/my-pages/models/PaymentReceipt.ts","../../dtv-shared/src/api/my-pages/journal.ts","../../dtv-shared/src/functions/pdf.ts","../../dtv-shared/src/api/my-pages/atb.ts","../../dtv-shared/src/functions/timers.ts","overmind/login/login-actions.ts","overmind/login/login-effects.ts","../node_modules/typescript-cookie/dist/typescript-cookie.mjs","overmind/cookies/cookies-effects.ts","overmind/main-menu/main-menu-state.ts","overmind/main-menu/main-menu-actions.ts","overmind/modals/modals-state.ts","overmind/bookings/bookings-actions.ts","../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","overmind/language/language-actions.ts","overmind/language/language-effects.ts","overmind/children/children-actions.ts","overmind/clinics/clinics-state.ts","overmind/clinics/clinics-actions.ts","overmind/settings/settings-actions.ts","overmind/my-clinics/my-clinics-actions.ts","overmind/analytics/analytics-effects.ts","overmind/modals/modals-actions.ts","overmind/referral/referral-actions.ts","overmind/inbox/inbox-actions.ts","overmind/personal-offers/personal-offers-actions.ts","overmind/journal/journal-actions.ts","overmind/atb/atb-actions.ts","overmind/date/date-state.ts","overmind/date/date-actions.ts","overmind/health/health-actions.ts","overmind/call-form/call-form-actions.ts","overmind/listing-status/listing-status-actions.ts","overmind/book-now-card/book-now-card-state.ts","overmind/index.ts","../node_modules/overmind/src/config/namespaced.ts","components/login/TestCasesForm.tsx","components/login/FormCard.tsx","components/login/LoginPendingCard.tsx","components/login/LoginExpiredCard.tsx","components/login/LoggedOutDueToInactivityCard.tsx","components/login/LoginPage.tsx","components/CurrentPage.tsx","components/login/LoginCheckingGrandIDSession.tsx","components/error/ErrorPage.tsx","components/error/ErrorBoundary.tsx","components/general/GeneralModal.tsx","components/login/LogOutButton.tsx","components/MyPagesApp.tsx","index.tsx"],"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 \";\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\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

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

    \n *

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

    \n *

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

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

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

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

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

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

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

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



    a c e

    b d f

    0 0 1

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

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

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n,i=this.utcOffset(),a=this.toDate(),u=a.toLocaleString(\"en-US\",{timeZone:t}),f=Math.round((a-new Date(u))/1e3/60),s=15*-Math.round(a.getTimezoneOffset()/15)-f;if(!Number(s))n=this.utcOffset(0,e);else if(n=o(u,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(s,!0),e){var m=n.utcOffset();n=n.add(i-m,\"minute\")}return n.$x.$timezone=t,n},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","'use strict';\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.page = factory());\n}(this, (function () { 'use strict';\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {String} str\n * @return {Array}\n */\nfunction parse (str) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var suffix = res[6];\n var asterisk = res[7];\n\n var repeat = suffix === '+' || suffix === '*';\n var optional = suffix === '?' || suffix === '*';\n var delimiter = prefix || '/';\n var pattern = capture || group || (asterisk ? '.*' : '[^' + delimiter + ']+?');\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n pattern: escapeGroup(pattern)\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {String} str\n * @return {Function}\n */\nfunction compile (str) {\n return tokensToFunction(parse(str))\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^' + tokens[i].pattern + '$');\n }\n }\n\n return function (obj) {\n var path = '';\n var data = obj || {};\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received \"' + value + '\"')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encodeURIComponent(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = encodeURIComponent(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {String} group\n * @return {String}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {RegExp} re\n * @param {Array} keys\n * @return {RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {String}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {RegExp} path\n * @param {Array} keys\n * @return {RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {Array} path\n * @param {Array} keys\n * @param {Object} options\n * @return {RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {String} path\n * @param {Array} keys\n * @param {Object} options\n * @return {RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n var tokens = parse(path);\n var re = tokensToRegExp(tokens, options);\n\n // Attach keys back to the regexp.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] !== 'string') {\n keys.push(tokens[i]);\n }\n }\n\n return attachKeys(re, keys)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {Array} tokens\n * @param {Array} keys\n * @param {Object} options\n * @return {RegExp}\n */\nfunction tokensToRegExp (tokens, options) {\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n var lastToken = tokens[tokens.length - 1];\n var endsWithSlash = typeof lastToken === 'string' && /\\/$/.test(lastToken);\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = token.pattern;\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (prefix) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithSlash ? route.slice(0, -2) : route) + '(?:\\\\/(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithSlash ? '' : '(?=\\\\/|$)';\n }\n\n return new RegExp('^' + route, flags(options))\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(String|RegExp|Array)} path\n * @param {Array} [keys]\n * @param {Object} [options]\n * @return {RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n keys = keys || [];\n\n if (!isarray(keys)) {\n options = keys;\n keys = [];\n } else if (!options) {\n options = {};\n }\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, keys, options)\n }\n\n if (isarray(path)) {\n return arrayToRegexp(path, keys, options)\n }\n\n return stringToRegexp(path, keys, options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/**\n * Module dependencies.\n */\n\n \n\n /**\n * Short-cuts for global-object checks\n */\n\n var hasDocument = ('undefined' !== typeof document);\n var hasWindow = ('undefined' !== typeof window);\n var hasHistory = ('undefined' !== typeof history);\n var hasProcess = typeof process !== 'undefined';\n\n /**\n * Detect click event\n */\n var clickEvent = hasDocument && document.ontouchstart ? 'touchstart' : 'click';\n\n /**\n * To work properly with the URL\n * history.location generated polyfill in https://github.com/devote/HTML5-History-API\n */\n\n var isLocation = hasWindow && !!(window.history.location || window.location);\n\n /**\n * The page instance\n * @api private\n */\n function Page() {\n // public things\n this.callbacks = [];\n this.exits = [];\n this.current = '';\n this.len = 0;\n\n // private things\n this._decodeURLComponents = true;\n this._base = '';\n this._strict = false;\n this._running = false;\n this._hashbang = false;\n\n // bound functions\n this.clickHandler = this.clickHandler.bind(this);\n this._onpopstate = this._onpopstate.bind(this);\n }\n\n /**\n * Configure the instance of page. This can be called multiple times.\n *\n * @param {Object} options\n * @api public\n */\n\n Page.prototype.configure = function(options) {\n var opts = options || {};\n\n this._window = opts.window || (hasWindow && window);\n this._decodeURLComponents = opts.decodeURLComponents !== false;\n this._popstate = opts.popstate !== false && hasWindow;\n this._click = opts.click !== false && hasDocument;\n this._hashbang = !!opts.hashbang;\n\n var _window = this._window;\n if(this._popstate) {\n _window.addEventListener('popstate', this._onpopstate, false);\n } else if(hasWindow) {\n _window.removeEventListener('popstate', this._onpopstate, false);\n }\n\n if (this._click) {\n _window.document.addEventListener(clickEvent, this.clickHandler, false);\n } else if(hasDocument) {\n _window.document.removeEventListener(clickEvent, this.clickHandler, false);\n }\n\n if(this._hashbang && hasWindow && !hasHistory) {\n _window.addEventListener('hashchange', this._onpopstate, false);\n } else if(hasWindow) {\n _window.removeEventListener('hashchange', this._onpopstate, false);\n }\n };\n\n /**\n * Get or set basepath to `path`.\n *\n * @param {string} path\n * @api public\n */\n\n Page.prototype.base = function(path) {\n if (0 === arguments.length) return this._base;\n this._base = path;\n };\n\n /**\n * Gets the `base`, which depends on whether we are using History or\n * hashbang routing.\n\n * @api private\n */\n Page.prototype._getBase = function() {\n var base = this._base;\n if(!!base) return base;\n var loc = hasWindow && this._window && this._window.location;\n\n if(hasWindow && this._hashbang && loc && loc.protocol === 'file:') {\n base = loc.pathname;\n }\n\n return base;\n };\n\n /**\n * Get or set strict path matching to `enable`\n *\n * @param {boolean} enable\n * @api public\n */\n\n Page.prototype.strict = function(enable) {\n if (0 === arguments.length) return this._strict;\n this._strict = enable;\n };\n\n\n /**\n * Bind with the given `options`.\n *\n * Options:\n *\n * - `click` bind to click events [true]\n * - `popstate` bind to popstate [true]\n * - `dispatch` perform initial dispatch [true]\n *\n * @param {Object} options\n * @api public\n */\n\n Page.prototype.start = function(options) {\n var opts = options || {};\n this.configure(opts);\n\n if (false === opts.dispatch) return;\n this._running = true;\n\n var url;\n if(isLocation) {\n var window = this._window;\n var loc = window.location;\n\n if(this._hashbang && ~loc.hash.indexOf('#!')) {\n url = loc.hash.substr(2) + loc.search;\n } else if (this._hashbang) {\n url = loc.search + loc.hash;\n } else {\n url = loc.pathname + loc.search + loc.hash;\n }\n }\n\n this.replace(url, null, true, opts.dispatch);\n };\n\n /**\n * Unbind click and popstate event handlers.\n *\n * @api public\n */\n\n Page.prototype.stop = function() {\n if (!this._running) return;\n this.current = '';\n this.len = 0;\n this._running = false;\n\n var window = this._window;\n this._click && window.document.removeEventListener(clickEvent, this.clickHandler, false);\n hasWindow && window.removeEventListener('popstate', this._onpopstate, false);\n hasWindow && window.removeEventListener('hashchange', this._onpopstate, false);\n };\n\n /**\n * Show `path` with optional `state` object.\n *\n * @param {string} path\n * @param {Object=} state\n * @param {boolean=} dispatch\n * @param {boolean=} push\n * @return {!Context}\n * @api public\n */\n\n Page.prototype.show = function(path, state, dispatch, push) {\n var ctx = new Context(path, state, this),\n prev = this.prevContext;\n this.prevContext = ctx;\n this.current = ctx.path;\n if (false !== dispatch) this.dispatch(ctx, prev);\n if (false !== ctx.handled && false !== push) ctx.pushState();\n return ctx;\n };\n\n /**\n * Goes back in the history\n * Back should always let the current route push state and then go back.\n *\n * @param {string} path - fallback path to go back if no more history exists, if undefined defaults to page.base\n * @param {Object=} state\n * @api public\n */\n\n Page.prototype.back = function(path, state) {\n var page = this;\n if (this.len > 0) {\n var window = this._window;\n // this may need more testing to see if all browsers\n // wait for the next tick to go back in history\n hasHistory && window.history.back();\n this.len--;\n } else if (path) {\n setTimeout(function() {\n page.show(path, state);\n });\n } else {\n setTimeout(function() {\n page.show(page._getBase(), state);\n });\n }\n };\n\n /**\n * Register route to redirect from one path to other\n * or just redirect to another route\n *\n * @param {string} from - if param 'to' is undefined redirects to 'from'\n * @param {string=} to\n * @api public\n */\n Page.prototype.redirect = function(from, to) {\n var inst = this;\n\n // Define route from a path to another\n if ('string' === typeof from && 'string' === typeof to) {\n page.call(this, from, function(e) {\n setTimeout(function() {\n inst.replace(/** @type {!string} */ (to));\n }, 0);\n });\n }\n\n // Wait for the push state and replace it with another\n if ('string' === typeof from && 'undefined' === typeof to) {\n setTimeout(function() {\n inst.replace(from);\n }, 0);\n }\n };\n\n /**\n * Replace `path` with optional `state` object.\n *\n * @param {string} path\n * @param {Object=} state\n * @param {boolean=} init\n * @param {boolean=} dispatch\n * @return {!Context}\n * @api public\n */\n\n\n Page.prototype.replace = function(path, state, init, dispatch) {\n var ctx = new Context(path, state, this),\n prev = this.prevContext;\n this.prevContext = ctx;\n this.current = ctx.path;\n ctx.init = init;\n ctx.save(); // save before dispatching, which may redirect\n if (false !== dispatch) this.dispatch(ctx, prev);\n return ctx;\n };\n\n /**\n * Dispatch the given `ctx`.\n *\n * @param {Context} ctx\n * @api private\n */\n\n Page.prototype.dispatch = function(ctx, prev) {\n var i = 0, j = 0, page = this;\n\n function nextExit() {\n var fn = page.exits[j++];\n if (!fn) return nextEnter();\n fn(prev, nextExit);\n }\n\n function nextEnter() {\n var fn = page.callbacks[i++];\n\n if (ctx.path !== page.current) {\n ctx.handled = false;\n return;\n }\n if (!fn) return unhandled.call(page, ctx);\n fn(ctx, nextEnter);\n }\n\n if (prev) {\n nextExit();\n } else {\n nextEnter();\n }\n };\n\n /**\n * Register an exit route on `path` with\n * callback `fn()`, which will be called\n * on the previous context when a new\n * page is visited.\n */\n Page.prototype.exit = function(path, fn) {\n if (typeof path === 'function') {\n return this.exit('*', path);\n }\n\n var route = new Route(path, null, this);\n for (var i = 1; i < arguments.length; ++i) {\n this.exits.push(route.middleware(arguments[i]));\n }\n };\n\n /**\n * Handle \"click\" events.\n */\n\n /* jshint +W054 */\n Page.prototype.clickHandler = function(e) {\n if (1 !== this._which(e)) return;\n\n if (e.metaKey || e.ctrlKey || e.shiftKey) return;\n if (e.defaultPrevented) return;\n\n // ensure link\n // use shadow dom when available if not, fall back to composedPath()\n // for browsers that only have shady\n var el = e.target;\n var eventPath = e.path || (e.composedPath ? e.composedPath() : null);\n\n if(eventPath) {\n for (var i = 0; i < eventPath.length; i++) {\n if (!eventPath[i].nodeName) continue;\n if (eventPath[i].nodeName.toUpperCase() !== 'A') continue;\n if (!eventPath[i].href) continue;\n\n el = eventPath[i];\n break;\n }\n }\n\n // continue ensure link\n // el.nodeName for svg links are 'a' instead of 'A'\n while (el && 'A' !== el.nodeName.toUpperCase()) el = el.parentNode;\n if (!el || 'A' !== el.nodeName.toUpperCase()) return;\n\n // check if link is inside an svg\n // in this case, both href and target are always inside an object\n var svg = (typeof el.href === 'object') && el.href.constructor.name === 'SVGAnimatedString';\n\n // Ignore if tag has\n // 1. \"download\" attribute\n // 2. rel=\"external\" attribute\n if (el.hasAttribute('download') || el.getAttribute('rel') === 'external') return;\n\n // ensure non-hash for the same path\n var link = el.getAttribute('href');\n if(!this._hashbang && this._samePath(el) && (el.hash || '#' === link)) return;\n\n // Check for mailto: in the href\n if (link && link.indexOf('mailto:') > -1) return;\n\n // check target\n // svg target is an object and its desired value is in .baseVal property\n if (svg ? el.target.baseVal : el.target) return;\n\n // x-origin\n // note: svg links that are not relative don't call click events (and skip page.js)\n // consequently, all svg links tested inside page.js are relative and in the same origin\n if (!svg && !this.sameOrigin(el.href)) return;\n\n // rebuild path\n // There aren't .pathname and .search properties in svg links, so we use href\n // Also, svg href is an object and its desired value is in .baseVal property\n var path = svg ? el.href.baseVal : (el.pathname + el.search + (el.hash || ''));\n\n path = path[0] !== '/' ? '/' + path : path;\n\n // strip leading \"/[drive letter]:\" on NW.js on Windows\n if (hasProcess && path.match(/^\\/[a-zA-Z]:\\//)) {\n path = path.replace(/^\\/[a-zA-Z]:\\//, '/');\n }\n\n // same page\n var orig = path;\n var pageBase = this._getBase();\n\n if (path.indexOf(pageBase) === 0) {\n path = path.substr(pageBase.length);\n }\n\n if (this._hashbang) path = path.replace('#!', '');\n\n if (pageBase && orig === path && (!isLocation || this._window.location.protocol !== 'file:')) {\n return;\n }\n\n e.preventDefault();\n this.show(orig);\n };\n\n /**\n * Handle \"populate\" events.\n * @api private\n */\n\n Page.prototype._onpopstate = (function () {\n var loaded = false;\n if ( ! hasWindow ) {\n return function () {};\n }\n if (hasDocument && document.readyState === 'complete') {\n loaded = true;\n } else {\n window.addEventListener('load', function() {\n setTimeout(function() {\n loaded = true;\n }, 0);\n });\n }\n return function onpopstate(e) {\n if (!loaded) return;\n var page = this;\n if (e.state) {\n var path = e.state.path;\n page.replace(path, e.state);\n } else if (isLocation) {\n var loc = page._window.location;\n page.show(loc.pathname + loc.search + loc.hash, undefined, undefined, false);\n }\n };\n })();\n\n /**\n * Event button.\n */\n Page.prototype._which = function(e) {\n e = e || (hasWindow && this._window.event);\n return null == e.which ? e.button : e.which;\n };\n\n /**\n * Convert to a URL object\n * @api private\n */\n Page.prototype._toURL = function(href) {\n var window = this._window;\n if(typeof URL === 'function' && isLocation) {\n return new URL(href, window.location.toString());\n } else if (hasDocument) {\n var anc = window.document.createElement('a');\n anc.href = href;\n return anc;\n }\n };\n\n /**\n * Check if `href` is the same origin.\n * @param {string} href\n * @api public\n */\n Page.prototype.sameOrigin = function(href) {\n if(!href || !isLocation) return false;\n\n var url = this._toURL(href);\n var window = this._window;\n\n var loc = window.location;\n\n /*\n When the port is the default http port 80 for http, or 443 for\n https, internet explorer 11 returns an empty string for loc.port,\n so we need to compare loc.port with an empty string if url.port\n is the default port 80 or 443.\n Also the comparition with `port` is changed from `===` to `==` because\n `port` can be a string sometimes. This only applies to ie11.\n */\n return loc.protocol === url.protocol &&\n loc.hostname === url.hostname &&\n (loc.port === url.port || loc.port === '' && (url.port == 80 || url.port == 443)); // jshint ignore:line\n };\n\n /**\n * @api private\n */\n Page.prototype._samePath = function(url) {\n if(!isLocation) return false;\n var window = this._window;\n var loc = window.location;\n return url.pathname === loc.pathname &&\n url.search === loc.search;\n };\n\n /**\n * Remove URL encoding from the given `str`.\n * Accommodates whitespace in both x-www-form-urlencoded\n * and regular percent-encoded form.\n *\n * @param {string} val - URL component to decode\n * @api private\n */\n Page.prototype._decodeURLEncodedURIComponent = function(val) {\n if (typeof val !== 'string') { return val; }\n return this._decodeURLComponents ? decodeURIComponent(val.replace(/\\+/g, ' ')) : val;\n };\n\n /**\n * Create a new `page` instance and function\n */\n function createPage() {\n var pageInstance = new Page();\n\n function pageFn(/* args */) {\n return page.apply(pageInstance, arguments);\n }\n\n // Copy all of the things over. In 2.0 maybe we use setPrototypeOf\n pageFn.callbacks = pageInstance.callbacks;\n pageFn.exits = pageInstance.exits;\n pageFn.base = pageInstance.base.bind(pageInstance);\n pageFn.strict = pageInstance.strict.bind(pageInstance);\n pageFn.start = pageInstance.start.bind(pageInstance);\n pageFn.stop = pageInstance.stop.bind(pageInstance);\n pageFn.show = pageInstance.show.bind(pageInstance);\n pageFn.back = pageInstance.back.bind(pageInstance);\n pageFn.redirect = pageInstance.redirect.bind(pageInstance);\n pageFn.replace = pageInstance.replace.bind(pageInstance);\n pageFn.dispatch = pageInstance.dispatch.bind(pageInstance);\n pageFn.exit = pageInstance.exit.bind(pageInstance);\n pageFn.configure = pageInstance.configure.bind(pageInstance);\n pageFn.sameOrigin = pageInstance.sameOrigin.bind(pageInstance);\n pageFn.clickHandler = pageInstance.clickHandler.bind(pageInstance);\n\n pageFn.create = createPage;\n\n Object.defineProperty(pageFn, 'len', {\n get: function(){\n return pageInstance.len;\n },\n set: function(val) {\n pageInstance.len = val;\n }\n });\n\n Object.defineProperty(pageFn, 'current', {\n get: function(){\n return pageInstance.current;\n },\n set: function(val) {\n pageInstance.current = val;\n }\n });\n\n // In 2.0 these can be named exports\n pageFn.Context = Context;\n pageFn.Route = Route;\n\n return pageFn;\n }\n\n /**\n * Register `path` with callback `fn()`,\n * or route `path`, or redirection,\n * or `page.start()`.\n *\n * page(fn);\n * page('*', fn);\n * page('/user/:id', load, user);\n * page('/user/' + user.id, { some: 'thing' });\n * page('/user/' + user.id);\n * page('/from', '/to')\n * page();\n *\n * @param {string|!Function|!Object} path\n * @param {Function=} fn\n * @api public\n */\n\n function page(path, fn) {\n // \n if ('function' === typeof path) {\n return page.call(this, '*', path);\n }\n\n // route to \n if ('function' === typeof fn) {\n var route = new Route(/** @type {string} */ (path), null, this);\n for (var i = 1; i < arguments.length; ++i) {\n this.callbacks.push(route.middleware(arguments[i]));\n }\n // show with [state]\n } else if ('string' === typeof path) {\n this['string' === typeof fn ? 'redirect' : 'show'](path, fn);\n // start [options]\n } else {\n this.start(path);\n }\n }\n\n /**\n * Unhandled `ctx`. When it's not the initial\n * popstate then redirect. If you wish to handle\n * 404s on your own use `page('*', callback)`.\n *\n * @param {Context} ctx\n * @api private\n */\n function unhandled(ctx) {\n if (ctx.handled) return;\n var current;\n var page = this;\n var window = page._window;\n\n if (page._hashbang) {\n current = isLocation && this._getBase() + window.location.hash.replace('#!', '');\n } else {\n current = isLocation && window.location.pathname + window.location.search;\n }\n\n if (current === ctx.canonicalPath) return;\n page.stop();\n ctx.handled = false;\n isLocation && (window.location.href = ctx.canonicalPath);\n }\n\n /**\n * Escapes RegExp characters in the given string.\n *\n * @param {string} s\n * @api private\n */\n function escapeRegExp(s) {\n return s.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1');\n }\n\n /**\n * Initialize a new \"request\" `Context`\n * with the given `path` and optional initial `state`.\n *\n * @constructor\n * @param {string} path\n * @param {Object=} state\n * @api public\n */\n\n function Context(path, state, pageInstance) {\n var _page = this.page = pageInstance || page;\n var window = _page._window;\n var hashbang = _page._hashbang;\n\n var pageBase = _page._getBase();\n if ('/' === path[0] && 0 !== path.indexOf(pageBase)) path = pageBase + (hashbang ? '#!' : '') + path;\n var i = path.indexOf('?');\n\n this.canonicalPath = path;\n var re = new RegExp('^' + escapeRegExp(pageBase));\n this.path = path.replace(re, '') || '/';\n if (hashbang) this.path = this.path.replace('#!', '') || '/';\n\n this.title = (hasDocument && window.document.title);\n this.state = state || {};\n this.state.path = path;\n this.querystring = ~i ? _page._decodeURLEncodedURIComponent(path.slice(i + 1)) : '';\n this.pathname = _page._decodeURLEncodedURIComponent(~i ? path.slice(0, i) : path);\n this.params = {};\n\n // fragment\n this.hash = '';\n if (!hashbang) {\n if (!~this.path.indexOf('#')) return;\n var parts = this.path.split('#');\n this.path = this.pathname = parts[0];\n this.hash = _page._decodeURLEncodedURIComponent(parts[1]) || '';\n this.querystring = this.querystring.split('#')[0];\n }\n }\n\n /**\n * Push state.\n *\n * @api private\n */\n\n Context.prototype.pushState = function() {\n var page = this.page;\n var window = page._window;\n var hashbang = page._hashbang;\n\n page.len++;\n if (hasHistory) {\n window.history.pushState(this.state, this.title,\n hashbang && this.path !== '/' ? '#!' + this.path : this.canonicalPath);\n }\n };\n\n /**\n * Save the context state.\n *\n * @api public\n */\n\n Context.prototype.save = function() {\n var page = this.page;\n if (hasHistory) {\n page._window.history.replaceState(this.state, this.title,\n page._hashbang && this.path !== '/' ? '#!' + this.path : this.canonicalPath);\n }\n };\n\n /**\n * Initialize `Route` with the given HTTP `path`,\n * and an array of `callbacks` and `options`.\n *\n * Options:\n *\n * - `sensitive` enable case-sensitive routes\n * - `strict` enable strict matching for trailing slashes\n *\n * @constructor\n * @param {string} path\n * @param {Object=} options\n * @api private\n */\n\n function Route(path, options, page) {\n var _page = this.page = page || globalPage;\n var opts = options || {};\n opts.strict = opts.strict || _page._strict;\n this.path = (path === '*') ? '(.*)' : path;\n this.method = 'GET';\n this.regexp = pathToRegexp_1(this.path, this.keys = [], opts);\n }\n\n /**\n * Return route middleware with\n * the given callback `fn()`.\n *\n * @param {Function} fn\n * @return {Function}\n * @api public\n */\n\n Route.prototype.middleware = function(fn) {\n var self = this;\n return function(ctx, next) {\n if (self.match(ctx.path, ctx.params)) {\n ctx.routePath = self.path;\n return fn(ctx, next);\n }\n next();\n };\n };\n\n /**\n * Check if this route matches `path`, if so\n * populate `params`.\n *\n * @param {string} path\n * @param {Object} params\n * @return {boolean}\n * @api private\n */\n\n Route.prototype.match = function(path, params) {\n var keys = this.keys,\n qsIndex = path.indexOf('?'),\n pathname = ~qsIndex ? path.slice(0, qsIndex) : path,\n m = this.regexp.exec(decodeURIComponent(pathname));\n\n if (!m) return false;\n\n delete params[0];\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = keys[i - 1];\n var val = this.page._decodeURLEncodedURIComponent(m[i]);\n if (val !== undefined || !(hasOwnProperty.call(params, key.name))) {\n params[key.name] = val;\n }\n }\n\n return true;\n };\n\n\n /**\n * Module exports.\n */\n\n var globalPage = createPage();\n var page_js = globalPage;\n var default_1 = globalPage;\n\npage_js.default = default_1;\n\nreturn page_js;\n\n})));\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 Reflect.defineMetadata(\"custom:annotation\", options, target, key);\n * }\n *\n */\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n exporter(\"defineMetadata\", defineMetadata);\n /**\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function hasMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"hasMetadata\", hasMetadata);\n /**\n * Gets a value indicating whether the target object has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function hasOwnMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"hasOwnMetadata\", hasOwnMetadata);\n /**\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function getMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"getMetadata\", getMetadata);\n /**\n * Gets the metadata value for the provided metadata key on the target object.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function getOwnMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"getOwnMetadata\", getOwnMetadata);\n /**\n * Gets the metadata keys defined on the target object or its prototype chain.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\n *\n */\n function getMetadataKeys(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryMetadataKeys(target, propertyKey);\n }\n exporter(\"getMetadataKeys\", getMetadataKeys);\n /**\n * Gets the unique metadata keys defined on the target object.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\n *\n */\n function getOwnMetadataKeys(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryOwnMetadataKeys(target, propertyKey);\n }\n exporter(\"getOwnMetadataKeys\", getOwnMetadataKeys);\n /**\n * Deletes the metadata entry from the target object with the provided key.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function deleteMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return false;\n if (!metadataMap.delete(metadataKey))\n return false;\n if (metadataMap.size > 0)\n return true;\n var targetMetadata = Metadata.get(target);\n targetMetadata.delete(propertyKey);\n if (targetMetadata.size > 0)\n return true;\n Metadata.delete(target);\n return true;\n }\n exporter(\"deleteMetadata\", deleteMetadata);\n function DecorateConstructor(decorators, target) {\n for (var i = decorators.length - 1; i >= 0; --i) {\n var decorator = decorators[i];\n var decorated = decorator(target);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsConstructor(decorated))\n throw new TypeError();\n target = decorated;\n }\n }\n return target;\n }\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\n for (var i = decorators.length - 1; i >= 0; --i) {\n var decorator = decorators[i];\n var decorated = decorator(target, propertyKey, descriptor);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsObject(decorated))\n throw new TypeError();\n descriptor = decorated;\n }\n }\n return descriptor;\n }\n function GetOrCreateMetadataMap(O, P, Create) {\n var targetMetadata = Metadata.get(O);\n if (IsUndefined(targetMetadata)) {\n if (!Create)\n return undefined;\n targetMetadata = new _Map();\n Metadata.set(O, targetMetadata);\n }\n var metadataMap = targetMetadata.get(P);\n if (IsUndefined(metadataMap)) {\n if (!Create)\n return undefined;\n metadataMap = new _Map();\n targetMetadata.set(P, metadataMap);\n }\n return metadataMap;\n }\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\n function OrdinaryHasMetadata(MetadataKey, O, P) {\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn)\n return true;\n var parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent))\n return OrdinaryHasMetadata(MetadataKey, parent, P);\n return false;\n }\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return false;\n return ToBoolean(metadataMap.has(MetadataKey));\n }\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\n function OrdinaryGetMetadata(MetadataKey, O, P) {\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn)\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent))\n return OrdinaryGetMetadata(MetadataKey, parent, P);\n return undefined;\n }\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return undefined;\n return metadataMap.get(MetadataKey);\n }\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\n metadataMap.set(MetadataKey, MetadataValue);\n }\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\n function OrdinaryMetadataKeys(O, P) {\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\n var parent = OrdinaryGetPrototypeOf(O);\n if (parent === null)\n return ownKeys;\n var parentKeys = OrdinaryMetadataKeys(parent, P);\n if (parentKeys.length <= 0)\n return ownKeys;\n if (ownKeys.length <= 0)\n return parentKeys;\n var set = new _Set();\n var keys = [];\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\n var key = ownKeys_1[_i];\n var hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\n var key = parentKeys_1[_a];\n var hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n return keys;\n }\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\n function OrdinaryOwnMetadataKeys(O, P) {\n var keys = [];\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return keys;\n var keysObj = metadataMap.keys();\n var iterator = GetIterator(keysObj);\n var k = 0;\n while (true) {\n var next = IteratorStep(iterator);\n if (!next) {\n keys.length = k;\n return keys;\n }\n var nextValue = IteratorValue(next);\n try {\n keys[k] = nextValue;\n }\n catch (e) {\n try {\n IteratorClose(iterator);\n }\n finally {\n throw e;\n }\n }\n k++;\n }\n }\n // 6 ECMAScript Data Typ0es and Values\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\n function Type(x) {\n if (x === null)\n return 1 /* Null */;\n switch (typeof x) {\n case \"undefined\": return 0 /* Undefined */;\n case \"boolean\": return 2 /* Boolean */;\n case \"string\": return 3 /* String */;\n case \"symbol\": return 4 /* Symbol */;\n case \"number\": return 5 /* Number */;\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\n default: return 6 /* Object */;\n }\n }\n // 6.1.1 The Undefined Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\n function IsUndefined(x) {\n return x === undefined;\n }\n // 6.1.2 The Null Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\n function IsNull(x) {\n return x === null;\n }\n // 6.1.5 The Symbol Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\n function IsSymbol(x) {\n return typeof x === \"symbol\";\n }\n // 6.1.7 The Object Type\n // https://tc39.github.io/ecma262/#sec-object-type\n function IsObject(x) {\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\n }\n // 7.1 Type Conversion\n // https://tc39.github.io/ecma262/#sec-type-conversion\n // 7.1.1 ToPrimitive(input [, PreferredType])\n // https://tc39.github.io/ecma262/#sec-toprimitive\n function ToPrimitive(input, PreferredType) {\n switch (Type(input)) {\n case 0 /* Undefined */: return input;\n case 1 /* Null */: return input;\n case 2 /* Boolean */: return input;\n case 3 /* String */: return input;\n case 4 /* Symbol */: return input;\n case 5 /* Number */: return input;\n }\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\n if (exoticToPrim !== undefined) {\n var result = exoticToPrim.call(input, hint);\n if (IsObject(result))\n throw new TypeError();\n return result;\n }\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\n }\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\n function OrdinaryToPrimitive(O, hint) {\n if (hint === \"string\") {\n var toString_1 = O.toString;\n if (IsCallable(toString_1)) {\n var result = toString_1.call(O);\n if (!IsObject(result))\n return result;\n }\n var valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n var result = valueOf.call(O);\n if (!IsObject(result))\n return result;\n }\n }\n else {\n var valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n var result = valueOf.call(O);\n if (!IsObject(result))\n return result;\n }\n var toString_2 = O.toString;\n if (IsCallable(toString_2)) {\n var result = toString_2.call(O);\n if (!IsObject(result))\n return result;\n }\n }\n throw new TypeError();\n }\n // 7.1.2 ToBoolean(argument)\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\n function ToBoolean(argument) {\n return !!argument;\n }\n // 7.1.12 ToString(argument)\n // https://tc39.github.io/ecma262/#sec-tostring\n function ToString(argument) {\n return \"\" + argument;\n }\n // 7.1.14 ToPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-topropertykey\n function ToPropertyKey(argument) {\n var key = ToPrimitive(argument, 3 /* String */);\n if (IsSymbol(key))\n return key;\n return ToString(key);\n }\n // 7.2 Testing and Comparison Operations\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\n // 7.2.2 IsArray(argument)\n // https://tc39.github.io/ecma262/#sec-isarray\n function IsArray(argument) {\n return Array.isArray\n ? Array.isArray(argument)\n : argument instanceof Object\n ? argument instanceof Array\n : Object.prototype.toString.call(argument) === \"[object Array]\";\n }\n // 7.2.3 IsCallable(argument)\n // https://tc39.github.io/ecma262/#sec-iscallable\n function IsCallable(argument) {\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\n return typeof argument === \"function\";\n }\n // 7.2.4 IsConstructor(argument)\n // https://tc39.github.io/ecma262/#sec-isconstructor\n function IsConstructor(argument) {\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\n return typeof argument === \"function\";\n }\n // 7.2.7 IsPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-ispropertykey\n function IsPropertyKey(argument) {\n switch (Type(argument)) {\n case 3 /* String */: return true;\n case 4 /* Symbol */: return true;\n default: return false;\n }\n }\n // 7.3 Operations on Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\n // 7.3.9 GetMethod(V, P)\n // https://tc39.github.io/ecma262/#sec-getmethod\n function GetMethod(V, P) {\n var func = V[P];\n if (func === undefined || func === null)\n return undefined;\n if (!IsCallable(func))\n throw new TypeError();\n return func;\n }\n // 7.4 Operations on Iterator Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\n function GetIterator(obj) {\n var method = GetMethod(obj, iteratorSymbol);\n if (!IsCallable(method))\n throw new TypeError(); // from Call\n var iterator = method.call(obj);\n if (!IsObject(iterator))\n throw new TypeError();\n return iterator;\n }\n // 7.4.4 IteratorValue(iterResult)\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\n function IteratorValue(iterResult) {\n return iterResult.value;\n }\n // 7.4.5 IteratorStep(iterator)\n // https://tc39.github.io/ecma262/#sec-iteratorstep\n function IteratorStep(iterator) {\n var result = iterator.next();\n return result.done ? false : result;\n }\n // 7.4.6 IteratorClose(iterator, completion)\n // https://tc39.github.io/ecma262/#sec-iteratorclose\n function IteratorClose(iterator) {\n var f = iterator[\"return\"];\n if (f)\n f.call(iterator);\n }\n // 9.1 Ordinary Object Internal Methods and Internal Slots\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\n function OrdinaryGetPrototypeOf(O) {\n var proto = Object.getPrototypeOf(O);\n if (typeof O !== \"function\" || O === functionPrototype)\n return proto;\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\n // Try to determine the superclass constructor. Compatible implementations\n // must either set __proto__ on a subclass constructor to the superclass constructor,\n // or ensure each class has a valid `constructor` property on its prototype that\n // points back to the constructor.\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\n if (proto !== functionPrototype)\n return proto;\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\n var prototype = O.prototype;\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\n if (prototypeProto == null || prototypeProto === Object.prototype)\n return proto;\n // If the constructor was not a function, then we cannot determine the heritage.\n var constructor = prototypeProto.constructor;\n if (typeof constructor !== \"function\")\n return proto;\n // If we have some kind of self-reference, then we cannot determine the heritage.\n if (constructor === O)\n return proto;\n // we have a pretty good guess at the heritage.\n return constructor;\n }\n // naive Map shim\n function CreateMapPolyfill() {\n var cacheSentinel = {};\n var arraySentinel = [];\n var MapIterator = /** @class */ (function () {\n function MapIterator(keys, values, selector) {\n this._index = 0;\n this._keys = keys;\n this._values = values;\n this._selector = selector;\n }\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\n MapIterator.prototype.next = function () {\n var index = this._index;\n if (index >= 0 && index < this._keys.length) {\n var result = this._selector(this._keys[index], this._values[index]);\n if (index + 1 >= this._keys.length) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n else {\n this._index++;\n }\n return { value: result, done: false };\n }\n return { value: undefined, done: true };\n };\n MapIterator.prototype.throw = function (error) {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n throw error;\n };\n MapIterator.prototype.return = function (value) {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n return { value: value, done: true };\n };\n return MapIterator;\n }());\n return /** @class */ (function () {\n function Map() {\n this._keys = [];\n this._values = [];\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n Object.defineProperty(Map.prototype, \"size\", {\n get: function () { return this._keys.length; },\n enumerable: true,\n configurable: true\n });\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\n Map.prototype.get = function (key) {\n var index = this._find(key, /*insert*/ false);\n return index >= 0 ? this._values[index] : undefined;\n };\n Map.prototype.set = function (key, value) {\n var index = this._find(key, /*insert*/ true);\n this._values[index] = value;\n return this;\n };\n Map.prototype.delete = function (key) {\n var index = this._find(key, /*insert*/ false);\n if (index >= 0) {\n var size = this._keys.length;\n for (var i = index + 1; i < size; i++) {\n this._keys[i - 1] = this._keys[i];\n this._values[i - 1] = this._values[i];\n }\n this._keys.length--;\n this._values.length--;\n if (key === this._cacheKey) {\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n return true;\n }\n return false;\n };\n Map.prototype.clear = function () {\n this._keys.length = 0;\n this._values.length = 0;\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n };\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\n Map.prototype._find = function (key, insert) {\n if (this._cacheKey !== key) {\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\n }\n if (this._cacheIndex < 0 && insert) {\n this._cacheIndex = this._keys.length;\n this._keys.push(key);\n this._values.push(undefined);\n }\n return this._cacheIndex;\n };\n return Map;\n }());\n function getKey(key, _) {\n return key;\n }\n function getValue(_, value) {\n return value;\n }\n function getEntry(key, value) {\n return [key, value];\n }\n }\n // naive Set shim\n function CreateSetPolyfill() {\n return /** @class */ (function () {\n function Set() {\n this._map = new _Map();\n }\n Object.defineProperty(Set.prototype, \"size\", {\n get: function () { return this._map.size; },\n enumerable: true,\n configurable: true\n });\n Set.prototype.has = function (value) { return this._map.has(value); };\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\n Set.prototype.delete = function (value) { return this._map.delete(value); };\n Set.prototype.clear = function () { this._map.clear(); };\n Set.prototype.keys = function () { return this._map.keys(); };\n Set.prototype.values = function () { return this._map.values(); };\n Set.prototype.entries = function () { return this._map.entries(); };\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\n return Set;\n }());\n }\n // naive WeakMap shim\n function CreateWeakMapPolyfill() {\n var UUID_SIZE = 16;\n var keys = HashMap.create();\n var rootKey = CreateUniqueKey();\n return /** @class */ (function () {\n function WeakMap() {\n this._key = CreateUniqueKey();\n }\n WeakMap.prototype.has = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.has(table, this._key) : false;\n };\n WeakMap.prototype.get = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\n };\n WeakMap.prototype.set = function (target, value) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\n table[this._key] = value;\n return this;\n };\n WeakMap.prototype.delete = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? delete table[this._key] : false;\n };\n WeakMap.prototype.clear = function () {\n // NOTE: not a real clear, just makes the previous data unreachable\n this._key = CreateUniqueKey();\n };\n return WeakMap;\n }());\n function CreateUniqueKey() {\n var key;\n do\n key = \"@@WeakMap@@\" + CreateUUID();\n while (HashMap.has(keys, key));\n keys[key] = true;\n return key;\n }\n function GetOrCreateWeakMapTable(target, create) {\n if (!hasOwn.call(target, rootKey)) {\n if (!create)\n return undefined;\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\n }\n return target[rootKey];\n }\n function FillRandomBytes(buffer, size) {\n for (var i = 0; i < size; ++i)\n buffer[i] = Math.random() * 0xff | 0;\n return buffer;\n }\n function GenRandomBytes(size) {\n if (typeof Uint8Array === \"function\") {\n if (typeof crypto !== \"undefined\")\n return crypto.getRandomValues(new Uint8Array(size));\n if (typeof msCrypto !== \"undefined\")\n return msCrypto.getRandomValues(new Uint8Array(size));\n return FillRandomBytes(new Uint8Array(size), size);\n }\n return FillRandomBytes(new Array(size), size);\n }\n function CreateUUID() {\n var data = GenRandomBytes(UUID_SIZE);\n // mark as random - RFC 4122 § 4.4\n data[6] = data[6] & 0x4f | 0x40;\n data[8] = data[8] & 0xbf | 0x80;\n var result = \"\";\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\n var byte = data[offset];\n if (offset === 4 || offset === 6 || offset === 8)\n result += \"-\";\n if (byte < 16)\n result += \"0\";\n result += byte.toString(16).toLowerCase();\n }\n return result;\n }\n }\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\n function MakeDictionary(obj) {\n obj.__ = undefined;\n delete obj.__;\n return obj;\n }\n });\n})(Reflect || (Reflect = {}));\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"127\":\"edce826a\",\"489\":\"6ef58944\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"my-pages-client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmy_pages_client\"] = self[\"webpackChunkmy_pages_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import { IMutationTree, ITrackStateTree, TTree } from './types'\n\nconst ENVIRONMENT = (() => {\n let env: string\n try {\n env = process.env.NODE_ENV!\n } catch {\n env = 'development'\n }\n\n return env\n})()\n\nexport const IS_PROXY = Symbol('IS_PROXY')\nexport const PATH = Symbol('PATH')\nexport const VALUE = Symbol('VALUE')\nexport const PROXY_TREE = Symbol('PROXY_TREE')\n\nconst isPlainObject = (value: any) => {\n return (\n String(value) === '[object Object]' && value.constructor.name === 'Object'\n )\n}\n\nconst arrayMutations = new Set([\n 'push',\n 'shift',\n 'pop',\n 'unshift',\n 'splice',\n 'reverse',\n 'sort',\n 'copyWithin',\n])\n\nconst getValue = (proxyOrValue) =>\n proxyOrValue && proxyOrValue[IS_PROXY] ? proxyOrValue[VALUE] : proxyOrValue\n\nconst isClass = (value) =>\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value) &&\n value.constructor.name !== 'Object' &&\n Object.isExtensible(value)\n\nconst shouldProxy = (value: any) => {\n return (\n value !== undefined &&\n (!isClass(value) ||\n (isClass(value) &&\n !(value instanceof Date) &&\n !(value instanceof Map) &&\n !(value instanceof Set)))\n )\n}\n\nexport class Proxifier {\n CACHED_PROXY = Symbol('CACHED_PROXY')\n delimiter: string\n ssr: boolean\n constructor(private tree: TTree) {\n this.delimiter = tree.master.options.delimiter\n this.ssr = Boolean(tree.master.options.ssr)\n }\n\n private concat(path, prop) {\n return path ? path + this.delimiter + prop : prop\n }\n\n ensureMutationTrackingIsEnabled(path) {\n if (ENVIRONMENT === 'production') return\n\n if (this.tree.master.options.devmode && !this.tree.canMutate()) {\n throw new Error(\n `proxy-state-tree - You are mutating the path \"${path}\", but it is not allowed. The following could have happened:\n \n - The mutation is explicitly being blocket\n - You are passing state to a 3rd party tool trying to manipulate the state\n - You are running asynchronous code and forgot to \"await\" its execution\n `\n )\n }\n }\n\n isDefaultProxifier() {\n return this.tree.proxifier === this.tree.master.proxifier\n }\n\n ensureValueDosntExistInStateTreeElsewhere(value) {\n if (ENVIRONMENT === 'production') return\n\n if (value && value[IS_PROXY] === true) {\n throw new Error(\n `proxy-state-tree - You are trying to insert a value that already exists in the state tree on path \"${\n value[PATH]\n }\"`\n )\n }\n\n return value\n }\n\n trackPath(path: string) {\n if (!this.tree.canTrack()) {\n return\n }\n\n if (this.isDefaultProxifier()) {\n const trackStateTree = this.tree.master.currentTree as ITrackStateTree<\n any\n >\n\n if (!trackStateTree) {\n return\n }\n\n trackStateTree.addTrackingPath(path)\n } else {\n ;(this.tree as ITrackStateTree).addTrackingPath(path)\n }\n }\n\n // With tracking trees we want to ensure that we are always\n // on the currently tracked tree. This ensures when we access\n // a tracking proxy that is not part of the current tracking tree (pass as prop)\n // we move the ownership to the current tracker\n getTrackingTree() {\n if (this.tree.master.currentTree && this.isDefaultProxifier()) {\n return this.tree.master.currentTree\n }\n\n if (!this.tree.canTrack()) {\n return null\n }\n\n if (this.tree.canTrack()) {\n return this.tree\n }\n\n return null\n }\n\n getMutationTree() {\n return this.tree.master.mutationTree || (this.tree as IMutationTree)\n }\n\n private isProxyCached(value, path) {\n return (\n value[this.CACHED_PROXY] &&\n String(value[this.CACHED_PROXY][PATH]) === String(path)\n )\n }\n\n private createArrayProxy(value, path) {\n if (!this.ssr && this.isProxyCached(value, path)) {\n return value[this.CACHED_PROXY]\n }\n\n const proxifier = this\n\n const proxy = new Proxy(value, {\n get(target, prop) {\n if (prop === IS_PROXY) return true\n if (prop === PATH) return path\n if (prop === VALUE) return value\n if (prop === 'indexOf') {\n return (searchTerm, offset) =>\n value.indexOf(getValue(searchTerm), getValue(offset))\n }\n if (\n prop === 'length' ||\n (typeof target[prop] === 'function' &&\n !arrayMutations.has(String(prop))) ||\n typeof prop === 'symbol'\n ) {\n return target[prop]\n }\n\n const trackingTree = proxifier.getTrackingTree()\n const nestedPath = proxifier.concat(path, prop)\n const currentTree = trackingTree || proxifier.tree\n\n trackingTree && trackingTree.proxifier.trackPath(nestedPath)\n currentTree.trackPathListeners.forEach((cb) => cb(nestedPath))\n\n const method = String(prop)\n\n if (arrayMutations.has(method)) {\n /* @__PURE__ */ proxifier.ensureMutationTrackingIsEnabled(nestedPath)\n return (...args) => {\n const mutationTree = proxifier.getMutationTree()\n\n let result\n\n if (ENVIRONMENT === 'production') {\n result = target[prop](...args)\n } else {\n result = target[prop](\n ...args.map((arg) =>\n /* @__PURE__ */ proxifier.ensureValueDosntExistInStateTreeElsewhere(\n arg\n )\n )\n )\n }\n\n mutationTree.addMutation({\n method,\n path: path,\n delimiter: proxifier.delimiter,\n args: args,\n hasChangedValue: true,\n })\n\n return result\n }\n }\n\n if (shouldProxy(target[prop])) {\n return proxifier.proxify(target[prop], nestedPath)\n }\n\n return target[prop]\n },\n set(target, prop, value) {\n const nestedPath = proxifier.concat(path, prop)\n\n /* @__PURE__ */ proxifier.ensureMutationTrackingIsEnabled(nestedPath)\n /* @__PURE__ */ proxifier.ensureValueDosntExistInStateTreeElsewhere(\n value\n )\n\n const mutationTree = proxifier.getMutationTree()\n const result = Reflect.set(target, prop, value)\n\n mutationTree.addMutation({\n method: 'set',\n path: nestedPath,\n args: [value],\n delimiter: proxifier.delimiter,\n hasChangedValue: true,\n })\n\n return result\n },\n })\n\n if (!this.ssr) {\n Object.defineProperty(value, this.CACHED_PROXY, {\n value: proxy,\n configurable: true,\n })\n }\n\n return proxy\n }\n\n private createObjectProxy(object, path) {\n if (!this.ssr && this.isProxyCached(object, path)) {\n return object[this.CACHED_PROXY]\n }\n\n const proxifier = this\n\n const proxy = new Proxy(object, {\n get(target, prop) {\n if (prop === IS_PROXY) return true\n if (prop === PATH) return path\n if (prop === VALUE) return object\n if (prop === PROXY_TREE) return proxifier.tree\n\n if (typeof prop === 'symbol' || prop in Object.prototype)\n return target[prop]\n\n const descriptor =\n Object.getOwnPropertyDescriptor(target, prop) ||\n (Object.getPrototypeOf(target) &&\n Object.getOwnPropertyDescriptor(\n Object.getPrototypeOf(target),\n prop\n ))\n\n if (descriptor && 'get' in descriptor) {\n const value = descriptor.get.call(proxy)\n\n if (\n proxifier.tree.master.options.devmode &&\n proxifier.tree.master.options.onGetter\n ) {\n proxifier.tree.master.options.onGetter(\n proxifier.concat(path, prop),\n value\n )\n }\n\n return value\n }\n\n const trackingTree = proxifier.getTrackingTree()\n const targetValue = target[prop]\n const nestedPath = proxifier.concat(path, prop)\n const currentTree = trackingTree || proxifier.tree\n\n if (typeof targetValue === 'function') {\n if (proxifier.tree.master.options.onGetFunction) {\n return proxifier.tree.master.options.onGetFunction(\n trackingTree || proxifier.tree,\n nestedPath,\n target,\n prop\n )\n }\n return isClass(target)\n ? targetValue\n : targetValue.call(target, proxifier.tree, nestedPath)\n } else {\n currentTree.trackPathListeners.forEach((cb) => cb(nestedPath))\n trackingTree && trackingTree.proxifier.trackPath(nestedPath)\n }\n\n if (shouldProxy(targetValue)) {\n return proxifier.proxify(targetValue, nestedPath)\n }\n\n return targetValue\n },\n set(target, prop, value) {\n const nestedPath = proxifier.concat(path, prop)\n\n /* @__PURE__ */ proxifier.ensureMutationTrackingIsEnabled(nestedPath)\n /* @__PURE__ */ proxifier.ensureValueDosntExistInStateTreeElsewhere(\n value\n )\n\n let objectChangePath\n\n if (!(prop in target)) {\n objectChangePath = path\n }\n\n const mutationTree = proxifier.getMutationTree()\n const existingValue = target[prop]\n\n if (\n typeof value === 'function' &&\n proxifier.tree.master.options.onSetFunction\n ) {\n value = proxifier.tree.master.options.onSetFunction(\n proxifier.getTrackingTree() || proxifier.tree,\n nestedPath,\n target,\n prop,\n value\n )\n }\n\n const hasChangedValue = existingValue !== value\n const result = Reflect.set(target, prop, value)\n\n mutationTree.addMutation(\n {\n method: 'set',\n path: nestedPath,\n args: [value],\n delimiter: proxifier.delimiter,\n hasChangedValue,\n },\n objectChangePath\n )\n\n return result\n },\n deleteProperty(target, prop) {\n const nestedPath = proxifier.concat(path, prop)\n\n /* @__PURE__ */ proxifier.ensureMutationTrackingIsEnabled(nestedPath)\n\n let objectChangePath\n if (prop in target) {\n objectChangePath = path\n }\n\n const mutationTree = proxifier.getMutationTree()\n\n delete target[prop]\n\n mutationTree.addMutation(\n {\n method: 'unset',\n path: nestedPath,\n args: [],\n delimiter: proxifier.delimiter,\n hasChangedValue: true,\n },\n objectChangePath\n )\n\n return true\n },\n })\n\n if (!this.ssr) {\n Object.defineProperty(object, this.CACHED_PROXY, {\n value: proxy,\n configurable: true,\n })\n }\n\n return proxy\n }\n\n proxify(value: any, path: string) {\n if (value) {\n const isUnmatchingProxy =\n value[IS_PROXY] &&\n (String(value[PATH]) !== String(path) ||\n value[VALUE][this.CACHED_PROXY] !== value)\n\n if (isUnmatchingProxy) {\n return this.proxify(value[VALUE], path)\n } else if (value[IS_PROXY]) {\n return value\n } else if (Array.isArray(value)) {\n return this.createArrayProxy(value, path)\n } else if (isPlainObject(value) || isClass(value)) {\n return this.createObjectProxy(value, path)\n }\n }\n\n return value\n }\n}\n","import { Proxifier } from './Proxyfier'\nimport {\n IMutation,\n IMutationCallback,\n IMutationTree,\n IProxifier,\n IProxyStateTree,\n} from './types'\n\nexport class MutationTree implements IMutationTree {\n private mutationCallbacks: IMutationCallback[] = []\n master: IProxyStateTree\n state: T\n proxifier: IProxifier\n mutations: IMutation[] = []\n objectChanges = new Set()\n isTracking: boolean = false\n isBlocking: boolean = false\n trackPathListeners: Array<(path: string) => void> = []\n constructor(master: IProxyStateTree, proxifier?: IProxifier) {\n this.isTracking = true\n this.master = master\n this.proxifier = proxifier || new Proxifier(this)\n this.state = this.proxifier.proxify(master.sourceState, '')\n }\n\n trackPaths() {\n const paths = new Set()\n const listener = (path) => {\n paths.add(path)\n }\n this.trackPathListeners.push(listener)\n\n return () => {\n this.trackPathListeners.splice(\n this.trackPathListeners.indexOf(listener),\n 1\n )\n\n return paths\n }\n }\n\n getMutations() {\n const mutations = this.mutations.slice()\n\n this.mutations.length = 0\n\n return mutations\n }\n\n getObjectChanges() {\n const objectChanges = new Set([...this.objectChanges])\n\n this.objectChanges.clear()\n\n return objectChanges\n }\n\n addMutation(mutation: IMutation, objectChangePath?: string) {\n const currentFlushId = this.master.currentFlushId\n\n this.mutations.push(mutation)\n\n if (objectChangePath) {\n this.objectChanges.add(objectChangePath)\n }\n\n for (const cb of this.master.mutationCallbacks) {\n cb(\n mutation,\n new Set(\n objectChangePath ? [mutation.path, objectChangePath] : [mutation.path]\n ),\n currentFlushId\n )\n }\n\n for (const callback of this.mutationCallbacks) {\n callback(\n mutation,\n new Set(\n objectChangePath ? [mutation.path, objectChangePath] : [mutation.path]\n ),\n currentFlushId\n )\n }\n }\n\n flush(isAsync: boolean = false) {\n return this.master.flush(this, isAsync)\n }\n\n onMutation(callback: IMutationCallback) {\n this.mutationCallbacks.push(callback)\n }\n\n canMutate() {\n return this.isTracking && !this.isBlocking\n }\n\n canTrack() {\n return false\n }\n\n blockMutations() {\n this.isBlocking = true\n }\n\n enableMutations() {\n this.isBlocking = false\n }\n\n dispose() {\n this.isTracking = false\n this.mutationCallbacks.length = 0\n this.proxifier = this.master.proxifier\n\n return this\n }\n}\n","import {\n IProxifier,\n IProxyStateTree,\n ITrackCallback,\n ITrackScopedCallback,\n ITrackStateTree,\n} from './types'\n\nexport class TrackStateTree implements ITrackStateTree {\n private disposeOnReset: Function\n master: IProxyStateTree\n pathDependencies: Set = new Set()\n callback: ITrackCallback\n shouldTrack: boolean = false\n state: T\n proxifier: IProxifier\n trackPathListeners: Array<(path: string) => void> = []\n constructor(master: IProxyStateTree) {\n this.master = master\n this.proxifier = master.proxifier\n this.state = master.state\n }\n\n trackPaths() {\n const paths = new Set()\n const listener = (path) => {\n paths.add(path)\n }\n this.trackPathListeners.push(listener)\n\n return () => {\n this.trackPathListeners.splice(\n this.trackPathListeners.indexOf(listener),\n 1\n )\n\n return paths\n }\n }\n\n canMutate() {\n return false\n }\n\n canTrack() {\n return true\n }\n\n addTrackingPath(path: string) {\n if (!this.shouldTrack) {\n return\n }\n\n this.pathDependencies.add(path)\n\n if (this.callback) {\n this.master.addPathDependency(path, this.callback)\n }\n }\n\n track(cb?: ITrackCallback) {\n this.master.changeTrackStateTree(this)\n this.shouldTrack = true\n\n this.clearTracking()\n\n if (cb) {\n this.callback = (...args) => {\n if (!this.callback) {\n return\n }\n // eslint-disable-next-line\n cb(...args)\n }\n }\n\n return this\n }\n\n clearTracking() {\n if (this.callback) {\n for (const path of this.pathDependencies) {\n this.master.removePathDependency(path, this.callback)\n }\n }\n\n this.pathDependencies.clear()\n }\n\n stopTracking() {\n this.shouldTrack = false\n }\n\n trackScope(scope: ITrackScopedCallback, cb?: ITrackCallback) {\n const previousPreviousTree = this.master.previousTree\n const previousCurrentTree = this.master.currentTree\n this.master.currentTree = this\n this.track(cb)\n const result = scope(this)\n this.master.currentTree = previousCurrentTree\n this.master.previousTree = previousPreviousTree\n this.stopTracking()\n return result\n }\n\n dispose() {\n if (!this.callback) {\n this.pathDependencies.clear()\n\n return this\n }\n\n this.clearTracking()\n this.callback = null\n this.proxifier = this.master.proxifier\n\n if (this.master.currentTree === this) {\n this.master.currentTree = null\n }\n\n return this\n }\n}\n","import { MutationTree } from './MutationTree'\nimport { IS_PROXY, PATH, PROXY_TREE, Proxifier, VALUE } from './Proxyfier'\nimport { TrackStateTree } from './TrackStateTree'\nimport {\n IFlushCallback,\n IMutation,\n IMutationCallback,\n IMutationTree,\n IOptions,\n IProxifier,\n IProxyStateTree,\n ITrackCallback,\n ITrackStateTree,\n TTree,\n} from './types'\n\nexport {\n IS_PROXY,\n PROXY_TREE,\n VALUE,\n PATH,\n IMutation,\n ITrackCallback,\n ITrackStateTree,\n IMutationTree,\n TrackStateTree,\n MutationTree,\n}\n\nexport * from './types'\n\nexport class ProxyStateTree implements IProxyStateTree {\n private cache = {\n mutationTree: [] as IMutationTree[],\n trackStateTree: [] as ITrackStateTree[],\n }\n\n flushCallbacks: IFlushCallback[] = []\n mutationCallbacks: IMutationCallback[] = []\n currentFlushId: number = 0\n currentTree: TTree\n previousTree: TTree\n mutationTree: IMutationTree\n proxifier: IProxifier\n master: ProxyStateTree\n pathDependencies: {\n [path: string]: Set\n } = {}\n\n state: T\n sourceState: T\n options: IOptions\n constructor(state: T, options: IOptions = {}) {\n if (typeof options.devmode === 'undefined') {\n options.devmode = true\n }\n\n if (!options.delimiter) {\n options.delimiter = '.'\n }\n\n this.master = this\n this.sourceState = state\n this.options = options\n\n this.createTrackStateProxifier()\n }\n\n /*\n We create a base proxifier for tracking state. That means there is one\n proxifier for all track state trees. This works because the actual tracking\n refers to the current tree on \"master\"\n */\n private createTrackStateProxifier() {\n const trackStateTree = new TrackStateTree(this)\n\n this.proxifier = trackStateTree.proxifier = new Proxifier(trackStateTree)\n\n this.state = trackStateTree.state = this.proxifier.proxify(\n this.sourceState,\n ''\n )\n }\n\n getMutationTree(): IMutationTree {\n if (!this.options.devmode) {\n return (this.mutationTree =\n this.mutationTree || new MutationTree(this, this.proxifier))\n }\n\n const tree = this.cache.mutationTree.pop() || new MutationTree(this)\n\n return tree\n }\n\n getTrackStateTree(): ITrackStateTree {\n return this.cache.trackStateTree.pop() || new TrackStateTree(this)\n }\n\n getTrackStateTreeWithProxifier(): ITrackStateTree {\n const tree = this.getTrackStateTree()\n\n if (this.options.ssr) {\n tree.state = this.sourceState\n } else {\n tree.proxifier = new Proxifier(tree)\n tree.state = tree.proxifier.proxify(this.sourceState, '')\n }\n\n return tree\n }\n\n changeTrackStateTree(tree: ITrackStateTree) {\n this.previousTree = this.currentTree\n this.currentTree = tree\n }\n\n disposeTree(tree: IMutationTree | ITrackStateTree) {\n if (tree instanceof MutationTree) {\n this.cache.mutationTree.push((tree as IMutationTree).dispose())\n } else if (tree instanceof TrackStateTree) {\n this.cache.trackStateTree.push((tree as ITrackStateTree).dispose())\n }\n }\n\n onMutation(callback: IMutationCallback) {\n this.mutationCallbacks.push(callback)\n\n return () => {\n this.mutationCallbacks.splice(this.mutationCallbacks.indexOf(callback), 1)\n }\n }\n\n forceFlush() {\n const emptyMutations = []\n const emptyPaths = []\n for (const key in this.pathDependencies) {\n const callbacks = this.pathDependencies[key]\n callbacks.forEach((callback) => {\n callback(emptyMutations, emptyPaths, this.currentFlushId++, false)\n })\n }\n }\n\n flush(trees, isAsync: boolean = false) {\n let changes\n if (Array.isArray(trees)) {\n changes = trees.reduce(\n (aggr, tree) => ({\n mutations: aggr.mutations.concat(tree.getMutations()),\n objectChanges: new Set([\n ...aggr.objectChanges,\n ...tree.getObjectChanges(),\n ]),\n }),\n {\n mutations: [],\n objectChanges: new Set(),\n }\n )\n } else {\n changes = {\n mutations: (trees as IMutationTree).getMutations(),\n objectChanges: (trees as IMutationTree).getObjectChanges(),\n }\n }\n\n if (!changes.mutations.length && !changes.objectChanges.size) {\n return {\n mutations: [],\n flushId: null,\n }\n }\n\n const paths: Set = new Set()\n const pathCallbacksToCall: Set = new Set()\n\n const flushId = this.currentFlushId++\n\n for (const objectChange of changes.objectChanges) {\n if (this.pathDependencies[objectChange]) {\n paths.add(objectChange)\n }\n }\n\n for (const mutation of changes.mutations) {\n if (mutation.hasChangedValue) {\n paths.add(mutation.path)\n }\n }\n\n // Sort so that parent paths are called first\n const sortedPaths = Array.from(paths).sort()\n\n for (const path of sortedPaths) {\n if (this.pathDependencies[path]) {\n for (const callback of this.pathDependencies[path]) {\n pathCallbacksToCall.add(callback)\n }\n }\n }\n\n for (const callback of pathCallbacksToCall) {\n callback(changes.mutations, sortedPaths, flushId, isAsync)\n }\n\n // We have to ensure that we iterate all callbacks. One flush might\n // lead to a change of the array (disposing), which means something\n // might be skipped. But we still want to allow removal of callbacks,\n // we just do not want to skip any, which is why we still check if it\n // exists in the original array\n const flushCallbacks = this.flushCallbacks.slice()\n for (const callback of flushCallbacks) {\n if (this.flushCallbacks.includes(callback)) {\n callback(changes.mutations, sortedPaths, flushId, isAsync)\n }\n }\n\n paths.clear()\n pathCallbacksToCall.clear()\n\n return {\n mutations: changes.mutations,\n flushId,\n }\n }\n\n onFlush(callback: IFlushCallback) {\n this.flushCallbacks.push(callback)\n\n return () =>\n this.flushCallbacks.splice(this.flushCallbacks.indexOf(callback), 1)\n }\n\n rescope(value: any, tree: TTree) {\n return value && value[IS_PROXY]\n ? tree.proxifier.proxify(value[VALUE], value[PATH])\n : value\n }\n\n addPathDependency(path: string, callback: ITrackCallback) {\n if (!this.pathDependencies[path]) {\n this.pathDependencies[path] = new Set()\n }\n\n this.pathDependencies[path].add(callback)\n }\n\n removePathDependency(path: string, callback: ITrackCallback) {\n this.pathDependencies[path].delete(callback)\n\n if (!this.pathDependencies[path].size) {\n delete this.pathDependencies[path]\n }\n }\n\n toJSON() {\n return this.sourceState\n }\n}\n","import {\n IFlushCallback,\n IMutation,\n IMutationTree,\n ITrackStateTree,\n} from 'proxy-state-tree'\nimport { IAction, IOperator } from './types'\n\nexport type SubType = Pick<\n Base,\n {\n [Key in keyof Base]: Base[Key] extends Condition | undefined ? Key : never\n }[keyof Base]\n>\n\nexport type NestedPartial = T extends Function\n ? T\n : Partial<{ [P in keyof T]: NestedPartial }>\n\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error'\n\nexport type Options = {\n delimiter?: string\n name?: string\n devEnv?: string\n devtools?: string | boolean\n logProxies?: boolean\n hotReloading?: boolean\n strict?: boolean\n devtoolsLogLevel?: LogLevel\n}\n\nexport type DefaultMode = {\n mode: Symbol\n}\n\nexport type TestMode = {\n mode: Symbol\n options: {\n effectsCallback: (\n effect: {\n effectId: number\n name: string\n method: string\n args: any[]\n }\n ) => {}\n }\n}\n\nexport type SSRMode = {\n mode: Symbol\n}\n\nexport enum EventType {\n ACTION_START = 'action:start',\n ACTION_END = 'action:end',\n OPERATOR_START = 'operator:start',\n OPERATOR_END = 'operator:end',\n OPERATOR_ASYNC = 'operator:async',\n MUTATIONS = 'mutations',\n EFFECT = 'effect',\n DERIVED = 'derived',\n DERIVED_DIRTY = 'derived:dirty',\n COMPONENT_ADD = 'component:add',\n COMPONENT_UPDATE = 'component:update',\n COMPONENT_REMOVE = 'component:remove',\n GETTER = 'getter',\n}\n\nexport type Execution = {\n actionId: number\n executionId: number\n actionName: string\n operatorId: number\n isRunning: boolean\n parentExecution?: Execution\n path: string[]\n emit(event: EventType, value: any): void\n flush(\n isAsync?: boolean\n ): {\n mutations: IMutation[]\n flushId: number\n }\n getMutationTree(): IMutationTree\n getTrackStateTree(): ITrackStateTree\n onFlush(cb: IFlushCallback): () => IFlushCallback[]\n value?: any\n error?: string\n}\n\nexport interface Events {\n [EventType.ACTION_START]: Execution\n [EventType.ACTION_END]: Execution\n [EventType.OPERATOR_START]: Execution & {\n path: string[]\n type: string\n name?: string\n }\n [EventType.OPERATOR_END]: Execution & {\n path: string[]\n isAsync: boolean\n result: any\n }\n [EventType.OPERATOR_ASYNC]: Execution & {\n path: string[]\n type: string\n name?: string\n }\n [EventType.MUTATIONS]: Execution & {\n mutations: IMutation[]\n }\n [EventType.DERIVED]: {\n path: string\n paths: string[]\n updateCount: number\n value: any\n }\n [EventType.DERIVED_DIRTY]: {\n derivedPath: string[]\n path: string\n flushId: number\n }\n [EventType.EFFECT]: Execution & {\n result: any\n name: string\n method: string\n args: any[]\n isPending: boolean\n error: string\n effectId: number\n }\n [EventType.GETTER]: {\n path: string\n value: any\n }\n [EventType.COMPONENT_ADD]: {\n componentId: number | string\n componentInstanceId: number\n name: string\n paths: string[]\n }\n [EventType.COMPONENT_UPDATE]: {\n componentId: number | string\n componentInstanceId: number\n name: string\n paths: string[]\n flushId?: number\n }\n [EventType.COMPONENT_REMOVE]: {\n componentId: number | string\n componentInstanceId: number\n name: string\n }\n}\n\n// ============= PRIVATE TYPES FOR APP\n\ntype NestedActions = {\n [key: string]: Function | NestedActions\n}\n\nexport type ResolveAction = T extends IOperator\n ? () => Promise\n : T extends IOperator\n ? (payload?: P) => Promise\n : T extends IOperator\n ? (payload: P) => Promise\n : T extends IAction\n ? () => R\n : T extends IAction\n ? (payload?: P) => R\n : T extends IAction\n ? (payload: P) => R\n : T extends NestedActions\n ? { [K in keyof T]: ResolveAction }\n : never\n\nexport interface ContextFunction

    {\n (\n context: {\n state: any\n actions: any\n effects: any\n reaction: any\n addMutationListener: any\n addFlushListener: any\n },\n payload: P\n ): R\n}\n\n// This resolves promises to its values, cause that is how operators work\nexport interface OperatorContextFunction

    {\n (\n context: {\n state: any\n actions: any\n effects: any\n reaction: any\n addMutationListener: any\n addFlushListener: any\n },\n payload: P extends Promise ? PP : P\n ): R\n}\n","import { EventEmitter } from 'betsy'\nimport {\n IMutationTree,\n IS_PROXY,\n ITrackStateTree,\n ProxyStateTree,\n TrackStateTree,\n} from 'proxy-state-tree'\n\nimport { EventType, Events } from './internalTypes'\n\nexport const IS_DERIVED = Symbol('IS_DERIVED')\nexport const IS_DERIVED_CONSTRUCTOR = Symbol('IS_DERIVED_CONSTRUCTOR')\n\nexport class Derived {\n private isDirty: boolean = true\n private previousProxifier: any\n private value: any\n private paths: Set\n private updateCount: number = 0\n private disposeOnMutation: () => void\n constructor(private cb: (state: object, parent: object) => void) {\n const boundEvaluate: any = this.evaluate.bind(this)\n\n if (process.env.NODE_ENV === 'development') {\n boundEvaluate.dispose = () => {\n this.disposeOnMutation()\n }\n }\n\n boundEvaluate[IS_DERIVED] = true\n\n return boundEvaluate\n }\n\n private runScope(tree, path) {\n const parent = path\n .slice(0, path.length - 1)\n .reduce((curr, key) => curr[key], tree.state)\n\n return this.cb(parent, tree.state)\n }\n\n evaluate(\n eventHub: EventEmitter,\n tree: ITrackStateTree | IMutationTree,\n proxyStateTree: ProxyStateTree,\n path\n ) {\n if (!this.disposeOnMutation) {\n this.disposeOnMutation = proxyStateTree.onMutation(\n (_, paths, flushId) => {\n if (\n typeof path.reduce(\n (aggr, key) => aggr && aggr[key],\n proxyStateTree.sourceState\n ) !== 'function'\n ) {\n this.disposeOnMutation()\n return\n }\n\n if (this.isDirty) {\n return\n }\n\n for (const mutationPath of paths) {\n if (this.paths.has(mutationPath)) {\n this.isDirty = true\n eventHub.emitAsync(EventType.DERIVED_DIRTY, {\n derivedPath: path,\n path: mutationPath,\n flushId,\n })\n return\n }\n }\n }\n )\n }\n\n // During development we need to move the ownership of whatever state is returned from\n // the derived to track it correctly. In production we only have one proxifier, so no worries\n if (this.isDirty || this.previousProxifier !== tree.proxifier) {\n const getPaths = tree.trackPaths()\n\n this.value = this.runScope(tree, path)\n this.isDirty = false\n this.paths = getPaths()\n\n if (process.env.NODE_ENV === 'development') {\n eventHub.emitAsync(EventType.DERIVED, {\n path,\n paths: Array.from(this.paths),\n updateCount: this.updateCount,\n value: this.value,\n })\n this.updateCount++\n }\n }\n\n if (tree instanceof TrackStateTree) {\n // If we access a cached value we have to make sure that we move\n // the tracked paths into the tree looking at it, where\n // addTrackingPath is for initial tree and \"trackPathListeners\"\n // is for nested derived\n for (const path of this.paths) {\n tree.addTrackingPath(path)\n tree.trackPathListeners.forEach((cb) => cb(path))\n }\n }\n\n this.previousProxifier = tree.proxifier\n\n // This value might be a proxy, we need to rescope\n // it to the current tree looking\n if (this.value && this.value[IS_PROXY]) {\n return proxyStateTree.rescope(this.value, tree)\n }\n\n return this.value\n }\n}\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","export type Listener = {\n once: boolean\n cb: ({}) => void\n}\n\nexport class EventEmitter {\n private events = new Map()\n\n emit(event: K, msg: T[K]) {\n const listeners = this.events.get(event) || []\n\n for (let i = listeners.length - 1; i >= 0; i--) {\n const listener = listeners[i]\n\n listener.cb(msg)\n\n if (listener.once) {\n listeners.splice(i, 1)\n }\n }\n }\n\n emitAsync(event: K, msg: T[K]) {\n const listeners = this.events.get(event) || []\n\n setTimeout(() => {\n for (let i = listeners.length - 1; i >= 0; i--) {\n const listener = listeners[i]\n\n listener.cb(msg)\n\n if (listener.once) {\n listeners.splice(i, 1)\n }\n }\n })\n }\n\n on(event: K, cb: (msg: T[K]) => void) {\n this.addListener(event, cb, false)\n }\n\n once(event: K, cb: (msg: T[K]) => void) {\n this.addListener(event, cb, true)\n }\n\n private addListener(event: keyof T, cb: ({}) => void, once: boolean) {\n const listeners = this.events.get(event) || []\n\n listeners.push({\n once,\n cb,\n })\n\n this.events.set(event, listeners)\n }\n}\n","import { IMutation } from 'proxy-state-tree'\n\nexport function rehydrateState(target: any, source: any, classes: any = {}) {\n if (!target || !source) {\n throw new Error(\n `You have to pass a \"target\" and \"source\" object to rehydrate`\n )\n }\n\n Object.keys(source).forEach((key) => {\n const value = source[key]\n const classInstance = classes[key]\n\n if (typeof classInstance === 'function' && Array.isArray(target[key])) {\n target[key] = (source[key] as any[]).map((value) => classInstance(value))\n } else if (\n typeof classInstance === 'function' &&\n typeof target[key] === 'object' &&\n target[key] !== null &&\n target[key].constructor.name === 'Object'\n ) {\n target[key] = Object.keys(source[key] as any).reduce((aggr, subKey) => {\n aggr[subKey] = classInstance((source[key] as any)[subKey])\n\n return aggr\n }, {})\n } else if (typeof classInstance === 'function') {\n target[key] = classInstance(source[key])\n } else if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n if (!target[key]) target[key] = {}\n rehydrateState(target[key], source[key], classes[key])\n } else {\n target[key] = source[key]\n }\n })\n}\n\nexport const SERIALIZE = Symbol('SERIALIZE')\n\nexport interface Serialize {\n [SERIALIZE]: boolean\n}\n\nexport type Serializable =\n | Serialize\n | {\n toJSON: () => {\n [SERIALIZE]: boolean\n }\n }\n\ntype SerializableValue =\n | Serializable\n | Array\n | { [key: string]: Serializable }\n | null\n\ntype FilteredKeys = {\n [P in keyof T]: T[P] extends U ? P : never\n}[keyof T]\n\ntype ExcludeNever = {\n [P in keyof T]: T[P] extends never ? never : P\n}[keyof T]\n\ntype ExtracType = {\n [P in FilteredKeys]: T[P] extends SerializableValue\n ? (data: any) => Serializable\n : T[P] extends {}\n ? ExtracType extends { [key: string]: never }\n ? never\n : ExtractDeepType\n : never\n}\n\ntype ExtractDeepType> = {\n [P in ExcludeNever]: U[P]\n}\n\ntype StateNode = {\n [key: string]: any\n}\n\nexport const rehydrate = (\n state: T,\n source: IMutation[] | StateNode,\n classes: ExtractDeepType = {} as any\n) => {\n if (Array.isArray(source)) {\n const mutations = source as IMutation[]\n mutations.forEach((mutation) => {\n const pathArray = mutation.path.split(mutation.delimiter)\n const key = pathArray.pop() as string\n const target = pathArray.reduce((aggr, key) => aggr[key], state as any)\n const classInstance = pathArray.reduce(\n (aggr, key) => aggr && aggr[key],\n classes as any\n )\n\n if (mutation.method === 'set') {\n if (\n typeof classInstance === 'function' &&\n Array.isArray(mutation.args[0])\n ) {\n target[key] = mutation.args[0].map((arg) => classInstance(arg))\n } else if (typeof classInstance === 'function') {\n target[key] = classInstance(mutation.args[0])\n } else {\n target[key] = mutation.args[0]\n }\n } else if (mutation.method === 'unset') {\n delete target[key]\n } else {\n target[key][mutation.method].apply(\n target[key],\n typeof classInstance === 'function'\n ? mutation.args.map((arg) => {\n return typeof arg === 'object' && arg !== null\n ? classInstance(arg)\n : arg\n })\n : mutation.args\n )\n }\n })\n } else {\n rehydrateState(state, source, classes)\n }\n}\n","import { LogLevel } from './internalTypes'\nimport { SERIALIZE } from './rehydrate'\n\nexport type Message = {\n type: string\n data?: object\n}\n\nexport type DevtoolsMessage = {\n type: string\n appName: string\n data: any\n}\n\nexport class Devtools {\n private safeClassNames: Set = new Set()\n private unsafeClassNames: Set = new Set()\n private circularReferenceCache: any[] = []\n private buffer: string[] = []\n private serializer = Promise.resolve()\n private ws: WebSocket\n private isConnected: boolean = false\n private doReconnect: boolean = false\n private hasWarnedReconnect: boolean = false\n private reconnectInterval: number = 10000\n private name: string\n constructor(name: string, private logLevel: LogLevel = 'error') {\n this.name =\n typeof location !== 'undefined' &&\n location.search.includes('OVERMIND_DEVTOOL')\n ? name + ' (Overmind Devtool)'\n : name\n }\n\n connect = (host: string, onMessage: (message: Message) => void) => {\n host = host || 'localhost:3031'\n\n this.ws = new WebSocket(`ws://${host}?name=${this.name}`)\n this.ws.onmessage = (event) => {\n const data = JSON.parse(event.data)\n\n if (data.appName !== this.name) {\n return\n }\n onMessage(data)\n }\n this.ws.onopen = () => {\n this.isConnected = true\n this.flushBuffer()\n }\n this.ws.onerror = () => {\n console[this.logLevel](\n `OVERMIND DEVTOOLS: Not able to connect. You are trying to connect to \"${host}\", but there was no devtool there. Try the following:\n \n - Make sure you are running the latest version of the devtools, using \"npx overmind-devtools@latest\" or install latest extension for VSCode\n - Close the current tab and open a new one\n - Make sure the correct port is configured in the devtools\n `\n )\n }\n this.ws.onclose = () => {\n this.isConnected = false\n\n if (this.doReconnect && !this.hasWarnedReconnect) {\n console.warn(\n 'Debugger application is not running on selected port... will reconnect automatically behind the scenes'\n )\n this.hasWarnedReconnect = true\n }\n\n if (this.doReconnect) {\n this.reconnect(host, onMessage)\n }\n }\n }\n\n private reconnect(host, onMessage) {\n setTimeout(\n () =>\n this.connect(\n host,\n onMessage\n ),\n this.reconnectInterval\n )\n }\n\n send(message: Message) {\n const safeClassNames = this.safeClassNames\n const unsafeClassNames = this.unsafeClassNames\n const circularReferenceCache = this.circularReferenceCache\n\n this.sendMessage(\n JSON.stringify(message, function(_, value) {\n if (typeof value === 'function') {\n return '[Function]'\n }\n\n if (this.__CLASS__) {\n return value\n }\n\n if (value && value[SERIALIZE]) {\n return {\n __CLASS__: true,\n name: value.constructor.name,\n value,\n }\n }\n\n if (\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value) &&\n value.constructor &&\n value.constructor.name !== 'Object'\n ) {\n if (circularReferenceCache.includes(value)) {\n return `[CIRCULAR REFERENCE: ${value.constructor.name}]`\n }\n\n circularReferenceCache.push(value)\n\n if (\n !safeClassNames.has(value.constructor.name) &&\n !unsafeClassNames.has(value.constructor.name)\n ) {\n try {\n JSON.stringify(value)\n safeClassNames.add(value.constructor.name)\n } catch {\n unsafeClassNames.add(value.constructor.name)\n }\n }\n\n if (safeClassNames.has(value.constructor.name)) {\n return {\n __CLASS__: true,\n name: value.constructor.name,\n value,\n }\n } else {\n return `[${value.constructor.name || 'NOT SERIALIZABLE'}]`\n }\n }\n\n return value\n })\n )\n circularReferenceCache.length = 0\n }\n\n private sendMessage = (payload: string) => {\n if (!this.isConnected) {\n this.buffer.push(payload)\n return\n }\n this.ws.send(`{\"appName\":\"${this.name}\",\"message\":${payload}}`)\n }\n\n private flushBuffer = async () => {\n this.buffer.forEach((payload) => {\n this.sendMessage(payload)\n })\n this.buffer.length = 0\n }\n}\n","export const doNotProxy = Symbol('doNotProxy')\n\nfunction isObject(value) {\n return typeof value === 'object' && !Array.isArray(value) && value !== null\n}\n\nlet hasWarnedConstructor = false\nlet currentEffectId = 0\nconst ORIGIN_TARGET = Symbol('ORIGIN_TARGET')\nexport function proxifyEffects(\n effects: Effects,\n cb: (effect) => void,\n path: string = ''\n): Effects {\n if (!isObject(effects) && !(typeof effects === 'function')) {\n return effects\n }\n\n return new Proxy(effects as any, {\n apply(target, thisArg, agumentsList) {\n const effectId = currentEffectId++\n const name = path.split('.')\n const method = name.pop()\n // eslint-disable-next-line\n return cb({\n func: target.bind(thisArg ? thisArg[ORIGIN_TARGET] : undefined),\n effectId,\n name: name.join('.'),\n method,\n args: agumentsList,\n })\n },\n construct(Target, args) {\n if (!hasWarnedConstructor) {\n console.warn(\n `EFFECTS - It is highly recommended to create a custom effect, exposing a method that deals with the instantiation of \"${path}\". It improves readability and debugability of your app`\n )\n hasWarnedConstructor = true\n }\n\n return new Target(...args)\n },\n get(target, prop) {\n if (prop === ORIGIN_TARGET) {\n return target\n }\n\n return proxifyEffects(\n target[prop],\n cb,\n path ? path + '.' + prop.toString() : prop.toString()\n )\n },\n })\n}\n","import isPlainObject from 'is-plain-obj'\nimport { PATH, PROXY_TREE, VALUE } from 'proxy-state-tree'\n\nimport { IState } from '.'\n\ntype TState = {\n current: string\n} & TBaseState\n\ntype TBaseState = {\n [key: string]: IState | Statemachine\n}\n\ntype TEvents = {\n type: string\n data?: any\n}\n\nexport type StatemachineTransitions<\n States extends TState,\n Events extends TEvents,\n BaseState extends TBaseState\n> =\n | ([BaseState] extends [never]\n ? (event: Events, state: States) => States | void\n : (event: Events, state: States & BaseState) => States | void)\n | {\n [State in States['current']]: {\n [Type in Events['type']]?: [BaseState] extends [never]\n ? ((\n event: Events extends { type: Type } ? Events['data'] : never,\n state: States extends { current: State } ? States : never\n ) => States | void)\n : ((\n event: Events extends { type: Type } ? Events['data'] : never,\n state: States extends { current: State }\n ? States & BaseState\n : never\n ) => States | void)\n }\n }\n\nexport interface MachineMethods<\n States extends TState,\n Events extends TEvents,\n BaseState extends TBaseState\n> {\n matches(\n current: T\n ):\n | Statemachine<\n States extends { current: T } ? States : never,\n Events,\n BaseState\n >\n | undefined\n send(\n ...args: Events extends { type: T; data: any } ? [T, Events['data']] : [T]\n ): Statemachine\n onTransition(listener: (state: States) => void): void\n}\n\nexport type Statemachine<\n States extends TState,\n Events extends TEvents,\n BaseState extends TBaseState = never\n> = [BaseState] extends [never]\n ? States & MachineMethods\n : States & BaseState & MachineMethods\n\nconst INITIAL_STATE = Symbol('INITIAL_STATE')\nconst TRANSITIONS = Symbol('TRANSITIONS')\nconst STATE = Symbol('STATE')\nconst IS_DISPOSED = Symbol('IS_DISPOSED')\nconst CURRENT_KEYS = Symbol('CURRENT_KEYS')\nconst BASE_STATE = Symbol('BASE_STATE')\nconst TRANSITION_LISTENERS = Symbol('TRANSITION_LISTENERS')\n\n// We have to export here to avoid a circular dependency issue with \"utils\"\nexport function deepCopy(obj) {\n if (obj instanceof StateMachine) {\n return (obj as any).clone()\n } else if (isPlainObject(obj)) {\n return Object.keys(obj).reduce((aggr: any, key) => {\n if (key === '__esModule') {\n return aggr\n }\n\n const originalDescriptor = Object.getOwnPropertyDescriptor(obj, key)\n const isAGetter = originalDescriptor && 'get' in originalDescriptor\n const value = obj[key]\n\n if (isAGetter) {\n Object.defineProperty(aggr, key, originalDescriptor as any)\n } else {\n aggr[key] = deepCopy(value)\n }\n\n return aggr\n }, {})\n } else if (Array.isArray(obj)) {\n return obj.map((item) => deepCopy(item))\n }\n\n return obj\n}\n\nexport class StateMachine<\n State extends TState,\n Events extends TEvents,\n BaseState extends TBaseState\n> {\n current: State['current']\n private [INITIAL_STATE]: State['current']\n private [TRANSITIONS]: StatemachineTransitions\n private [STATE]: any\n private [BASE_STATE]: BaseState\n private [TRANSITION_LISTENERS]: Array<(state: State) => void> = []\n private [IS_DISPOSED] = false\n private clone() {\n return new StateMachine(\n this[TRANSITIONS],\n deepCopy(this[STATE]),\n deepCopy(this[BASE_STATE])\n )\n }\n\n private dispose() {\n this[VALUE][TRANSITION_LISTENERS] = []\n Object.keys(this[VALUE]).forEach((key) => {\n if (this[VALUE][key] instanceof StateMachine) {\n this[key].dispose()\n }\n })\n this[VALUE][IS_DISPOSED] = true\n }\n\n constructor(\n transitions: StatemachineTransitions,\n state: State,\n baseState: BaseState\n ) {\n this[STATE] = state\n this[BASE_STATE] = baseState\n this[INITIAL_STATE] = state.current\n this[BASE_STATE] = baseState\n this[TRANSITIONS] = transitions\n this[CURRENT_KEYS] = Object.keys(state)\n Object.assign(this, state, baseState)\n }\n\n send(type, data) {\n if (this[VALUE][IS_DISPOSED]) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n `Overmind - The statemachine at \"${\n this[PATH]\n }\" has been disposed, but you tried to transition on it`\n )\n }\n return this\n }\n\n const tree = this[PROXY_TREE].master.mutationTree || this[PROXY_TREE]\n\n tree.enableMutations()\n\n let result\n\n if (typeof this[VALUE][TRANSITIONS] === 'function') {\n const transition = this[VALUE][TRANSITIONS]\n\n result = transition({ type, data }, this)\n } else if (this[VALUE][TRANSITIONS][this[VALUE].current][type]) {\n const transition = this[VALUE][TRANSITIONS][this[VALUE].current][type]\n\n result = transition(data, this)\n }\n\n if (result) {\n this[VALUE][CURRENT_KEYS].forEach((key) => {\n if (key !== 'current') {\n delete this[key]\n }\n })\n this[VALUE][CURRENT_KEYS] = Object.keys(result)\n Object.assign(this, result)\n this[VALUE][TRANSITION_LISTENERS].forEach((listener) => listener(this))\n }\n\n tree.blockMutations()\n\n return this\n }\n\n matches(state: any) {\n if (this.current === state) {\n return this\n }\n }\n\n onTransition(listener: (state: State) => void) {\n this[VALUE][TRANSITION_LISTENERS].push(listener)\n }\n}\n\nexport type StatemachineFactory<\n States extends TState,\n Events extends TEvents,\n BaseState extends TBaseState\n> = [BaseState] extends [never]\n ? {\n create(state: States): Statemachine\n }\n : {\n create(\n state: States,\n baseState: BaseState\n ): Statemachine\n }\n\nexport function statemachine<\n States extends TState,\n Events extends TEvents,\n BaseState extends TBaseState = never\n>(\n transitions: StatemachineTransitions\n): StatemachineFactory {\n return {\n create(state, baseState) {\n return new StateMachine(transitions, state as any, baseState as any)\n },\n } as any\n}\n","import isPlainObject from 'is-plain-obj'\nimport { IMutation, IS_PROXY, VALUE } from 'proxy-state-tree'\nimport { deepCopy } from './statemachine'\n\n// Due to avoid circular dependency warnings we export this utility from here\nexport { deepCopy } from './statemachine'\n\nexport const createOnInitialize = () => {\n return ({ actions }, instance) => {\n const initializers = getActionsByName('onInitializeOvermind', actions)\n\n return Promise.all(initializers.map((initialize) => initialize(instance)))\n }\n}\n\nexport const ENVIRONMENT = (() => {\n let env: string\n try {\n env = process.env.NODE_ENV!\n } catch {\n console.warn(\n 'Overmind was unable to determine the NODE_ENV, which means it will run in DEVELOPMENT mode. If this is a production app, please configure your build tool to define NODE_ENV'\n )\n env = 'development'\n }\n\n return env\n})()\n\nexport const IS_TEST = ENVIRONMENT === 'test'\nexport const IS_OPERATOR = Symbol('operator')\nexport const ORIGINAL_ACTIONS = Symbol('origina_actions')\nexport const EXECUTION = Symbol('execution')\n\nexport const MODE_DEFAULT = Symbol('MODE_DEFAULT')\nexport const MODE_TEST = Symbol('MODE_TEST')\nexport const MODE_SSR = Symbol('MODE_SSR')\n\nexport class MockedEventEmitter {\n emit() {}\n emitAsync() {}\n on() {}\n once() {}\n addListener() {}\n}\n\nexport const json = (obj: T): T => {\n return deepCopy(obj && obj[IS_PROXY] ? obj[VALUE] : obj)\n}\n\nexport function isPromise(maybePromise: any) {\n return (\n maybePromise instanceof Promise ||\n (maybePromise &&\n typeof maybePromise.then === 'function' &&\n typeof maybePromise.catch === 'function')\n )\n}\n\nexport function processState(state: {}) {\n return Object.keys(state).reduce(\n (aggr, key) => {\n if (key === '__esModule') {\n return aggr\n }\n const originalDescriptor = Object.getOwnPropertyDescriptor(state, key)\n\n if (originalDescriptor && 'get' in originalDescriptor) {\n Object.defineProperty(aggr, key, originalDescriptor as any)\n\n return aggr\n }\n\n const value = state[key]\n\n if (isPlainObject(value)) {\n aggr[key] = processState(value)\n } else {\n Object.defineProperty(aggr, key, originalDescriptor as any)\n }\n\n return aggr\n },\n isPlainObject(state) ? {} : state\n )\n}\n\nexport function getFunctionName(func: Function) {\n return func.name || (func as any).displayName || ''\n}\n\nconst getChangeMutationsDelimiter = '.'\nexport function getChangeMutations(\n stateA: object,\n stateB: object,\n path: string[] = [],\n mutations: IMutation[] = []\n): IMutation[] {\n const stateAKeys = Object.keys(stateA)\n const stateBKeys = Object.keys(stateB)\n\n stateAKeys.forEach((key) => {\n if (!stateBKeys.includes(key)) {\n mutations.push({\n delimiter: getChangeMutationsDelimiter,\n args: [],\n path: path.concat(key).join('.'),\n hasChangedValue: false,\n method: 'unset',\n })\n }\n })\n\n stateBKeys.forEach((key) => {\n if (isPlainObject(stateA[key]) && isPlainObject(stateB[key])) {\n getChangeMutations(stateA[key], stateB[key], path.concat(key), mutations)\n } else if (stateA[key] !== stateB[key]) {\n mutations.push({\n delimiter: getChangeMutationsDelimiter,\n args: [stateB[key]],\n path: path.concat(key).join('.'),\n hasChangedValue: false,\n method: 'set',\n })\n }\n })\n\n return mutations\n}\n\nexport function getActionsByName(\n name: string,\n actions = {},\n currentPath: string[] = []\n) {\n return Object.keys(actions).reduce((aggr, key) => {\n if (typeof actions[key] === 'function' && key === name) {\n return aggr.concat(actions[key])\n }\n\n return aggr.concat(\n getActionsByName(name, actions[key], currentPath.concat(key))\n )\n }, [])\n}\n\nexport function getActionPaths(actions = {}, currentPath: string[] = []) {\n return Object.keys(actions).reduce((aggr, key) => {\n if (typeof actions[key] === 'function') {\n return aggr.concat(currentPath.concat(key).join('.'))\n }\n\n return aggr.concat(getActionPaths(actions[key], currentPath.concat(key)))\n }, [])\n}\n\nexport function createActionsProxy(actions, cb) {\n return new Proxy(actions, {\n get(target, prop) {\n if (prop === ORIGINAL_ACTIONS) {\n return actions\n }\n\n if (typeof target[prop] === 'function') {\n return cb(target[prop])\n }\n\n if (!target[prop]) {\n return undefined\n }\n\n return createActionsProxy(target[prop], cb)\n },\n })\n}\n","import { EventEmitter } from 'betsy'\nimport isPlainObject from 'is-plain-obj'\nimport * as proxyStateTree from 'proxy-state-tree'\nimport { Derived, IS_DERIVED, IS_DERIVED_CONSTRUCTOR } from './derived'\nimport { Devtools, DevtoolsMessage } from './Devtools'\nimport * as internalTypes from './internalTypes'\nimport { proxifyEffects } from './proxyfyEffects'\nimport { rehydrate } from './rehydrate'\nimport { IConfiguration, IContext, IReaction } from './types'\nimport * as utils from './utils'\n\nconst hotReloadingCache = {}\n\nexport class Overmind\n implements IConfiguration {\n private proxyStateTreeInstance: proxyStateTree.ProxyStateTree\n private actionReferences: { [path: string]: Function } = {}\n private nextExecutionId: number = 0\n private mode:\n | internalTypes.DefaultMode\n | internalTypes.TestMode\n | internalTypes.SSRMode\n\n private reydrateMutationsForHotReloading: proxyStateTree.IMutation[] = []\n private originalConfiguration\n private isStrict = false\n initialized: Promise\n eventHub: EventEmitter\n devtools: Devtools\n actions: {\n [K in keyof ThisConfig['actions']]: internalTypes.ResolveAction<\n ThisConfig['actions'][K]\n >\n }\n\n state: ThisConfig['state']\n effects: ThisConfig['effects'] & {}\n delimiter: string\n constructor(\n configuration: ThisConfig,\n options: internalTypes.Options = {},\n mode:\n | internalTypes.DefaultMode\n | internalTypes.TestMode\n | internalTypes.SSRMode = {\n mode: utils.MODE_DEFAULT,\n } as internalTypes.DefaultMode\n ) {\n const name = options.name || 'OvermindApp'\n const devEnv = options.devEnv || 'development'\n const isNode =\n typeof process !== 'undefined' &&\n process.title &&\n process.title.includes('node')\n\n this.delimiter = options.delimiter || '.'\n this.isStrict = Boolean(options.strict)\n\n if (\n utils.ENVIRONMENT === devEnv &&\n mode.mode === utils.MODE_DEFAULT &&\n options.hotReloading !== false &&\n !isNode\n ) {\n if (hotReloadingCache[name]) {\n return hotReloadingCache[name].reconfigure(configuration)\n } else {\n hotReloadingCache[name] = this\n }\n }\n\n /*\n Set up an eventHub to trigger information from derived, computed and reactions\n */\n const eventHub =\n mode.mode === utils.MODE_SSR\n ? new utils.MockedEventEmitter()\n : new EventEmitter()\n\n /*\n Create the proxy state tree instance with the state and a wrapper to expose\n the eventHub\n */\n const proxyStateTreeInstance = this.createProxyStateTree(\n configuration,\n eventHub,\n mode.mode === utils.MODE_TEST || utils.ENVIRONMENT === devEnv,\n mode.mode === utils.MODE_SSR\n )\n this.originalConfiguration = configuration\n this.state = proxyStateTreeInstance.state\n this.effects = configuration.effects || {}\n this.proxyStateTreeInstance = proxyStateTreeInstance\n this.eventHub = eventHub as EventEmitter\n this.mode = mode\n\n /*\n Expose the created actions\n */\n this.actions = this.getActions(configuration.actions)\n\n if (mode.mode === utils.MODE_SSR) {\n return\n }\n\n if (\n utils.ENVIRONMENT === devEnv &&\n mode.mode === utils.MODE_DEFAULT &&\n typeof window !== 'undefined'\n ) {\n let warning = 'OVERMIND: You are running in DEVELOPMENT mode.'\n if (options.logProxies !== true) {\n const originalConsoleLog = console.log\n\n console.log = (...args) =>\n originalConsoleLog.apply(\n console,\n args.map((arg) =>\n arg && arg[proxyStateTree.IS_PROXY]\n ? arg[proxyStateTree.VALUE]\n : arg\n )\n )\n warning +=\n '\\n\\n - To improve debugging experience \"console.log\" will NOT log proxies from Overmind, but the actual value. Please see docs to turn off this behaviour'\n }\n\n if (\n options.devtools ||\n (typeof location !== 'undefined' &&\n location.hostname === 'localhost' &&\n options.devtools !== false)\n ) {\n const host =\n options.devtools === true ? 'localhost:3031' : options.devtools\n const name = options.name\n ? options.name\n : typeof document === 'undefined'\n ? 'NoName'\n : document.title || 'NoName'\n\n this.initializeDevtools(\n host,\n name,\n eventHub,\n proxyStateTreeInstance.sourceState,\n configuration.actions,\n options.devtoolsLogLevel\n )\n } else if (options.devtools !== false) {\n warning +=\n '\\n\\n - You are not running on localhost. You will have to manually define the devtools option to connect'\n }\n\n if (!utils.IS_TEST) {\n console.warn(warning)\n }\n }\n\n if (\n utils.ENVIRONMENT === 'production' &&\n mode.mode === utils.MODE_DEFAULT\n ) {\n eventHub.on(internalTypes.EventType.OPERATOR_ASYNC, (execution) => {\n if (\n !execution.parentExecution ||\n !execution.parentExecution.isRunning\n ) {\n proxyStateTreeInstance.getMutationTree().flush(true)\n }\n })\n eventHub.on(internalTypes.EventType.ACTION_END, (execution) => {\n if (!execution.parentExecution || !execution.parentExecution.isRunning)\n proxyStateTreeInstance.getMutationTree().flush()\n })\n\n let nextTick\n const flushTree = () => {\n proxyStateTreeInstance.getMutationTree().flush(true)\n }\n\n this.proxyStateTreeInstance.onMutation(() => {\n nextTick && clearTimeout(nextTick)\n nextTick = setTimeout(flushTree, 0)\n })\n } else if (\n mode.mode === utils.MODE_DEFAULT ||\n mode.mode === utils.MODE_TEST\n ) {\n if (\n utils.ENVIRONMENT === 'test' ||\n (this.devtools && options.hotReloading !== false)\n ) {\n eventHub.on(internalTypes.EventType.MUTATIONS, (execution) => {\n this.reydrateMutationsForHotReloading = this.reydrateMutationsForHotReloading.concat(\n execution.mutations\n )\n })\n }\n eventHub.on(internalTypes.EventType.OPERATOR_ASYNC, (execution) => {\n if (\n !execution.parentExecution ||\n !execution.parentExecution.isRunning\n ) {\n const flushData = execution.flush(true)\n if (this.devtools && flushData.mutations.length) {\n this.devtools.send({\n type: 'flush',\n data: {\n ...execution,\n ...flushData,\n },\n })\n }\n }\n })\n eventHub.on(internalTypes.EventType.ACTION_END, (execution) => {\n if (\n !execution.parentExecution ||\n !execution.parentExecution.isRunning\n ) {\n const flushData = execution.flush()\n\n if (this.devtools && flushData.mutations.length) {\n this.devtools.send({\n type: 'flush',\n data: {\n ...execution,\n ...flushData,\n },\n })\n }\n }\n })\n }\n\n if (mode.mode === utils.MODE_DEFAULT) {\n const onInitialize = this.createAction(\n 'onInitialize',\n utils.createOnInitialize()\n ) as any\n\n this.initialized = Promise.resolve(onInitialize(this))\n } else {\n this.initialized = Promise.resolve(null)\n }\n }\n\n private createProxyStateTree(\n configuration: IConfiguration,\n eventHub: EventEmitter | utils.MockedEventEmitter,\n devmode: boolean,\n ssr: boolean\n ) {\n const proxyStateTreeInstance = new proxyStateTree.ProxyStateTree(\n this.getState(configuration) as any,\n {\n devmode: devmode && !ssr,\n ssr,\n delimiter: this.delimiter,\n onSetFunction: (tree, path, target, prop, func) => {\n if (func[IS_DERIVED_CONSTRUCTOR]) {\n return new Derived(func) as any\n }\n\n return func\n },\n onGetFunction: (tree, path, target, prop) => {\n const func = target[prop]\n\n if (func[IS_DERIVED]) {\n return func(\n eventHub,\n tree,\n proxyStateTreeInstance,\n path.split(this.delimiter)\n )\n }\n\n if (func[IS_DERIVED_CONSTRUCTOR]) {\n const derived = new Derived(func) as any\n target[prop] = derived\n\n return derived(\n eventHub,\n tree,\n proxyStateTreeInstance,\n path.split(this.delimiter)\n )\n }\n\n return func\n },\n onGetter: devmode\n ? (path, value) => {\n this.eventHub.emitAsync(internalTypes.EventType.GETTER, {\n path,\n value,\n })\n }\n : undefined,\n }\n )\n\n return proxyStateTreeInstance\n }\n\n private createExecution(name, action, parentExecution) {\n const namespacePath = name.split('.')\n\n namespacePath.pop()\n\n if (utils.ENVIRONMENT === 'production') {\n return ({\n [utils.EXECUTION]: true,\n parentExecution,\n namespacePath,\n actionName: name,\n getMutationTree: () => {\n return this.proxyStateTreeInstance.getMutationTree()\n },\n getTrackStateTree: () => {\n return this.proxyStateTreeInstance.getTrackStateTree()\n },\n emit: this.eventHub.emit.bind(this.eventHub),\n } as any) as internalTypes.Execution\n }\n\n const mutationTrees: any[] = []\n const execution = {\n [utils.EXECUTION]: true,\n namespacePath,\n actionId: name,\n executionId: this.nextExecutionId++,\n actionName: name,\n operatorId: 0,\n isRunning: true,\n parentExecution,\n path: [],\n emit: this.eventHub.emit.bind(this.eventHub),\n send: this.devtools ? this.devtools.send.bind(this.devtools) : () => {},\n trackEffects: this.trackEffects.bind(this, this.effects),\n getNextOperatorId: (() => {\n let currentOperatorId = 0\n return () => ++currentOperatorId\n })(),\n flush: parentExecution\n ? parentExecution.flush\n : (isAsync?: boolean) => {\n return this.proxyStateTreeInstance.flush(mutationTrees, isAsync)\n },\n getMutationTree: parentExecution\n ? parentExecution.getMutationTree\n : () => {\n const mutationTree = this.proxyStateTreeInstance.getMutationTree()\n\n mutationTrees.push(mutationTree)\n\n return mutationTree\n },\n getTrackStateTree: () => {\n return this.proxyStateTreeInstance.getTrackStateTree()\n },\n onFlush: (cb) => {\n return this.proxyStateTreeInstance.onFlush(cb)\n },\n scopeValue: (value, tree) => {\n return this.scopeValue(value, tree)\n },\n }\n\n return execution\n }\n\n private createContext(execution, tree) {\n return {\n state: tree.state,\n actions: utils.createActionsProxy(this.actions, (action) => {\n return (value) => action(value, execution.isRunning ? execution : null)\n }),\n execution,\n proxyStateTree: this.proxyStateTreeInstance,\n effects: this.trackEffects(this.effects, execution),\n addNamespace: this.addNamespace.bind(this),\n reaction: this.reaction.bind(this),\n addMutationListener: this.addMutationListener.bind(this),\n addFlushListener: this.addFlushListener.bind(this),\n }\n }\n\n private addNamespace(\n configuration: IConfiguration,\n path: string[],\n existingState?: any\n ) {\n const state = existingState || this.state\n const namespaceKey = path.pop()!\n\n if (configuration.state) {\n const stateTarget = path.reduce((aggr, key) => aggr[key], state)\n stateTarget[namespaceKey] = utils.processState(configuration.state)\n }\n if (configuration.actions) {\n const actionsTarget = path.reduce((aggr, key) => aggr[key], this.actions)\n actionsTarget[namespaceKey] = this.getActions(configuration.actions)\n }\n if (configuration.effects) {\n const effectsTarget = path.reduce((aggr, key) => aggr[key], this.effects)\n effectsTarget[namespaceKey] = configuration.effects\n }\n }\n\n private scopeValue(value: any, tree: proxyStateTree.TTree) {\n if (!value) {\n return value\n }\n if (value[proxyStateTree.IS_PROXY]) {\n return this.proxyStateTreeInstance.rescope(value, tree)\n } else if (isPlainObject(value)) {\n return Object.assign(\n {},\n ...Object.keys(value).map((key) => ({\n [key]: this.proxyStateTreeInstance.rescope(value[key], tree),\n }))\n )\n } else {\n return value\n }\n }\n\n private addExecutionMutation(mutation: proxyStateTree.IMutation) {\n ;(this as any).mutations.push(mutation)\n }\n\n private createAction(name, originalAction) {\n this.actionReferences[name] = originalAction\n const actionFunc = (value?, boundExecution?: internalTypes.Execution) => {\n const action = this.actionReferences[name]\n // Developer might unintentionally pass more arguments, so have to ensure\n // that it is an actual execution\n boundExecution =\n boundExecution && boundExecution[utils.EXECUTION]\n ? boundExecution\n : undefined\n\n if (\n utils.ENVIRONMENT === 'production' ||\n action[utils.IS_OPERATOR] ||\n this.mode.mode === utils.MODE_SSR\n ) {\n const execution = this.createExecution(name, action, boundExecution)\n this.eventHub.emit(internalTypes.EventType.ACTION_START, {\n ...execution,\n value,\n })\n\n if (action[utils.IS_OPERATOR]) {\n return new Promise((resolve, reject) => {\n action(\n null,\n {\n ...this.createContext(execution, this.proxyStateTreeInstance),\n value,\n },\n (err, finalContext) => {\n execution.isRunning = false\n finalContext &&\n this.eventHub.emit(internalTypes.EventType.ACTION_END, {\n ...finalContext.execution,\n operatorId: finalContext.execution.operatorId - 1,\n })\n if (err) reject(err)\n else {\n resolve(finalContext.value)\n }\n }\n )\n })\n } else {\n const mutationTree = execution.getMutationTree()\n if (this.isStrict) {\n mutationTree.blockMutations()\n }\n const returnValue = action(\n this.createContext(execution, mutationTree),\n value\n )\n\n this.eventHub.emit(internalTypes.EventType.ACTION_END, execution)\n\n return returnValue\n }\n } else {\n const execution = {\n ...this.createExecution(name, action, boundExecution),\n operatorId: 0,\n type: 'action',\n }\n this.eventHub.emit(internalTypes.EventType.ACTION_START, {\n ...execution,\n value,\n })\n this.eventHub.emit(internalTypes.EventType.OPERATOR_START, execution)\n\n const mutationTree = execution.getMutationTree()\n if (this.isStrict) {\n mutationTree.blockMutations()\n }\n mutationTree.onMutation((mutation) => {\n this.eventHub.emit(internalTypes.EventType.MUTATIONS, {\n ...execution,\n mutations: [mutation],\n })\n })\n\n const scopedValue = this.scopeValue(value, mutationTree)\n const context = this.createContext(execution, mutationTree)\n\n try {\n let pendingFlush\n mutationTree.onMutation((mutation) => {\n if (pendingFlush) {\n clearTimeout(pendingFlush)\n }\n\n if (this.mode.mode === utils.MODE_TEST) {\n this.addExecutionMutation(mutation)\n } else if (this.mode.mode === utils.MODE_DEFAULT) {\n pendingFlush = setTimeout(() => {\n pendingFlush = null\n const flushData = execution.flush(true)\n\n if (this.devtools && flushData.mutations.length) {\n this.devtools.send({\n type: 'flush',\n data: {\n ...execution,\n ...flushData,\n mutations: flushData.mutations,\n },\n })\n }\n })\n }\n })\n\n let result = action(context, scopedValue)\n\n if (utils.isPromise(result)) {\n this.eventHub.emit(\n internalTypes.EventType.OPERATOR_ASYNC,\n execution\n )\n result = result\n .then((promiseResult) => {\n execution.isRunning = false\n if (!boundExecution) {\n mutationTree.dispose()\n }\n this.eventHub.emit(internalTypes.EventType.OPERATOR_END, {\n ...execution,\n isAsync: true,\n result: undefined,\n })\n this.eventHub.emit(\n internalTypes.EventType.ACTION_END,\n execution\n )\n\n return promiseResult\n })\n .catch((error) => {\n execution.isRunning = false\n if (!boundExecution) {\n mutationTree.dispose()\n }\n this.eventHub.emit(internalTypes.EventType.OPERATOR_END, {\n ...execution,\n isAsync: true,\n result: undefined,\n error: error.message,\n })\n this.eventHub.emit(\n internalTypes.EventType.ACTION_END,\n execution\n )\n\n throw error\n })\n } else {\n execution.isRunning = false\n if (!boundExecution) {\n mutationTree.dispose()\n }\n this.eventHub.emit(internalTypes.EventType.OPERATOR_END, {\n ...execution,\n isAsync: false,\n result: undefined,\n })\n this.eventHub.emit(internalTypes.EventType.ACTION_END, execution)\n }\n\n return result\n } catch (err) {\n this.eventHub.emit(internalTypes.EventType.OPERATOR_END, {\n ...execution,\n isAsync: false,\n result: undefined,\n error: err.message,\n })\n this.eventHub.emit(internalTypes.EventType.ACTION_END, execution)\n throw err\n }\n }\n }\n\n return actionFunc\n }\n\n private trackEffects(effects = {}, execution) {\n if (utils.ENVIRONMENT === 'production') {\n return effects\n }\n\n return proxifyEffects(this.effects, (effect) => {\n let result\n try {\n if (this.mode.mode === utils.MODE_TEST) {\n const mode = this.mode as internalTypes.TestMode\n result = mode.options.effectsCallback(effect)\n } else {\n this.eventHub.emit(internalTypes.EventType.EFFECT, {\n ...execution,\n ...effect,\n args: effect.args,\n isPending: true,\n error: false,\n })\n result = effect.func.apply(this, effect.args)\n }\n } catch (error) {\n this.eventHub.emit(internalTypes.EventType.EFFECT, {\n ...execution,\n ...effect,\n args: effect.args,\n isPending: false,\n error: error.message,\n })\n throw error\n }\n\n if (utils.isPromise(result)) {\n this.eventHub.emit(internalTypes.EventType.EFFECT, {\n ...execution,\n ...effect,\n args: effect.args,\n isPending: true,\n error: false,\n })\n\n return result\n .then((promisedResult) => {\n this.eventHub.emit(internalTypes.EventType.EFFECT, {\n ...execution,\n ...effect,\n args: effect.args,\n result: promisedResult,\n isPending: false,\n error: false,\n })\n\n return promisedResult\n })\n .catch((error) => {\n this.eventHub.emit(internalTypes.EventType.EFFECT, {\n ...execution,\n ...effect,\n args: effect.args,\n isPending: false,\n error: error && error.message,\n })\n throw error\n })\n }\n\n this.eventHub.emit(internalTypes.EventType.EFFECT, {\n ...execution,\n ...effect,\n args: effect.args,\n result: result,\n isPending: false,\n error: false,\n })\n\n return result\n })\n }\n\n private initializeDevtools(\n host,\n name,\n eventHub,\n initialState,\n actions,\n logLevel: internalTypes.LogLevel = 'error'\n ) {\n if (utils.ENVIRONMENT === 'production') return\n const devtools = new Devtools(name, logLevel)\n devtools.connect(\n host,\n (message: DevtoolsMessage) => {\n switch (message.type) {\n case 'refresh': {\n location.reload()\n break\n }\n case 'executeAction': {\n const action = message.data.name\n .split('.')\n .reduce((aggr, key) => aggr[key], this.actions)\n message.data.payload\n ? action(JSON.parse(message.data.payload))\n : action()\n break\n }\n case 'mutation': {\n const tree = this.proxyStateTreeInstance.getMutationTree()\n const path = message.data.path.slice()\n const value = JSON.parse(`{ \"value\": ${message.data.value} }`).value\n const key = path.pop()\n const state = path.reduce((aggr, key) => aggr[key], tree.state)\n\n state[key] = value\n tree.flush(true)\n tree.dispose()\n this.devtools.send({\n type: 'state',\n data: {\n path: message.data.path,\n value,\n },\n })\n break\n }\n }\n }\n )\n for (const type in internalTypes.EventType) {\n eventHub.on(\n internalTypes.EventType[type],\n ((eventType) => (data) => {\n devtools.send({\n type: internalTypes.EventType[type],\n data,\n })\n\n if (eventType === internalTypes.EventType.MUTATIONS) {\n // We want to trigger property access when setting objects and arrays, as any derived set would\n // then trigger and update the devtools\n data.mutations.forEach((mutation) => {\n const value = mutation.path\n .split(this.delimiter)\n .reduce(\n (aggr, key) => aggr[key],\n this.proxyStateTreeInstance.state\n )\n if (isPlainObject(value)) {\n Object.keys(value).forEach((key) => value[key])\n } else if (Array.isArray(value)) {\n value.forEach((item) => {\n if (isPlainObject(item)) {\n Object.keys(item).forEach((key) => item[key])\n }\n })\n }\n })\n }\n\n // Access the derived which will trigger calculation and devtools\n if (eventType === internalTypes.EventType.DERIVED_DIRTY) {\n data.derivedPath.reduce(\n (aggr, key) => aggr[key],\n this.proxyStateTreeInstance.state\n )\n }\n })(internalTypes.EventType[type])\n )\n }\n devtools.send({\n type: 'init',\n data: {\n state: this.proxyStateTreeInstance.state,\n actions: utils.getActionPaths(actions),\n delimiter: this.delimiter,\n },\n })\n this.devtools = devtools\n }\n\n private getState(configuration: IConfiguration) {\n let state = {}\n if (configuration.state) {\n state = utils.processState(configuration.state)\n }\n\n return state\n }\n\n private getActions(actions: any = {}, path: string[] = []) {\n return Object.keys(actions).reduce((aggr, name) => {\n if (typeof actions[name] === 'function') {\n const action = this.createAction(\n path.concat(name).join('.'),\n actions[name]\n ) as any\n\n action.displayName = path.concat(name).join('.')\n\n return Object.assign(aggr, {\n [name]: action,\n })\n }\n\n return Object.assign(aggr, {\n [name]: this.getActions(actions[name], path.concat(name)),\n })\n }, {}) as any\n }\n\n /*\n Related to hot reloading we update the existing action references and add any new\n actions.\n */\n private updateActions(actions: any = {}, path: string[] = []) {\n Object.keys(actions).forEach((name) => {\n if (typeof actions[name] === 'function') {\n const actionName = path.concat(name).join('.')\n if (this.actionReferences[actionName]) {\n this.actionReferences[actionName] = actions[name]\n } else {\n const target = path.reduce((aggr, key) => {\n if (!aggr[key]) {\n aggr[key] = {}\n }\n\n return aggr[key]\n }, this.actions)\n target[name] = this.createAction(actionName, actions[name]) as any\n\n target[name].displayName = path.concat(name).join('.')\n }\n } else {\n this.updateActions(actions[name], path.concat(name))\n }\n }, {}) as any\n }\n\n getTrackStateTree(): proxyStateTree.ITrackStateTree {\n return this.proxyStateTreeInstance.getTrackStateTree()\n }\n\n getMutationTree(): proxyStateTree.IMutationTree {\n return this.proxyStateTreeInstance.getMutationTree()\n }\n\n reaction: IReaction> = (\n stateCallback,\n updateCallback,\n options = {}\n ) => {\n let disposer\n\n if (options.nested) {\n const value = stateCallback(this.state)\n\n if (!value || !value[proxyStateTree.IS_PROXY]) {\n throw new Error(\n 'You have to return an object or array from the Overmind state when using a \"nested\" reaction'\n )\n }\n\n const path = value[proxyStateTree.PATH]\n\n disposer = this.addFlushListener((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.path.startsWith(path)) {\n updateCallback(\n path\n ? path\n .split(this.delimiter)\n .reduce((aggr, key) => aggr[key], this.state)\n : this.state\n )\n }\n })\n })\n } else {\n const tree = this.proxyStateTreeInstance.getTrackStateTree()\n let returnValue\n const updateReaction = () => {\n tree.trackScope(\n () => (returnValue = stateCallback(tree.state as any)),\n () => {\n updateReaction()\n updateCallback(returnValue)\n }\n )\n }\n\n updateReaction()\n\n disposer = () => {\n tree.dispose()\n }\n }\n\n if (options.immediate) {\n updateCallback(stateCallback(this.state as any))\n }\n\n return disposer\n }\n\n addMutationListener = (cb: proxyStateTree.IMutationCallback) => {\n return this.proxyStateTreeInstance.onMutation(cb)\n }\n\n addFlushListener = (cb: proxyStateTree.IFlushCallback) => {\n return this.proxyStateTreeInstance.onFlush(cb)\n }\n\n reconfigure(configuration: IConfiguration) {\n const changeMutations = utils.getChangeMutations(\n this.originalConfiguration.state,\n configuration.state || {}\n )\n\n this.updateActions(configuration.actions)\n this.effects = configuration.effects || {}\n\n const mutationTree = this.proxyStateTreeInstance.getMutationTree()\n // We change the state to match the new structure\n rehydrate(mutationTree.state as any, changeMutations)\n\n // We run any mutations ran during the session, it might fail though\n // as the state structure might have changed, but no worries we just\n // ignore that\n this.reydrateMutationsForHotReloading.forEach((mutation) => {\n try {\n rehydrate(mutationTree.state as any, [mutation])\n } catch (error) {\n // No worries, structure changed and we do not want to mutate anyways\n }\n })\n\n mutationTree.flush()\n mutationTree.dispose()\n\n if (this.devtools) {\n this.devtools.send({\n type: 're_init',\n data: {\n state: this.state,\n actions: utils.getActionPaths(configuration.actions),\n },\n })\n }\n\n return this\n }\n}\n","import { IS_DERIVED_CONSTRUCTOR } from './derived'\nimport * as internalTypes from './internalTypes'\nimport { Overmind } from './Overmind'\nimport { IConfiguration } from './types'\nimport * as utils from './utils'\n\nexport * from './types'\nexport * from './operators'\nexport { Overmind } from './Overmind'\nexport {\n ResolveAction,\n OperatorContextFunction,\n ContextFunction,\n} from './internalTypes'\nexport { createOperator, createMutationOperator } from './operator'\nexport { MODE_DEFAULT, MODE_TEST, MODE_SSR, ENVIRONMENT, json } from './utils'\nexport { SERIALIZE, rehydrate } from './rehydrate'\nexport { Statemachine, statemachine } from './statemachine'\nexport * from './OvermindMock'\nexport * from './OvermindSSR'\n\nexport const derived = (\n cb: (state: S, rootState: R) => O\n): O => {\n cb[IS_DERIVED_CONSTRUCTOR] = true\n return cb as any\n}\n\nexport function createOvermind(\n config: Config,\n options?: internalTypes.Options\n): Overmind {\n return new Overmind(config, options, { mode: utils.MODE_DEFAULT })\n}\n","import * as React from 'react'\n\nimport {\n ENVIRONMENT,\n EventType,\n IContext,\n IReaction,\n MODE_SSR,\n Overmind,\n OvermindMock,\n} from 'overmind'\n\nconst IS_PRODUCTION = ENVIRONMENT === 'production'\nconst IS_TEST = ENVIRONMENT === 'test'\nconst isNode =\n !IS_TEST &&\n typeof process !== 'undefined' &&\n process.title &&\n process.title.includes('node')\n\nexport type IReactComponent

    =\n | React.FunctionComponent

    \n | React.ComponentClass

    \n | React.ClassicComponentClass

    \n\nfunction getFiberType(component) {\n if (component.type) {\n // React.memo\n return getFiberType(component.type)\n }\n // React.forwardRef\n return component.render || component\n}\n\n// Inspired from https://github.com/facebook/react/blob/master/packages/react-devtools-shared/src/backend/renderer.js\nfunction getDisplayName(component): string {\n const type = getFiberType(component)\n return type.displayName || type.name || 'Anonymous'\n}\n\nfunction throwMissingContextError() {\n throw new Error(\n 'The Overmind hook could not find an Overmind instance on the context of React. Please make sure you use the Provider component at the top of your application and expose the Overmind instance there. Please read more in the React guide on the website'\n )\n}\n\nconst context = React.createContext>({} as Overmind)\nlet nextComponentId = 0\n\nexport const Provider: React.ProviderExoticComponent<\n React.ProviderProps | OvermindMock>\n> = context.Provider\n\nfunction useForceRerender() {\n const [flushId, forceRerender] = React.useState(-1)\n\n return {\n flushId,\n forceRerender,\n }\n}\n\nlet currentComponentInstanceId = 0\nconst { ReactCurrentOwner } = (React as any)\n .__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\nconst useCurrentComponent = () => {\n return ReactCurrentOwner &&\n ReactCurrentOwner.current &&\n ReactCurrentOwner.current.elementType\n ? ReactCurrentOwner.current.elementType\n : {}\n}\n\nclass ReactTrackerV18 {\n tree\n result\n cb\n updateCb\n constructor(tree: any) {\n this.tree = tree\n this.result = { state: tree.state }\n this.updateCb = () => {\n this.result = {\n state: this.tree.state,\n }\n\n if (this.cb) {\n this.cb()\n } else {\n this.tree.dispose()\n }\n }\n }\n\n subscribe = (cb) => {\n this.cb = cb\n\n return () => {\n if (IS_PRODUCTION) {\n this.tree.dispose()\n } else {\n // In development we do not dispose of the tree as React will do\n // \"test runs\" on effect hooks, it will rather be disposed when there is an\n // update to the tracked paths, but there is no longer a callback to trigger. This\n // can cause memory leaks in edge cases, but this is just development and does not matter\n delete this.cb\n }\n }\n }\n\n getState = () => {\n return this.result\n }\n\n track() {\n this.tree.track(this.updateCb)\n }\n\n stopTracking() {\n this.tree.stopTracking()\n }\n}\n\nconst useStateV18 = >(\n cb?: (state: Context['state']) => any\n): Context['state'] => {\n const overmind = React.useContext(context) as Overmind\n\n if (!(overmind as any).mode) {\n throwMissingContextError()\n }\n\n if (isNode || (overmind as any).mode.mode === MODE_SSR) {\n return overmind.state\n }\n\n const ref = React.useRef(null)\n\n if (!ref.current) {\n // @ts-ignore\n ref.current = new ReactTrackerV18(overmind.getTrackStateTree())\n }\n\n const tracker = ref.current as any\n\n const snapshot = React.useSyncExternalStore(\n tracker.subscribe,\n tracker.getState,\n tracker.getState\n )\n const mountedRef = React.useRef(false)\n // @ts-ignore\n const state = cb ? cb(snapshot.state) : snapshot.state\n\n tracker.track()\n\n if (IS_PRODUCTION) {\n React.useLayoutEffect(() => {\n tracker.stopTracking()\n }, [tracker])\n } else {\n const component = useCurrentComponent()\n const name = getDisplayName(component)\n component.__componentId =\n typeof component.__componentId === 'undefined'\n ? nextComponentId++\n : component.__componentId\n\n const { current: componentInstanceId } = React.useRef(\n currentComponentInstanceId++\n )\n\n React.useLayoutEffect(() => {\n mountedRef.current = true\n overmind.eventHub.emitAsync(EventType.COMPONENT_ADD, {\n componentId: component.__componentId,\n componentInstanceId,\n name,\n paths: Array.from(tracker.tree.pathDependencies) as any,\n })\n\n return () => {\n mountedRef.current = false\n overmind.eventHub.emitAsync(EventType.COMPONENT_REMOVE, {\n componentId: component.__componentId,\n componentInstanceId,\n name,\n })\n }\n }, [])\n\n React.useLayoutEffect(() => {\n tracker.stopTracking()\n\n overmind.eventHub.emitAsync(EventType.COMPONENT_UPDATE, {\n componentId: component.__componentId,\n componentInstanceId,\n name,\n flushId: 0,\n paths: Array.from(tracker.tree.pathDependencies) as any,\n })\n }, [tracker])\n }\n\n return state\n}\n\nconst useState = >(\n cb?: (state: Context['state']) => any\n): Context['state'] => {\n const overmind = React.useContext(context) as Overmind\n\n if (!(overmind as any).mode) {\n throwMissingContextError()\n }\n\n if (isNode || (overmind as any).mode.mode === MODE_SSR) {\n return overmind.state\n }\n\n const mountedRef = React.useRef(false)\n const { flushId, forceRerender } = useForceRerender()\n const tree = React.useMemo(\n () => (overmind as any).proxyStateTreeInstance.getTrackStateTree(),\n [flushId]\n )\n\n const state = cb ? cb(tree.state) : tree.state\n\n if (IS_PRODUCTION) {\n React.useLayoutEffect(() => {\n mountedRef.current = true\n tree.stopTracking()\n\n return () => {\n tree.dispose()\n }\n }, [tree])\n\n tree.track((_, __, flushId) => {\n if (!mountedRef.current) {\n // This one is not dealt with by the useLayoutEffect\n tree.dispose()\n return\n }\n forceRerender(flushId)\n })\n } else {\n const component = useCurrentComponent()\n const name = getDisplayName(component)\n component.__componentId =\n typeof component.__componentId === 'undefined'\n ? nextComponentId++\n : component.__componentId\n\n const { current: componentInstanceId } = React.useRef(\n currentComponentInstanceId++\n )\n\n React.useLayoutEffect(() => {\n mountedRef.current = true\n overmind.eventHub.emitAsync(EventType.COMPONENT_ADD, {\n componentId: component.__componentId,\n componentInstanceId,\n name,\n paths: Array.from(tree.pathDependencies) as any,\n })\n\n return () => {\n mountedRef.current = false\n overmind.eventHub.emitAsync(EventType.COMPONENT_REMOVE, {\n componentId: component.__componentId,\n componentInstanceId,\n name,\n })\n }\n }, [])\n\n React.useLayoutEffect(() => {\n tree.stopTracking()\n\n overmind.eventHub.emitAsync(EventType.COMPONENT_UPDATE, {\n componentId: component.__componentId,\n componentInstanceId,\n name,\n flushId,\n paths: Array.from(tree.pathDependencies) as any,\n })\n\n return () => {\n tree.dispose()\n }\n }, [tree])\n tree.track((_, __, flushId) => {\n if (!mountedRef.current) {\n // This one is not dealt with by the useLayoutEffect\n tree.dispose()\n return\n }\n forceRerender(flushId)\n })\n }\n\n return state\n}\n\nconst useActions = <\n Context extends IContext<{ actions: {} }>,\n>(): Context['actions'] => {\n const overmind = React.useContext(context) as Overmind\n\n if (!(overmind as any).mode) {\n throwMissingContextError()\n }\n\n return overmind.actions\n}\n\nconst useEffects = <\n Context extends IContext<{ effects: {} }>,\n>(): Context['effects'] => {\n const overmind = React.useContext(context) as Overmind\n\n if (!(overmind as any).mode) {\n throwMissingContextError()\n }\n\n return overmind.effects\n}\n\nconst useReaction = <\n Context extends IContext<{ state: {} }>,\n>(): IReaction => {\n const overmind = React.useContext(context) as Overmind\n\n if (!(overmind as any).mode) {\n throwMissingContextError()\n }\n\n return overmind.reaction as any\n}\n\nexport interface StateHook> {\n (): Context['state']\n (cb?: (state: Context['state']) => T): T\n}\n\nexport const createStateHook: <\n Context extends IContext<{ state: {} }>,\n>() => StateHook = () =>\n // eslint-disable-next-line dot-notation\n typeof React['useSyncExternalStore'] === 'function' ? useStateV18 : useState\n\nexport const createActionsHook: <\n Context extends IContext<{ actions: {} }>,\n>() => () => Context['actions'] = () => {\n return useActions as any\n}\n\nexport const createEffectsHook: <\n Context extends IContext<{ effects: {} }>,\n>() => () => Context['effects'] = () => {\n return useEffects as any\n}\n\nexport const createReactionHook: <\n Context extends IContext<{ state: {} }>,\n>() => () => IReaction = () => {\n return useReaction as any\n}\n","import isPlainObject from 'is-plain-obj'\n\nimport { IConfiguration } from '../'\n\nfunction copy(target, source) {\n return Object.keys(source).reduce((aggr, key) => {\n if (key === '__esModule') {\n return aggr\n }\n\n if (isPlainObject(source[key])) {\n aggr[key] = copy(target[key] || {}, source[key])\n } else if (Array.isArray(source[key])) {\n aggr[key] = source[key]\n } else {\n const originalDescriptor = Object.getOwnPropertyDescriptor(source, key)\n const isAGetter = originalDescriptor && 'get' in originalDescriptor\n const value = source[key]\n\n if (isAGetter) {\n Object.defineProperty(aggr, key, originalDescriptor as any)\n } else {\n aggr[key] = value\n }\n }\n\n return aggr\n }, target)\n}\n\nexport function merge(\n configA: A,\n configB: B\n): A & B\nexport function merge<\n A extends IConfiguration,\n B extends IConfiguration,\n C extends IConfiguration\n>(configA: A, configB: B, configC: C): A & B & C\nexport function merge<\n A extends IConfiguration,\n B extends IConfiguration,\n C extends IConfiguration,\n D extends IConfiguration\n>(configA: A, configB: B, configC: C, configD: D): A & B & C & D\nexport function merge<\n A extends IConfiguration,\n B extends IConfiguration,\n C extends IConfiguration,\n D extends IConfiguration,\n E extends IConfiguration\n>(configA: A, configB: B, configC: C, configD: D, configE: E): A & B & C & D & E\nexport function merge<\n A extends IConfiguration,\n B extends IConfiguration,\n C extends IConfiguration,\n D extends IConfiguration,\n E extends IConfiguration,\n F extends IConfiguration\n>(\n configA: A,\n configB: B,\n configC: C,\n configD: D,\n configE: E,\n configF: F\n): A & B & C & D & E & F\nexport function merge<\n A extends IConfiguration,\n B extends IConfiguration,\n C extends IConfiguration,\n D extends IConfiguration,\n E extends IConfiguration,\n F extends IConfiguration,\n G extends IConfiguration\n>(\n configA: A,\n configB: B,\n configC: C,\n configD: D,\n configE: E,\n configF: F,\n configG: G\n): A & B & C & D & E & F & G\nexport function merge<\n A extends IConfiguration,\n B extends IConfiguration,\n C extends IConfiguration,\n D extends IConfiguration,\n E extends IConfiguration,\n F extends IConfiguration,\n G extends IConfiguration,\n H extends IConfiguration\n>(\n configA: A,\n configB: B,\n configC: C,\n configD: D,\n configE: E,\n configF: F,\n configG: G,\n configH: H\n): A & B & C & D & E & F & G & H\nexport function merge<\n A extends IConfiguration,\n B extends IConfiguration,\n C extends IConfiguration,\n D extends IConfiguration,\n E extends IConfiguration,\n F extends IConfiguration,\n G extends IConfiguration,\n H extends IConfiguration,\n I extends IConfiguration\n>(\n configA: A,\n configB: B,\n configC: C,\n configD: D,\n configE: E,\n configF: F,\n configG: G,\n configH: H,\n configI: I\n): A & B & C & D & E & F & G & H & I\n\nexport function merge(...configurations: IConfiguration[]): IConfiguration {\n const rootConfiguration = configurations.shift()\n const reducedConfigurations = configurations.reduce(\n (aggr, config) => {\n const stateDuplicates = aggr.state\n ? Object.keys(aggr.state).some((key) =>\n config.state ? Object.keys(config.state).includes(key) : false\n )\n : false\n const actionsDuplicates = aggr.actions\n ? Object.keys(aggr.actions).some((key) =>\n config.actions ? Object.keys(config.actions).includes(key) : false\n )\n : false\n const effectsDuplicates = aggr.effects\n ? Object.keys(aggr.effects).some((key) =>\n config.effects ? Object.keys(config.effects).includes(key) : false\n )\n : false\n if (stateDuplicates) {\n throw new Error(\n 'Merge conflict: at least one state definition contains a duplicate key'\n )\n }\n if (actionsDuplicates) {\n throw new Error(\n 'Merge conflict: at least one actions definition contains a duplicate key'\n )\n }\n if (effectsDuplicates) {\n throw new Error(\n 'Merge conflict: at least one effects definition contains a duplicate key'\n )\n }\n return {\n state: copy(aggr.state, config.state || {}),\n effects: {\n ...aggr.effects,\n ...config.effects,\n },\n actions: {\n ...aggr.actions,\n ...config.actions,\n },\n }\n },\n {\n state: {},\n actions: {},\n effects: {},\n ...rootConfiguration,\n }\n )\n return reducedConfigurations\n}\n","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import React from 'react';\r\n\r\nfunction DtvPreloader({\r\n tiny,\r\n small,\r\n large,\r\n thin,\r\n cssClasses\r\n }: { tiny?: boolean, small?: boolean, large?: boolean, thin?: boolean, cssClasses?: string }) {\r\n let classes = ['preloader'];\r\n\r\n if (tiny) {\r\n classes.push(\"tiny\");\r\n }\r\n\r\n if (small) {\r\n classes.push(\"small\");\r\n }\r\n\r\n if (large) {\r\n classes.push(\"large\");\r\n }\r\n\r\n if (thin) {\r\n classes.push(\"thin\");\r\n }\r\n\r\n if (cssClasses) {\r\n classes.push(cssClasses);\r\n }\r\n\r\n const classNames = classes.join(\" \");\r\n\r\n return (\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\nexport default DtvPreloader;\r\n","import React from 'react';\r\n\r\ntype Props = {\r\n cssClasses?: string;\r\n children: React.ReactNode;\r\n};\r\n\r\nconst DtvPreloaderCaption: React.FC = ({\r\n cssClasses,\r\n children,\r\n }) => {\r\n let classes = ['preloader-caption'];\r\n\r\n if (cssClasses) {\r\n classes.push(cssClasses);\r\n }\r\n\r\n const classNames = classes.join(\" \");\r\n\r\n return (\r\n
    \r\n {children}\r\n
    \r\n );\r\n}\r\n\r\nexport default DtvPreloaderCaption;\r\n","import React from 'react';\r\n\r\ntype Props = {\r\n center?: boolean;\r\n cssClasses?: string;\r\n children?: React.ReactNode;\r\n};\r\n\r\nfunction DtvPreloaderWrapper({\r\n center,\r\n cssClasses,\r\n children,\r\n }: Props) {\r\n let classes = ['preloader-wrapper'];\r\n\r\n if (center) {\r\n classes.push(\"center\");\r\n }\r\n\r\n if (cssClasses) {\r\n classes.push(cssClasses);\r\n }\r\n\r\n const classNames = classes.join(\" \");\r\n\r\n return (\r\n
    \r\n {children}\r\n
    \r\n );\r\n}\r\n\r\nexport default DtvPreloaderWrapper;\r\n","import * as React from \"react\";\r\n\r\nexport const BankIDIcon = (props: React.SVGProps): JSX.Element => (\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 */","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckboxIndeterminateFilled(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,0H2C0.9,0,0,0.9,0,2v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V2C20,0.9,19.1,0,18,0z M15.2,10.8H4.8V9.2h10.4V10.8z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckboxIndeterminateFilled);\nexport default __webpack_public_path__ + \"static/media/20x20_checkbox_indeterminate_filled.36a9bc27f94890737280e32458908bab.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckboxIndeterminateOutline(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 4.8,\n y: 9.2,\n width: 10.4,\n height: 1.5\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,0H2C0.9,0,0,0.9,0,2v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V2C20,0.9,19.1,0,18,0z M19,18c0,0.5-0.4,1-1,1H2 c-0.5,0-1-0.4-1-1V2c0-0.5,0.4-1,1-1h16c0.5,0,1,0.4,1,1V18z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckboxIndeterminateOutline);\nexport default __webpack_public_path__ + \"static/media/20x20_checkbox_indeterminate_outline.98f725734b2635551391e878944fdd39.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckboxSelectedFilled(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,0H2C0.9,0,0,0.9,0,2v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V2C20,0.9,19.1,0,18,0z M15.2,5.9l-6.6,9.4l-3.9-3.9l1-1.1 L8.4,13l5.9-8.2l1,1L15.2,5.9z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckboxSelectedFilled);\nexport default __webpack_public_path__ + \"static/media/20x20_checkbox_selected_filled.bd377bf96018a3a25fb288c2f8e84909.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckboxSelectedOutline(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"15.2,5.9 15.3,5.7 14.2,4.8 8.4,13 5.7,10.2 4.7,11.3 8.6,15.2 \"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,0H2C0.9,0,0,0.9,0,2v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V2C20,0.9,19.1,0,18,0z M19,18c0,0.5-0.4,1-1,1H2 c-0.5,0-1-0.4-1-1V2c0-0.5,0.4-1,1-1h16c0.5,0,1,0.4,1,1V18z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckboxSelectedOutline);\nexport default __webpack_public_path__ + \"static/media/20x20_checkbox_selected_outline.3a6f6103797131895cce7873eef586f9.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckboxUnselected(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,0H2C0.9,0,0,0.9,0,2v16c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V2C20,0.9,19.1,0,18,0z M19,18c0,0.5-0.4,1-1,1H2 c-0.5,0-1-0.4-1-1V2c0-0.5,0.4-1,1-1h16c0.5,0,1,0.4,1,1V18z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckboxUnselected);\nexport default __webpack_public_path__ + \"static/media/20x20_checkbox_unselected.3eb090a3a5c4337779f487dab50dd832.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckmarkCenteredNormal(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"14.239,4.774 8.386,12.989 5.67,10.213 4.705,11.331 8.606,15.232 15.214,5.854 15.289,5.747 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckmarkCenteredNormal);\nexport default __webpack_public_path__ + \"static/media/20x20_checkmark_centered_normal.e8be6193e0bc9bececed8b151244cad4.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckmarkCenteredThin(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"14.263,5 8.404,13.222 5.677,10.434 4.909,11.323 8.586,15 15.091,5.768 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckmarkCenteredThin);\nexport default __webpack_public_path__ + \"static/media/20x20_checkmark_centered_thin.5ec2296771bd3a298c33d3e44f82ea02.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckmarkNormal(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 10 10\",\n style: {\n enableBackground: \"new 0 0 10 10\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"9.239,-0.326 3.386,7.889 0.67,5.112 -0.295,6.231 3.606,10.132 10.289,0.646 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckmarkNormal);\nexport default __webpack_public_path__ + \"static/media/20x20_checkmark_normal.c53b51b8f2333a83df4d1089dddafe71.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20CheckmarkThin(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 10 10\",\n style: {\n enableBackground: \"new 0 0 10 10\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"9.3,0.1 3.4,8.4 0.7,5.6 -0.1,6.5 3.6,10.1 10.1,0.9 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20CheckmarkThin);\nexport default __webpack_public_path__ + \"static/media/20x20_checkmark_thin.345048d5ec7e49990092706ec23b6058.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Dokument(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"dokument\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.75,3.867l3.651,3.852H10.75V3.867z M5.255,3.508H9.75v5.21h4.995v7.774h-9.49V3.508z M4.257,2.509v14.982h11.485V7.683 l-4.905-5.174H4.257z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Dokument);\nexport default __webpack_public_path__ + \"static/media/20x20_dokument.b0833b5eb5e0e0f3ed0a254f61dcd094.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20DropdownKarta(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.021,4.826L7.199,1.505L0.75,5.151v13.466l6.453-3.742l5.808,3.249l6.239-3.308V1.383L13.021,4.826z M7.698,2.941 l4.819,2.749v11.012l-4.819-2.695V2.941z M1.75,5.734l4.948-2.797v11.075L1.75,16.881V5.734z M18.25,14.215l-4.732,2.509V5.694 l4.732-2.616V14.215z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20DropdownKarta);\nexport default __webpack_public_path__ + \"static/media/20x20_dropdown_karta.94c6809979d749fcf444f15d4501244a.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20DropdownKlocka(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,19.641c-5.316,0-9.641-4.325-9.641-9.641c0-5.316,4.325-9.641,9.641-9.641c5.315,0,9.641,4.325,9.641,9.641 C19.641,15.315,15.315,19.641,10,19.641z M10,1.359c-4.765,0-8.641,3.876-8.641,8.641S5.235,18.641,10,18.641 s8.641-3.876,8.641-8.641S14.765,1.359,10,1.359z\"\n })), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"14.633,11.173 9.466,11.173 9.466,4.647 10.466,4.647 10.466,10.173 14.633,10.173 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20DropdownKlocka);\nexport default __webpack_public_path__ + \"static/media/20x20_dropdown_klocka.1168e826671dd862a1270310d0a0dc7a.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20DropdownKompassFylld(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"1.2,10 18.8,1.798 10,18.202 10,10 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20DropdownKompassFylld);\nexport default __webpack_public_path__ + \"static/media/20x20_dropdown_kompass_fylld.1570a060541c91104b519fdd8b1a89ef.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20DropdownKompassKontur(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.992,18.291v-8.24H0.978l17.912-8.347L9.992,18.291z M5.943,8.951h5.149v4.961l5.265-9.815L5.943,8.951z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20DropdownKompassKontur);\nexport default __webpack_public_path__ + \"static/media/20x20_dropdown_kompass_kontur.a6ed28041cab20fe20640467aec53925.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20DropdownSprak(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,0.5c-5.238,0-9.5,4.262-9.5,9.5s4.262,9.5,9.5,9.5s9.5-4.262,9.5-9.5S15.238,0.5,10,0.5z M1.523,10.56h3.468 c0.041,1.371,0.226,2.652,0.532,3.796H2.707C2.034,13.231,1.613,11.941,1.523,10.56z M4.987,9.56H1.518 c0.073-1.426,0.496-2.759,1.19-3.915h2.815C5.208,6.822,5.02,8.144,4.987,9.56z M6.566,5.645H9.43V9.56H5.983 C6.02,8.143,6.228,6.808,6.566,5.645z M5.986,10.56H9.43v3.796H6.566C6.238,13.225,6.031,11.932,5.986,10.56z M10.43,5.645h3.004 c0.338,1.163,0.547,2.498,0.583,3.915H10.43V5.645z M10.43,10.56h3.584c-0.045,1.373-0.252,2.665-0.58,3.796H10.43V10.56z M15.01,10.56h3.468c-0.09,1.381-0.511,2.672-1.185,3.796h-2.815C14.784,13.212,14.969,11.93,15.01,10.56z M15.014,9.56 c-0.033-1.415-0.221-2.738-0.536-3.915h2.815c0.693,1.156,1.117,2.49,1.19,3.915H15.014z M16.589,4.645h-2.422 c-0.386-1.084-0.882-2.012-1.47-2.706C14.24,2.456,15.582,3.408,16.589,4.645z M13.101,4.645h-2.67V1.553 C11.491,1.804,12.443,2.963,13.101,4.645z M9.43,1.6v3.045H6.9C7.528,3.038,8.427,1.916,9.43,1.6z M7.303,1.938 C6.715,2.632,6.22,3.56,5.833,4.645H3.411C4.418,3.408,5.76,2.456,7.303,1.938z M3.411,15.355h2.422 c0.386,1.084,0.882,2.012,1.47,2.706C5.76,17.544,4.418,16.592,3.411,15.355z M6.9,15.355h2.53V18.4 C8.427,18.084,7.528,16.962,6.9,15.355z M10.43,18.447v-3.091h2.67C12.443,17.037,11.491,18.196,10.43,18.447z M12.697,18.062 c0.588-0.694,1.083-1.622,1.47-2.706h2.422C15.582,16.592,14.24,17.544,12.697,18.062z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20DropdownSprak);\nexport default __webpack_public_path__ + \"static/media/20x20_dropdown_sprak.e403bf2ab981bd9f298ee262fdc89beb.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Historik(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"historik\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.001,2.625c-2.973,0-5.524,1.777-6.688,4.318L2.944,5.1l-0.98,0.196l0.828,4.143l3.665-2.316L5.923,6.277L4.209,7.361 c1.006-2.2,3.219-3.736,5.792-3.736c3.515,0,6.375,2.86,6.375,6.375c0,3.515-2.86,6.375-6.375,6.375 c-3.235,0-5.909-2.424-6.315-5.55H2.675c0.412,3.679,3.539,6.55,7.326,6.55c4.066,0,7.375-3.309,7.375-7.375 S14.067,2.625,10.001,2.625\"\n }))), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"9.321,5.6 9.321,11.05 13.121,11.05 13.121,10.05 10.321,10.05 10.321,5.6 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Historik);\nexport default __webpack_public_path__ + \"static/media/20x20_historik.26b8004f6112562ea0a26a7143ebc252.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Inbox(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"inbox\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.55,13.891h2.9h0.591l0.285-0.517l0.875-1.59h3.004v3.803H3.808v-3.803H6.8l0.874,1.59l0.286,0.517H8.55z M6.339,4.364 h7.335l2.474,6.42H12.61l-1.16,2.107h-2.9l-1.16-2.107H3.866L6.339,4.364z M5.652,3.363L2.75,10.784v5.853h14.5v-5.853l-2.89-7.421 H5.652z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 6.657,\n y: 8.275,\n width: 6.698,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 7.215,\n y: 5.931,\n width: 5.582,\n height: 1\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Inbox);\nexport default __webpack_public_path__ + \"static/media/20x20_inbox.3e5fb35e4ec232d64184f95e0b2a898b.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Info(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,18.101c-4.466,0-8.1-3.635-8.1-8.102S5.534,1.899,10,1.899c4.466,0,8.1,3.634,8.1,8.101S14.466,18.101,10,18.101z M10,2.899c-3.915,0-7.1,3.186-7.1,7.101c0,3.916,3.185,7.102,7.1,7.102s7.1-3.186,7.1-7.102C17.1,6.084,13.915,2.899,10,2.899z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.411,14.967h1.178V8.042H9.411V14.967z M10,6.455c0.422,0,0.73-0.307,0.73-0.717c0-0.409-0.308-0.717-0.73-0.717 c-0.422,0-0.73,0.308-0.73,0.717C9.27,6.148,9.578,6.455,10,6.455\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Info);\nexport default __webpack_public_path__ + \"static/media/20x20_info.ffc8039f28c3b3014913d9ed00eaaf4f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Kalender(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"kalender\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.655,3.5V1.773h-1V3.5H7.345V1.773h-1V3.5H3.5v13h13v-13H13.655z M6.345,4.5v1.128h1V4.5h5.311v1.128h1V4.5H15.5v2.472 h-11V4.5H6.345z M4.5,15.5V7.972h11V15.5H4.5z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Kalender);\nexport default __webpack_public_path__ + \"static/media/20x20_kalender.c0bcc5d927fd01729db3ee9472ab25f6.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Klocka(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"klocka\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,3.625c-3.515,0-6.375,2.859-6.375,6.375c0,3.516,2.86,6.375,6.375,6.375s6.375-2.859,6.375-6.375 C16.375,6.484,13.515,3.625,10,3.625 M10,17.375c-4.066,0-7.375-3.309-7.375-7.375c0-4.066,3.309-7.375,7.375-7.375 S17.375,5.934,17.375,10C17.375,14.066,14.066,17.375,10,17.375\"\n })), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"13.3,11.05 9.5,11.05 9.5,5.601 10.5,5.601 10.5,10.05 13.3,10.05 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Klocka);\nexport default __webpack_public_path__ + \"static/media/20x20_klocka.d83f581685751862917fb6893e26acf1.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Mail(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"mail\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"7.095,10.613 4.72,12.677 5.376,13.431 7.878,11.257 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"12.968,10.562 12.185,11.206 14.623,13.342 15.282,12.59 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5,5.65h13v8.7h-13V5.65z M2.5,15.35h15V4.65h-15V15.35z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"10,11.709 4.788,7.421 5.424,6.649 10,10.414 14.576,6.649 15.212,7.421 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Mail);\nexport default __webpack_public_path__ + \"static/media/20x20_mail.34679899401272d6afc77a9f196753ac.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20MiniKlocka(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,15c-2.75,0-5-2.25-5-5s2.25-5,5-5s5,2.25,5,5S12.75,15,10,15z M10,6c-2.2,0-4,1.8-4,4s1.8,4,4,4s4-1.8,4-4 S12.2,6,10,6z\"\n })), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"12.2,10.55 9.5,10.55 9.5,7.25 10.5,7.25 10.5,9.55 12.2,9.55 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20MiniKlocka);\nexport default __webpack_public_path__ + \"static/media/20x20_mini_klocka.faed680d1309f0821884646ed7e69de8.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20MiniPin(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,16.599l-0.413-0.603c-0.991-1.445-3.446-5.461-3.55-5.632C5.551,9.471,5.39,8.884,5.389,8.017 c-0.005-2.54,2.057-4.611,4.597-4.616h0.027c2.54,0.005,4.602,2.076,4.598,4.616c-0.002,0.867-0.163,1.454-0.636,2.325 c-0.117,0.192-2.572,4.208-3.563,5.654L10,16.599z M10.011,4.398H9.935C8,4.405,6.385,6.026,6.389,8.015 C6.39,8.71,6.51,9.142,6.904,9.865C6.915,9.882,8.866,13.074,10,14.812c1.134-1.737,3.087-4.932,3.109-4.969 c0.38-0.701,0.5-1.133,0.502-1.828c0.004-1.988-1.611-3.609-3.6-3.613V4.398z\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 10,\n cy: 7.936,\n r: 1.2\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20MiniPin);\nexport default __webpack_public_path__ + \"static/media/20x20_mini_pin.ac0624e870db0ff0f96c553e267e1ff1.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20MinusCirkel(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 22 22\",\n style: {\n enableBackground: \"new 0 0 22 22\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,1C5.486,1,1,5.486,1,11c0,5.514,4.486,10,10,10c5.514,0,10-4.486,10-10C21,5.486,16.514,1,11,1z M11,20 c-4.962,0-9-4.037-9-9c0-4.962,4.038-9,9-9c4.963,0,9,4.038,9,9C20,15.963,15.963,20,11,20z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 6,\n y: 10.5,\n width: 10,\n height: 1\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20MinusCirkel);\nexport default __webpack_public_path__ + \"static/media/20x20_minus-cirkel.979c0a23f5961d79bf0475ccc901d9f9.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20MobilmenyMinasidor(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.116,15.635h1.001c0.065-2.64,2.228-4.769,4.883-4.769s4.818,2.129,4.883,4.769h1.001 c-0.051-2.506-1.671-4.634-3.919-5.432c0.781-0.594,1.285-1.533,1.285-2.587c0-1.792-1.458-3.25-3.25-3.25s-3.25,1.458-3.25,3.25 c0,1.054,0.505,1.993,1.285,2.587C5.787,11.001,4.166,13.128,4.116,15.635z M7.75,7.616c0-1.241,1.01-2.25,2.25-2.25 s2.25,1.01,2.25,2.25c0,1.241-1.01,2.25-2.25,2.25S7.75,8.857,7.75,7.616z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20MobilmenyMinasidor);\nexport default __webpack_public_path__ + \"static/media/20x20_mobilmeny_minasidor.5eb34b7fa7b177fc0d23ed912d7350a8.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20MobilmenySok(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.937,15.056l-3.066-3.066c0.595-0.808,0.958-1.796,0.958-2.874c0-2.69-2.19-4.878-4.883-4.878S4.063,6.425,4.063,9.115 c0,2.689,2.19,4.878,4.883,4.878c1.253,0,2.385-0.487,3.25-1.265l3.034,3.034L15.937,15.056z M8.946,12.993 c-2.141,0-3.883-1.739-3.883-3.878c0-2.138,1.742-3.878,3.883-3.878s3.883,1.74,3.883,3.878 C12.829,11.254,11.086,12.993,8.946,12.993z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20MobilmenySok);\nexport default __webpack_public_path__ + \"static/media/20x20_mobilmeny_sok.b30d4b4e86961287877ce2b9d216dee0.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20MobilmenySprak(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,4.226c-3.266,0-5.923,2.59-5.923,5.774c0,3.184,2.657,5.774,5.923,5.774c3.266,0,5.923-2.591,5.923-5.774 C15.923,6.816,13.266,4.226,10,4.226z M5.117,10.535h1.686c0.032,0.636,0.104,1.247,0.238,1.803h-1.32 C5.403,11.793,5.192,11.185,5.117,10.535z M6.798,9.535H5.112c0.068-0.676,0.28-1.308,0.609-1.873h1.32 C6.902,8.238,6.827,8.873,6.798,9.535z M8.084,7.663h1.374v1.873H7.796C7.829,8.844,7.93,8.216,8.084,7.663z M7.799,10.535h1.659 v1.803H8.084C7.935,11.803,7.836,11.199,7.799,10.535z M10.458,7.663h1.458c0.155,0.554,0.255,1.182,0.289,1.873h-1.746V7.663z M10.458,10.535h1.743c-0.037,0.664-0.136,1.268-0.285,1.803h-1.458V10.535z M13.198,10.535h1.686 c-0.075,0.65-0.286,1.258-0.604,1.803h-1.32C13.093,11.783,13.166,11.171,13.198,10.535z M13.202,9.535 c-0.029-0.662-0.103-1.297-0.242-1.873h1.32c0.329,0.564,0.541,1.197,0.609,1.873H13.202z M13.502,6.663h-0.856 c-0.133-0.341-0.283-0.658-0.454-0.937C12.684,5.964,13.12,6.286,13.502,6.663z M11.554,6.663h-1.096V5.355 C10.856,5.558,11.242,6.011,11.554,6.663z M9.458,5.41v1.252H8.446C8.736,6.058,9.09,5.632,9.458,5.41z M7.808,5.726 C7.637,6.005,7.487,6.322,7.354,6.663H6.498C6.88,6.286,7.317,5.964,7.808,5.726z M6.499,13.338h0.856 c0.133,0.34,0.283,0.657,0.454,0.937C7.317,14.037,6.88,13.714,6.499,13.338z M8.447,13.338h1.011v1.252 C9.09,14.368,8.736,13.943,8.447,13.338z M10.458,14.645v-1.307h1.095C11.242,13.989,10.856,14.442,10.458,14.645z M12.192,14.274 c0.171-0.279,0.321-0.596,0.454-0.937h0.855C13.12,13.714,12.683,14.037,12.192,14.274z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20MobilmenySprak);\nexport default __webpack_public_path__ + \"static/media/20x20_mobilmeny_sprak.42de456c3adc2072b1fc5177106fffe5.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Navigering(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"navigering\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.207,9.999l6.792-6.792l6.794,6.792l-6.794,6.793L3.207,9.999z M1.793,9.999l8.206,8.207l8.208-8.207L9.999,1.794 L1.793,9.999z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"10.533,6.536 9.852,7.269 11.726,9.01 8.135,9.01 8.135,13.502 9.135,13.502 9.135,10.01 11.726,10.01 9.852,11.752 10.533,12.484 13.732,9.51 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Navigering);\nexport default __webpack_public_path__ + \"static/media/20x20_navigering.075d7813024def91c9a030278efa9e9e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Penna(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"penna\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"3.499,3.5 3.499,16.5 16.5,16.5 16.5,9.087 15.5,9.087 15.5,15.5 4.499,15.5 4.499,4.5 11.092,4.5 11.092,3.5 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.969,9.798l6.544-6.619L16.834,4.5l-6.546,6.62l-2.157,0.835L8.969,9.798z M8.184,9.169l-1.805,4.537l4.37-1.692 l7.495-7.519l-2.735-2.734L8.184,9.169z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Penna);\nexport default __webpack_public_path__ + \"static/media/20x20_penna.be5da074d9399e31f3586ec01c665ee0.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Pin(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"pin\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.981,16.923l-0.408-0.775c-0.369-0.701-2.55-4.078-3.267-5.188c-0.156-0.242-0.252-0.391-0.261-0.406L6,10.463 C5.618,9.836,5.395,9.026,5.394,8.201c-0.002-1.23,0.475-2.388,1.343-3.26C7.604,4.069,8.76,3.588,9.991,3.585 c0.003,0,0.006,0,0.009,0c1.228,0,2.381,0.477,3.251,1.343c0.872,0.869,1.354,2.024,1.355,3.255l0,0 c0.002,1.004-0.313,1.959-0.914,2.763c-0.708,1.102-3.251,5.229-3.251,5.23L9.981,16.923z M10,4.585c-0.002,0-0.005,0-0.007,0 C8.004,4.589,6.39,6.21,6.394,8.199c0.001,0.646,0.176,1.28,0.505,1.833l0.248,0.386c0.967,1.498,2.204,3.42,2.879,4.527 c0.762-1.234,2.304-3.729,2.846-4.568c0.488-0.657,0.736-1.405,0.734-2.191l0,0c-0.002-0.963-0.379-1.868-1.062-2.548 C11.864,4.958,10.96,4.585,10,4.585z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.004,9.668c-1.019,0-1.848-0.829-1.848-1.848s0.829-1.848,1.848-1.848s1.848,0.829,1.848,1.848 S11.023,9.668,10.004,9.668z M10.004,6.973c-0.467,0-0.848,0.38-0.848,0.848s0.38,0.848,0.848,0.848c0.468,0,0.848-0.38,0.848-0.848 S10.472,6.973,10.004,6.973z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Pin);\nexport default __webpack_public_path__ + \"static/media/20x20_pin.3bbff1d351f489df6f1828d35e599a36.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20PlusCirkel(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 22 22\",\n style: {\n enableBackground: \"new 0 0 22 22\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,1C5.486,1,1,5.486,1,11c0,5.514,4.486,10,10,10c5.514,0,10-4.486,10-10C21,5.486,16.514,1,11,1z M11,20 c-4.962,0-9-4.037-9-9c0-4.962,4.038-9,9-9c4.963,0,9,4.038,9,9C20,15.963,15.963,20,11,20z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"11.5,6 10.5,6 10.5,10.5 6,10.5 6,11.5 10.5,11.5 10.5,16 11.5,16 11.5,11.5 16,11.5 16,10.5 11.5,10.5 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20PlusCirkel);\nexport default __webpack_public_path__ + \"static/media/20x20_plus-cirkel.4dae0ae9b01e1544b5021872288c7016.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20RadiobuttonSelected(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 22 22\",\n style: {\n enableBackground: \"new 0 0 22 22\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,22C4.935,22,0,17.065,0,11S4.935,0,11,0s11,4.935,11,11S17.065,22,11,22z M11,1C5.486,1,1,5.486,1,11 c0,5.514,4.486,10,10,10c5.514,0,10-4.486,10-10C21,5.486,16.514,1,11,1z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,17c3.313,0,6-2.7,6-6s-2.687-6-6-6s-6,2.7-6,6S7.687,17,11,17\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20RadiobuttonSelected);\nexport default __webpack_public_path__ + \"static/media/20x20_radiobutton_selected.d2dbb0199528f5ca5d67c977aae0d9cd.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20RadiobuttonUnselected(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 22 22\",\n style: {\n enableBackground: \"new 0 0 22 22\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,22C4.935,22,0,17.065,0,11S4.935,0,11,0s11,4.935,11,11S17.065,22,11,22z M11,1C5.486,1,1,5.486,1,11 c0,5.514,4.486,10,10,10c5.514,0,10-4.486,10-10C21,5.486,16.514,1,11,1z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20RadiobuttonUnselected);\nexport default __webpack_public_path__ + \"static/media/20x20_radiobutton_unselected.418f21e1f3723dc8f44967c49e6d103f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Sok(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.927,17.951l-4.887-4.887c0.97-1.233,1.554-2.783,1.554-4.469c0-4-3.257-7.253-7.26-7.253S1.073,4.596,1.073,8.595 s3.257,7.253,7.26,7.253c1.956,0,3.73-0.78,5.036-2.04l4.85,4.85L18.927,17.951z M8.333,14.848c-3.452,0-6.26-2.804-6.26-6.253 s2.808-6.253,6.26-6.253s6.26,2.805,6.26,6.253S11.785,14.848,8.333,14.848z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Sok);\nexport default __webpack_public_path__ + \"static/media/20x20_sok.32fbe72cfceae6c332844385cbb2ae30.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg20X20Telefon(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"telefon\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 20 20\",\n style: {\n enableBackground: \"new 0 0 20 20\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.451,11.86l3.192-2.34h4.711l3.192,2.34v4.617H4.451V11.86z M7.316,8.521l-3.863,2.833v6.123h13.094v-6.123l-3.863-2.833 H7.316z M3.523,5.545l2.469-2.022h8.035l2.45,1.755v1.241H13.47V4.975L6.549,4.971v1.548H3.523V5.545z M5.635,2.523L2.523,5.072 v2.447h5.026V5.972l4.921,0.002v1.545h5.008V4.764l-3.131-2.241H5.635z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 7.78,\n y: 10.58,\n width: 0.934,\n height: 0.935\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 9.649,\n y: 10.58,\n width: 0.934,\n height: 0.935\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 11.517,\n y: 10.58,\n width: 0.935,\n height: 0.935\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 7.78,\n y: 12.449,\n width: 0.934,\n height: 0.934\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 9.649,\n y: 12.449,\n width: 0.934,\n height: 0.934\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 11.517,\n y: 12.449,\n width: 0.935,\n height: 0.934\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 7.78,\n y: 14.318,\n width: 0.934,\n height: 0.935\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 9.649,\n y: 14.318,\n width: 0.934,\n height: 0.935\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 11.517,\n y: 14.318,\n width: 0.935,\n height: 0.935\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg20X20Telefon);\nexport default __webpack_public_path__ + \"static/media/20x20_telefon.3839bc6201914f3e77d178acbb881f8c.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Akut(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"31.5,19.5 31.5,31.5 8.5,31.5 8.5,8.5 20.5,8.5 20.5,7.5 7.5,7.5 7.5,32.5 32.5,32.5 32.5,19.5 \"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.5,26.8l-0.8-0.5L25,15.9h-6.6L31,1.5L31.8,2l-4.3,10.4h6.6L21.5,26.8z M20.6,14.8h5.9l-3.8,9l9.1-10.4h-5.9l3.8-9 L20.6,14.8z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Akut);\nexport default __webpack_public_path__ + \"static/media/40x40_akut.aadace415e7d08a84e3b8c3d884a1e9e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Byta(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.048,17.902l0.28,0.528l0.566-1.065c-2.852-5.377-3.838-7.194-8.964-7.194H5.502v1H8.93 C13.478,11.171,14.234,12.597,17.048,17.902z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.801,26.054l3.456,2.729h-3.736c-4.548,0-5.305-1.426-8.119-6.732c-0.099-0.186-0.207-0.389-0.311-0.585l-0.566,1.065 c2.877,5.424,3.851,7.252,8.996,7.252h3.765l-3.49,2.83l0.629,0.777l5.073-4.112l-5.078-4.009L28.801,26.054z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.423,6.61l-0.625,0.781l3.474,2.78h-3.752c-5.149,0-6.12,1.83-9.002,7.263c-0.373,0.702-0.779,1.468-1.233,2.303 l0.001,0l-0.001,0.001c-0.455,0.837-0.863,1.605-1.236,2.311c-2.814,5.307-3.571,6.733-8.119,6.733H5.502v1H8.93 c5.15,0,6.121-1.831,9.002-7.266c0.373-0.701,0.778-1.467,1.232-2.302c0.456-0.838,0.863-1.607,1.237-2.312 c2.814-5.306,3.571-6.732,8.119-6.732h3.751l-3.473,2.779l0.625,0.781l5.075-4.061L29.423,6.61z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Byta);\nexport default __webpack_public_path__ + \"static/media/40x40_byta.ebff09ffc25cafcbcb6d792e1508183c.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40CirkelAlertFet(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,5C11.716,5,5,11.716,5,20s6.716,15,15,15s15-6.716,15-15S28.284,5,20,5z M26.361,24.24l-2.121,2.121L20,22.121 l-4.244,4.244l-2.121-2.121L17.879,20l-4.244-4.244l2.121-2.121L20,17.879l4.24-4.24l2.121,2.121L22.121,20L26.361,24.24z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40CirkelAlertFet);\nexport default __webpack_public_path__ + \"static/media/40x40_cirkel_alert_fet.545dac2214881a750a0c675fafc686ce.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40CirkelAlertTunn(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,5C11.7,5,5,11.7,5,20s6.7,15,15,15s15-6.7,15-15S28.3,5,20,5z M26,24.6L24.6,26L20,21.4L15.4,26L14,24.6l4.6-4.6 L14,15.4l1.4-1.4l4.6,4.6l4.6-4.6l1.4,1.4L21.4,20L26,24.6z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40CirkelAlertTunn);\nexport default __webpack_public_path__ + \"static/media/40x40_cirkel_alert_tunn.c04d6ab8a3ae1856c4bedfb0178c0d4d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40CirkelBockFet(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,5C11.716,5,5,11.716,5,20s6.716,15,15,15s15-6.716,15-15S28.284,5,20,5z M19.058,27.77l-6.104-5.372l1.982-2.252 l3.508,3.087l7.223-11.02l2.51,1.645L19.058,27.77z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40CirkelBockFet);\nexport default __webpack_public_path__ + \"static/media/40x40_cirkel_bock_fet.ad651bb01704f8e8d1735e686b464c24.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40CirkelBockTunn(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,5C11.716,5,5,11.715,5,20s6.716,15,15,15s15-6.715,15-15S28.284,5,20,5z M18.908,27.768l-5.953-5.363l1.339-1.486 l4.202,3.785l7.997-12.492l1.685,1.078L18.908,27.768z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40CirkelBockTunn);\nexport default __webpack_public_path__ + \"static/media/40x40_cirkel_bock_tunn.424fe9b718bdadb10ef41dd73dacc700.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40CirkelUtropsteckenFet(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,5C11.716,5,5,11.716,5,20s6.716,15,15,15s15-6.716,15-15S28.284,5,20,5z M22.017,11.063l-0.72,11.689h-2.641 L17.96,11.063H22.017z M20,29.137c-1.2,0-2.16-0.96-2.16-2.16c0-1.224,0.96-2.16,2.16-2.16s2.16,0.937,2.16,2.16 C22.16,28.177,21.2,29.137,20,29.137z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40CirkelUtropsteckenFet);\nexport default __webpack_public_path__ + \"static/media/40x40_cirkel_utropstecken_fet.378943f9f15f57d870dcc13275578ebb.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40CirkelUtropsteckenTunn(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,5C11.716,5,5,11.716,5,20s6.716,15,15,15s15-6.716,15-15S28.284,5,20,5z M21.163,11.111l-0.359,12.312h-1.656 l-0.336-12.312H21.163z M20.012,29.089c-0.864,0-1.513-0.648-1.513-1.488c0-0.864,0.648-1.512,1.513-1.512 c0.839,0,1.488,0.647,1.488,1.512C21.5,28.44,20.852,29.089,20.012,29.089z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40CirkelUtropsteckenTunn);\nexport default __webpack_public_path__ + \"static/media/40x40_cirkel_utropstecken_tunn.2eb96c298eafb6725247b0582ecb6772.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40ErbjudandeSplash(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,36.146l-2.786-5.749l-5.287,3.586l0.462-6.372l-6.372,0.462l3.586-5.287L3.854,20l5.749-2.786l-3.586-5.287l6.372,0.462 l-0.462-6.372l5.287,3.586L20,3.854l2.786,5.749l5.287-3.586l-0.462,6.372l6.372-0.462l-3.586,5.287L36.146,20l-5.749,2.786 l3.586,5.287l-6.372-0.462l0.462,6.372l-5.287-3.586L20,36.146z M17.61,28.921L20,33.854l2.39-4.933l4.537,3.076l-0.396-5.466 l5.466,0.396l-3.076-4.537L33.854,20l-4.933-2.39l3.076-4.537l-5.466,0.396l0.396-5.466l-4.537,3.076L20,6.146l-2.39,4.933 l-4.537-3.076l0.396,5.466l-5.466-0.396l3.076,4.537L6.146,20l4.933,2.39l-3.076,4.537l5.466-0.396l-0.396,5.466L17.61,28.921z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40ErbjudandeSplash);\nexport default __webpack_public_path__ + \"static/media/40x40_erbjudande-splash.2b929d1b425f1157eeb2e9be90bc8e30.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40ErbjudandeTag(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.479,33.708L6.296,23.523L22.312,7.5L32.46,7.54l0.04,10.148L16.479,33.708z M7.704,23.521l8.774,8.773l15.02-15.019 l-0.034-8.739l-8.74-0.034L7.704,23.521z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.235,16.197c-0.648,0-1.257-0.252-1.716-0.709c-0.46-0.458-0.713-1.068-0.714-1.717s0.251-1.259,0.71-1.718 c0.457-0.459,1.067-0.713,1.716-0.714c0.001,0,0.002,0,0.003,0c0.648,0,1.257,0.252,1.716,0.709 c0.949,0.947,0.95,2.488,0.004,3.436c-0.458,0.459-1.067,0.712-1.716,0.713C26.237,16.197,26.236,16.197,26.235,16.197z M26.234,12.339c0,0-0.001,0-0.002,0c-0.381,0-0.74,0.15-1.009,0.42c-0.271,0.271-0.419,0.629-0.418,1.011 c0,0.381,0.149,0.74,0.42,1.01c0.27,0.269,0.628,0.417,1.01,0.417h0.001c0.382,0,0.741-0.15,1.01-0.42l0.001,0 c0.27-0.27,0.418-0.628,0.417-1.01c0-0.381-0.149-0.74-0.42-1.01C26.975,12.487,26.615,12.339,26.234,12.339z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40ErbjudandeTag);\nexport default __webpack_public_path__ + \"static/media/40x40_erbjudande-tag.d565803b6d4bd67d949c34bd5962ac55.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetFilter(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.269,10.981V6.643h-2v4.298c-1.648,0.42-2.876,1.904-2.876,3.681c0,1.777,1.228,3.262,2.876,3.682v15.052h2V18.264 c1.582-0.464,2.748-1.912,2.748-3.642C13.017,12.893,11.851,11.445,10.269,10.981z M9.205,16.434c-0.999,0-1.812-0.813-1.812-1.812 c0-0.999,0.813-1.811,1.812-1.811s1.812,0.812,1.812,1.811C11.017,15.621,10.204,16.434,9.205,16.434z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21,20.508V6.643h-2v13.865c-1.615,0.442-2.812,1.908-2.812,3.661c0,1.754,1.197,3.22,2.812,3.662v5.525h2v-5.525 c1.615-0.443,2.812-1.908,2.812-3.662C23.812,22.416,22.615,20.95,21,20.508z M20,25.981c-0.999,0-1.812-0.813-1.812-1.812 c0-0.999,0.813-1.811,1.812-1.811s1.812,0.812,1.812,1.811C21.812,25.168,20.999,25.981,20,25.981z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.607,19.999c0-1.777-1.228-3.261-2.877-3.681V6.643h-2v9.715c-1.582,0.464-2.747,1.911-2.747,3.641 c0,1.73,1.166,3.178,2.747,3.642v9.716h2v-9.675C33.379,23.262,34.607,21.777,34.607,19.999z M30.795,21.811 c-0.999,0-1.812-0.813-1.812-1.812c0-0.999,0.812-1.811,1.812-1.811s1.812,0.812,1.812,1.811 C32.607,20.998,31.794,21.811,30.795,21.811z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetFilter);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_filter.0fac96e728b5e44919ad3ed37439ee71.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetKalender(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.78,14.239L33.78,14.239L33.779,7H27.78V3.423h-2V7H14.22V3.423h-2V7h-6v27.559h27.559v-18.32h0.001V14.239z M12.22,9 v2.422h2V9h11.56v2.422h2V9h3.999v5.239H8.22V9H12.22z M31.779,32.559H8.22v-16.32h23.559V32.559z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetKalender);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_kalender.d88725b2685531d94653baca921a31e8.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetKlocka(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,35c-8.271,0-15-6.729-15-15c0-8.271,6.729-15,15-15c8.271,0,15,6.729,15,15C35,28.271,28.271,35,20,35z M20,7 C12.832,7,7,12.832,7,20c0,7.168,5.832,13,13,13c7.168,0,13-5.832,13-13C33,12.832,27.168,7,20,7z\"\n })), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"27.132,21.968 19.017,21.968 19.017,11.761 21.017,11.761 21.017,19.967 27.132,19.967 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetKlocka);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_klocka.58391454dcd2dd1884010a8676466c22.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetMail(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5,9.3V30.7h30V9.3H5z M33,28.7H7V11.3h26V28.7z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"15.883,22.594 14.308,21.298 8.349,26.157 9.619,27.702 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"9.631,14.861 20,23.391 30.367,14.861 30.381,14.878 31.639,13.843 30.367,12.298 20,20.829 9.631,12.298 8.361,13.843 9.618,14.877 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"24.127,22.585 30.372,27.702 31.643,26.157 25.702,21.289 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetMail);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_mail.034edbac881a4968d7683f6a6d0ddf83.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetMinasidor(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.943,34.559h2.003C7.115,27.498,12.899,21.803,20,21.803c7.101,0,12.885,5.695,13.054,12.756h2.003 c-0.137-6.62-4.554-12.206-10.596-14.083c2.238-1.461,3.721-3.988,3.721-6.855c0-4.511-3.67-8.181-8.182-8.181 c-4.511,0-8.181,3.67-8.181,8.181c0,2.867,1.482,5.394,3.72,6.855C9.497,22.354,5.08,27.94,4.943,34.559z M13.819,13.622 c0-3.408,2.772-6.181,6.181-6.181s6.182,2.773,6.182,6.181S23.408,19.803,20,19.803S13.819,17.03,13.819,13.622z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetMinasidor);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_minasidor.1c7e984046032cd86a45a883ef2d9537.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetNavigering(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.999,5.001L5,20l14.999,14.999L35,20L19.999,5.001z M7.828,20L19.999,7.829L32.172,20L19.999,32.171L7.828,20z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"21.029,13.657 19.667,15.122 22.885,18.113 16.527,18.113 16.527,26.344 18.527,26.344 18.527,20.113 22.885,20.113 19.668,23.104 21.029,24.568 26.898,19.113 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetNavigering);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_navigering.08fc96004640c51839919153d46e8e14.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetSok(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.607,33.72l-8.215-8.215c1.619-2.105,2.593-4.729,2.593-7.583c0-6.882-5.604-12.481-12.493-12.481 S4.999,11.04,4.999,17.922s5.604,12.481,12.493,12.481c3.312,0,6.319-1.303,8.557-3.412l8.144,8.144L35.607,33.72z M17.492,28.403 c-5.786,0-10.493-4.702-10.493-10.481c0-5.779,4.707-10.481,10.493-10.481s10.493,4.702,10.493,10.481 C27.985,23.701,23.278,28.403,17.492,28.403z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetSok);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_sok.b362faee23057e03af291282cbfc0839.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetSprak(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,4.615C11.293,4.615,4.21,11.517,4.21,20c0,8.483,7.083,15.384,15.79,15.384S35.79,28.483,35.79,20 C35.79,11.517,28.707,4.615,20,4.615z M6.258,21.095h5.336c0.075,2.023,0.35,3.925,0.8,5.644H8.092 C7.077,25.056,6.429,23.14,6.258,21.095z M11.588,19.096H6.247c0.146-2.116,0.799-4.099,1.845-5.834h4.302 C11.93,15.034,11.652,17.002,11.588,19.096z M14.473,13.261h4.412v5.834h-5.304C13.653,16.991,13.97,15.007,14.473,13.261z M13.586,21.095h5.299v5.644h-4.412C13.985,25.046,13.67,23.13,13.586,21.095z M20.885,13.261h4.642 c0.504,1.746,0.82,3.73,0.892,5.834h-5.534V13.261z M20.885,21.095h5.529c-0.084,2.034-0.399,3.951-0.887,5.644h-4.642V21.095z M28.407,21.095h5.336c-0.171,2.045-0.819,3.96-1.834,5.644h-4.302C28.056,25.021,28.331,23.118,28.407,21.095z M28.413,19.096 c-0.064-2.094-0.343-4.062-0.806-5.834h4.302c1.046,1.735,1.698,3.718,1.845,5.834H28.413z M30.425,11.261h-3.439 c-0.539-1.446-1.209-2.711-1.985-3.735C27.113,8.327,28.966,9.624,30.425,11.261z M24.826,11.261h-3.941V6.764 C22.434,7.23,23.823,8.885,24.826,11.261z M18.885,6.839v4.422h-3.711C16.127,9.002,17.429,7.394,18.885,6.839z M14.999,7.526 c-0.776,1.025-1.446,2.289-1.985,3.735H9.575C11.034,9.624,12.887,8.326,14.999,7.526z M9.576,28.739h3.438 c0.539,1.446,1.209,2.71,1.985,3.734C12.888,31.673,11.034,30.376,9.576,28.739z M15.174,28.739h3.711v4.422 C17.429,32.606,16.127,30.998,15.174,28.739z M20.885,33.236v-4.497h3.941C23.823,31.116,22.434,32.77,20.885,33.236z M25.001,32.473c0.776-1.024,1.446-2.289,1.985-3.734h3.438C28.966,30.376,27.113,31.673,25.001,32.473z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetSprak);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_sprak.4c05d2441429fbb6b78840a3b3f2dfbc.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40FetTelefon(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.722,5H11.243L5,10.113v4.905h10.08v-3.104l9.88,0.005v3.1H35V9.495L28.722,5z M33,13.018h-6.04V9.919L13.08,9.913 v3.105H7v-1.958L11.958,7h16.122L33,10.523V13.018z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.617,17.035l-7.75,5.681V35h26.267V22.716l-7.75-5.681H14.617z M31.133,33H8.866v-9.271l6.405-4.694h9.458l6.404,4.694 V33z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 15.547,\n y: 21.163,\n width: 1.875,\n height: 1.875\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.297,\n y: 21.163,\n width: 1.875,\n height: 1.875\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 23.047,\n y: 21.163,\n width: 1.875,\n height: 1.875\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 15.547,\n y: 24.913,\n width: 1.875,\n height: 1.875\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.297,\n y: 24.913,\n width: 1.875,\n height: 1.875\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 23.047,\n y: 24.913,\n width: 1.875,\n height: 1.875\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 15.547,\n y: 28.663,\n width: 1.875,\n height: 1.875\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.297,\n y: 28.663,\n width: 1.875,\n height: 1.875\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 23.047,\n y: 28.663,\n width: 1.875,\n height: 1.875\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40FetTelefon);\nexport default __webpack_public_path__ + \"static/media/40x40_fet_telefon.b472d1ceb04e0fe992c44e070ab1672a.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Filter(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.77,11.368V6.643h-1v4.712c-1.619,0.215-2.877,1.59-2.877,3.267c0,1.677,1.258,3.053,2.877,3.268v15.466h1V17.877 c1.557-0.27,2.747-1.622,2.747-3.255C12.517,12.99,11.326,11.638,9.77,11.368z M9.204,16.934c-1.274,0-2.312-1.037-2.312-2.312 c0-1.274,1.037-2.311,2.312-2.311c1.275,0,2.312,1.037,2.312,2.311C11.517,15.897,10.479,16.934,9.204,16.934z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.5,20.909V6.643h-1v14.265c-1.588,0.243-2.812,1.606-2.812,3.26c0,1.655,1.224,3.018,2.812,3.261v5.926h1v-5.926 c1.588-0.243,2.812-1.607,2.812-3.261C23.312,22.515,22.088,21.152,20.5,20.909z M20,26.481c-1.275,0-2.312-1.037-2.312-2.312 c0-1.274,1.037-2.311,2.312-2.311c1.274,0,2.312,1.037,2.312,2.311C22.312,25.444,21.274,26.481,20,26.481z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.107,19.999c0-1.677-1.258-3.051-2.877-3.267V6.643h-1v10.102c-1.557,0.27-2.747,1.622-2.747,3.254 c0,1.633,1.19,2.985,2.747,3.255v10.102h1V23.267C32.849,23.051,34.107,21.676,34.107,19.999z M30.795,22.311 c-1.274,0-2.312-1.037-2.312-2.312c0-1.274,1.037-2.311,2.312-2.311c1.275,0,2.312,1.037,2.312,2.311 C33.107,21.274,32.07,22.311,30.795,22.311z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Filter);\nexport default __webpack_public_path__ + \"static/media/40x40_filter.a5a329c1b58aa35528dc71bb70b44a5d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Historik(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"19.506,12 19.506,21.5 26.006,21.5 26.006,20.5 20.506,20.5 20.506,12 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.006,7c-5.709,0-10.558,3.704-12.299,8.833L6.775,11.17l-0.98,0.196l1.39,6.95l6.161-3.894l-0.534-0.846l-4.169,2.635 C10.233,11.45,14.715,8,20.006,8c6.617,0,12,5.383,12,12c0,6.617-5.383,12-12,12C13.898,32,8.852,27.41,8.11,21.5h-1.01 C7.846,27.963,13.345,33,20.006,33c7.168,0,13-5.832,13-13C33.006,12.832,27.174,7,20.006,7z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Historik);\nexport default __webpack_public_path__ + \"static/media/40x40_historik.cbf172f721152f88c1bff091eceecfac.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Inbox(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.528,8.55H12.471L7.5,21.45v10h25v-10L27.528,8.55z M13.158,9.55h13.685l4.583,11.9H24.5l-2,3.6h-5l-2-3.6H8.574 L13.158,9.55z M31.5,30.45h-23v-8h6.412l1.714,3.086l0.286,0.514H17.5h5h0.588l0.286-0.514l1.714-3.086H31.5V30.45z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 13,\n y: 17.95,\n width: 14,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 14,\n y: 14.95,\n width: 12,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 15,\n y: 11.95,\n width: 10,\n height: 1\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Inbox);\nexport default __webpack_public_path__ + \"static/media/40x40_inbox.244530d6808f57c2ed96167c2543eab6.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Info(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"info\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,33c-7.168,0-13-5.832-13-13c0-7.168,5.832-13,13-13c7.168,0,13,5.832,13,13C33,27.168,27.168,33,20,33z M20,8 C13.383,8,8,13.383,8,20c0,6.617,5.383,12,12,12c6.617,0,12-5.383,12-12C32,13.383,26.617,8,20,8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.25,26.983h1.5V17.01h-1.5V26.983z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,15.141c0.625,0,1.081-0.455,1.081-1.061c0-0.607-0.455-1.062-1.081-1.062s-1.081,0.455-1.081,1.062 C18.919,14.686,19.375,15.141,20,15.141\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Info);\nexport default __webpack_public_path__ + \"static/media/40x40_info.bbb5580962df73fc9ad8b2d02ba6bd7a.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40InstallningarGlobala(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.104,33.5h-4.207l-0.118-0.332c-0.094-0.264-0.178-0.514-0.257-0.749c-0.443-1.318-0.687-2.045-1.651-2.444 c-0.969-0.399-1.657-0.06-2.908,0.563c-0.221,0.109-0.454,0.226-0.703,0.344l-0.319,0.152l-2.974-2.977l0.151-0.318 c0.119-0.251,0.236-0.485,0.347-0.708c0.6-1.203,0.962-1.93,0.56-2.902c-0.4-0.964-1.128-1.209-2.451-1.652 c-0.234-0.079-0.481-0.162-0.742-0.255L6.5,22.104v-4.207l0.332-0.119c0.264-0.094,0.514-0.178,0.75-0.257 c1.318-0.443,2.044-0.687,2.444-1.651c0.401-0.967,0.06-1.654-0.56-2.901c-0.111-0.222-0.228-0.458-0.347-0.709l-0.151-0.318 l2.974-2.974l0.319,0.151c0.252,0.12,0.487,0.237,0.71,0.347c1.247,0.62,1.934,0.961,2.899,0.56c0.965-0.4,1.209-1.126,1.652-2.444 c0.08-0.236,0.164-0.486,0.257-0.75L17.897,6.5h4.207l0.118,0.333c0.094,0.263,0.178,0.513,0.257,0.749 c0.443,1.318,0.688,2.045,1.65,2.444c0.968,0.401,1.655,0.06,2.904-0.561c0.222-0.11,0.457-0.227,0.707-0.346l0.319-0.151 l2.974,2.974l-0.151,0.318c-0.119,0.252-0.236,0.488-0.347,0.71c-0.62,1.248-0.961,1.935-0.561,2.9 c0.383,0.925,1.026,1.175,2.445,1.652c0.235,0.079,0.484,0.163,0.748,0.256l0.332,0.118v4.207l-0.333,0.118 c-0.261,0.093-0.508,0.177-0.743,0.255c-1.322,0.444-2.051,0.689-2.451,1.655c-0.401,0.968-0.059,1.656,0.563,2.905 c0.11,0.221,0.227,0.454,0.345,0.703l0.152,0.318l-2.975,2.977l-0.319-0.152c-0.255-0.121-0.492-0.239-0.717-0.351 c-1.337-0.664-1.965-0.942-2.883-0.561c-0.975,0.405-1.22,1.135-1.665,2.458c-0.078,0.232-0.16,0.479-0.253,0.737L22.104,33.5z M18.604,32.5h2.791c0.046-0.134,0.09-0.264,0.132-0.39c0.466-1.387,0.835-2.482,2.227-3.062c1.377-0.571,2.409-0.06,3.714,0.589 c0.124,0.062,0.251,0.125,0.384,0.19l1.974-1.975c-0.063-0.127-0.125-0.251-0.185-0.37c-0.651-1.311-1.167-2.345-0.592-3.733 c0.574-1.386,1.67-1.754,3.057-2.22c0.128-0.043,0.259-0.087,0.395-0.134v-2.791c-0.138-0.047-0.271-0.092-0.399-0.135 c-1.384-0.465-2.478-0.833-3.05-2.216c-0.575-1.386-0.062-2.42,0.589-3.729c0.061-0.122,0.123-0.248,0.187-0.377l-1.974-1.973 c-0.129,0.063-0.254,0.125-0.374,0.186c-1.31,0.65-2.344,1.164-3.73,0.589c-1.385-0.574-1.752-1.667-2.218-3.051 C21.487,7.77,21.442,7.637,21.396,7.5h-2.791c-0.047,0.138-0.092,0.271-0.136,0.401c-0.465,1.382-0.832,2.475-2.215,3.048 c-1.388,0.574-2.42,0.062-3.729-0.588c-0.122-0.06-0.247-0.123-0.377-0.187l-1.973,1.973c0.064,0.13,0.126,0.255,0.187,0.376 c0.65,1.308,1.164,2.341,0.588,3.729c-0.574,1.384-1.666,1.752-3.049,2.217c-0.129,0.043-0.263,0.088-0.4,0.135v2.791 c0.135,0.046,0.266,0.09,0.393,0.133c1.387,0.465,2.482,0.833,3.057,2.218c0.576,1.395,0.062,2.426-0.589,3.731 c-0.06,0.121-0.123,0.245-0.186,0.374l1.973,1.975c0.127-0.063,0.25-0.124,0.37-0.184c1.312-0.654,2.348-1.169,3.736-0.592 c1.385,0.574,1.752,1.666,2.217,3.05C18.513,32.229,18.558,32.362,18.604,32.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,25.5c-3.033,0-5.5-2.468-5.5-5.5c0-3.033,2.467-5.5,5.5-5.5c3.032,0,5.5,2.467,5.5,5.5 C25.5,23.032,23.032,25.5,20,25.5z M20,15.5c-2.481,0-4.5,2.019-4.5,4.5s2.019,4.5,4.5,4.5s4.5-2.019,4.5-4.5S22.481,15.5,20,15.5z \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40InstallningarGlobala);\nexport default __webpack_public_path__ + \"static/media/40x40_installningar-globala.fd2287ca15ce48e6046317e1c7cbe66e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40InstallningarPersonliga(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.816,25.655h1.002c0.043-1.618,1.366-2.925,2.995-2.925s2.952,1.306,2.995,2.925h1.002 c-0.031-1.582-0.979-2.944-2.339-3.564c0.499-0.453,0.813-1.105,0.813-1.831c0-1.362-1.108-2.471-2.471-2.471 s-2.47,1.108-2.47,2.471c0,0.725,0.314,1.378,0.812,1.83C11.796,22.711,10.847,24.073,10.816,25.655z M14.812,18.79 c0.811,0,1.471,0.66,1.471,1.471s-0.66,1.471-1.471,1.471c-0.811,0-1.47-0.66-1.47-1.471S14.002,18.79,14.812,18.79z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 20.956,\n y: 22.455,\n width: 8,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 20.956,\n y: 24.655,\n width: 8,\n height: 1\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"31.5,20.326 31.5,30.5 8.5,30.5 8.5,12.5 18.094,12.5 18.094,11.5 7.5,11.5 7.5,31.5 32.5,31.5 32.5,20.326 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.138,20.503h-2.553l-0.256-0.732c-0.244-0.726-0.349-0.985-0.737-1.146c-0.392-0.163-0.651-0.052-1.34,0.291 L22.56,19.25l-1.807-1.807l0.337-0.696c0.327-0.656,0.453-0.938,0.289-1.336c-0.162-0.39-0.422-0.494-1.151-0.739L19.5,14.418 v-2.554l0.73-0.255c0.727-0.244,0.986-0.348,1.148-0.739s0.053-0.648-0.289-1.334l-0.336-0.698l1.806-1.806l0.696,0.336 c0.688,0.342,0.945,0.453,1.335,0.289c0.39-0.162,0.494-0.421,0.738-1.147l0.256-0.731h2.553l0.255,0.731 c0.244,0.727,0.349,0.986,0.738,1.147c0.393,0.162,0.65,0.053,1.337-0.29l0.696-0.336l1.805,1.806l-0.336,0.698 c-0.341,0.687-0.45,0.944-0.289,1.335c0.161,0.389,0.421,0.494,1.148,0.738l0.73,0.255v2.554l-0.73,0.254 c-0.728,0.245-0.988,0.349-1.149,0.739c-0.162,0.391-0.052,0.649,0.289,1.336l0.336,0.696l-1.804,1.806l-0.7-0.338 c-0.685-0.34-0.941-0.452-1.328-0.29c-0.394,0.164-0.499,0.424-0.743,1.152L28.138,20.503z M26.295,19.503l1.149-0.048 c0.255-0.756,0.475-1.41,1.308-1.756c0.828-0.343,1.443-0.037,2.156,0.318l0.05,0.024l0.801-0.802l-0.021-0.046 c-0.356-0.715-0.663-1.333-0.318-2.164c0.344-0.83,0.998-1.05,1.755-1.304l0.049-0.017l-0.05-1.151 c-0.757-0.254-1.41-0.474-1.753-1.304c-0.344-0.831-0.037-1.448,0.317-2.162l0.023-0.048l-0.802-0.802l-0.046,0.022 c-0.715,0.355-1.33,0.664-2.164,0.318c-0.83-0.344-1.05-0.997-1.304-1.753L27.428,6.78h-1.133l-0.018,0.051 c-0.254,0.755-0.474,1.407-1.303,1.751c-0.833,0.346-1.449,0.038-2.164-0.317l-0.047-0.023l-0.801,0.802l0.022,0.048 c0.355,0.714,0.662,1.331,0.317,2.162c-0.345,0.83-0.998,1.05-1.754,1.304L20.5,12.574l0.046,1.15 c0.758,0.254,1.412,0.474,1.757,1.304c0.345,0.835,0.038,1.452-0.317,2.165l-0.022,0.046l0.801,0.801l0.043-0.021 c0.718-0.356,1.335-0.664,2.167-0.319c0.83,0.344,1.05,0.996,1.304,1.752L26.295,19.503z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.861,16.28c-1.73,0-3.139-1.408-3.139-3.139c0-1.73,1.408-3.139,3.139-3.139S30,11.411,30,13.141 C30,14.872,28.592,16.28,26.861,16.28z M26.861,11.002c-1.18,0-2.139,0.959-2.139,2.139c0,1.18,0.959,2.139,2.139,2.139 S29,14.321,29,13.141C29,11.962,28.041,11.002,26.861,11.002z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40InstallningarPersonliga);\nexport default __webpack_public_path__ + \"static/media/40x40_installningar-personliga.cb9fef0dcd338b4f06c588135e396f50.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Kalender31(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.9,7.5v-4h-1v4H14.1v-4h-1v4H7.5v25h25v-25H26.9z M31.5,31.5h-23v-23h4.6v3.6h1V8.5h11.8v3.6h1V8.5h4.6 C31.5,8.5,31.5,31.5,31.5,31.5z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.5,15.9c2,0,3.2,1.3,3.2,2.8c0,1.1-0.6,2-1.6,2.4l0,0c1,0.4,1.9,1.2,1.9,2.6c0,1.6-1.2,3-3.5,3c-1.2,0-2.1-0.4-2.9-1 v-1.5c0.7,0.8,1.6,1.3,2.8,1.3c1.4,0,2.3-0.8,2.3-1.9s-0.9-1.9-2.4-1.9H15v-1.1h1c1.6,0,2.4-0.7,2.4-1.8c0-1-0.7-1.7-2-1.7 c-1,0-1.9,0.5-2.4,1.1v-1.4C14.5,16.3,15.4,15.9,16.5,15.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,17.9L21.4,19v-1.4l3.8-1.6h0.1v10.5H24V17.9z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Kalender31);\nexport default __webpack_public_path__ + \"static/media/40x40_kalender-31.207db169ddcab22c6b73395b0fdceeec.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40KalenderCheck(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.5,15.001h23v16.5h-23V15.001z M26.9,12.1V8.5h4.6V14h-23V8.5h4.601v3.6H14.1V8.5h11.8v3.6H26.9z M25.9,3.5v4.001H14.1 V3.5h-0.999v4.001H7.5V32.5h25V7.501h-5.6V3.5H25.9z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"19.312,26.061 16.728,23.421 16.002,24.263 19.484,27.745 25.701,18.911 24.86,18.274 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40KalenderCheck);\nexport default __webpack_public_path__ + \"static/media/40x40_kalender-check.917be3a83a218aaaab647ab6af9fa656.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Karta(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.97,13.438l-7.651-4.324L8,13.774V30.96l8.322-4.782l7.638,4.233L32,26.187V9.04L23.97,13.438z M16.818,10.545 l6.647,3.757v14.691l-6.647-3.684V10.545z M9,14.36l6.818-3.819v14.773L9,29.232V14.36z M31,25.583l-6.534,3.433V14.307L31,10.728 V25.583z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Karta);\nexport default __webpack_public_path__ + \"static/media/40x40_karta.081c2cdc0c816e2060b8b5338692e3a3.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Klinik(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"31.5,18.496 31.5,31.5 8.5,31.5 8.5,18.496 7.5,18.496 7.5,32.5 32.5,32.5 32.5,18.496 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.856,24.996h-6.5v-6.5h6.5V24.996z M21.355,23.996h4.501v-4.5h-4.501V23.996z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"36.703,17.389 20,2.833 3.297,17.389 2.64,16.635 20,1.507 37.359,16.635 \"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Klinik);\nexport default __webpack_public_path__ + \"static/media/40x40_klinik.1ff4f75c5d45890760d11437268ee71d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Mail(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.5,29.507h-27V10.493h27V29.507z M7.5,28.507h25V11.493h-25V28.507z\"\n })), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"20,22.619 9.464,13.952 10.1,13.179 20,21.324 29.9,13.179 30.535,13.952 \"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 8.99,\n y: 23.726,\n transform: \"matrix(0.7717 -0.6359 0.6359 0.7717 -12.5601 13.4585)\",\n width: 6.955,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 27.048,\n y: 20.748,\n transform: \"matrix(0.6354 -0.7722 0.7722 0.6354 -8.6627 30.1038)\",\n width: 0.999,\n height: 6.955\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Mail);\nexport default __webpack_public_path__ + \"static/media/40x40_mail.4301802818619471fb3f6d9f4ad084cd.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40MinaBarn(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.036,29.025c-0.082-3.36-2.31-6.199-5.372-7.17c1.334-0.797,2.23-2.256,2.23-3.92c0-2.515-2.046-4.561-4.56-4.561 c-2.515,0-4.561,2.046-4.561,4.561c0,1.665,0.896,3.124,2.231,3.92c-0.51,0.162-0.986,0.392-1.443,0.651 c-1.389-1.652-3.267-2.881-5.417-3.439c1.771-0.949,2.979-2.818,2.979-4.964c0-3.103-2.524-5.627-5.627-5.627 S9.87,10.999,9.87,14.102c0,2.146,1.208,4.015,2.979,4.964c-4.459,1.157-7.773,5.169-7.886,9.958H4.961v2.5h0.996v-2.473h0.006 c0.121-5.159,4.347-9.322,9.535-9.322c2.885,0,5.468,1.293,7.22,3.322c-1.824,1.374-3.025,3.531-3.084,5.973h-0.001v0.014 c0,0.004-0.001,0.009-0.001,0.013h0.001v2.473h0.996v-2.497c0.099-3.618,3.066-6.532,6.708-6.532c3.646,0,6.616,2.921,6.708,6.546 v2.483h0.996v-2.5H35.036z M10.87,14.102c0-2.552,2.076-4.627,4.627-4.627s4.627,2.076,4.627,4.627s-2.076,4.627-4.627,4.627 S10.87,16.654,10.87,14.102z M23.775,17.935c0-1.963,1.598-3.561,3.561-3.561s3.56,1.597,3.56,3.561s-1.597,3.561-3.56,3.561 S23.775,19.898,23.775,17.935z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40MinaBarn);\nexport default __webpack_public_path__ + \"static/media/40x40_mina-barn.b6f4624780fd356a4ae212be2ee2b217.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40MinaSidor(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.506,32.394c0-0.015-0.002-0.03-0.002-0.045c0-6.34,5.157-11.497,11.497-11.497s11.497,5.157,11.497,11.497 c0,0.015-0.002,0.03-0.002,0.045h1c0-0.015,0.002-0.03,0.002-0.045c0-5.897-4.105-10.854-9.609-12.16 c2.209-1.075,3.735-3.343,3.735-5.96c0-3.652-2.971-6.623-6.623-6.623s-6.623,2.971-6.623,6.623c0,2.617,1.526,4.885,3.735,5.96 c-5.503,1.307-9.609,6.263-9.609,12.16c0,0.015,0.002,0.03,0.002,0.045H8.506z M14.377,14.229c0-3.1,2.522-5.623,5.623-5.623 s5.623,2.522,5.623,5.623c0,3.101-2.522,5.623-5.623,5.623S14.377,17.329,14.377,14.229z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40MinaSidor);\nexport default __webpack_public_path__ + \"static/media/40x40_mina-sidor.a120048abb2b6256aec2707778b174d5.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Navigering(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"navigering\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,3.897L3.896,20L20,36.103L36.104,20L20,3.897z M5.31,20L20,5.311L34.69,20L20,34.689L5.31,20z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"20.736,13.275 20.055,14.008 24.882,18.495 16.698,18.495 16.698,27.189 17.698,27.189 17.698,19.495 24.881,19.495 20.055,23.981 20.736,24.714 26.888,18.995 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Navigering);\nexport default __webpack_public_path__ + \"static/media/40x40_navigering.953da0b8e6c85fe0c1040cd601945df4.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Paket(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.5,7.5v10.729v1V32.5h25v-25H7.5z M31.5,18.229h-9.354c1.797-0.81,4.662-2.364,5.113-4.206 c0.124-0.508,0.12-1.281-0.626-2.097c-0.457-0.442-0.996-0.631-1.576-0.543c-1.064,0.162-2.164,1.265-3.268,3.279 c-0.629,1.147-1.031,1.968-1.289,2.535V8.5h11V18.229z M21.496,17.423c0.25-0.535,0.624-1.284,1.17-2.279 c1.24-2.264,2.124-2.708,2.541-2.771c0.038-0.005,0.081-0.01,0.129-0.01c0.157,0,0.359,0.049,0.58,0.261 c0.353,0.387,0.471,0.756,0.371,1.163C25.946,15.183,23.295,16.627,21.496,17.423z M8.5,8.5h11v8.698 c-0.258-0.567-0.66-1.388-1.289-2.535c-1.104-2.015-2.203-3.118-3.268-3.279c-0.577-0.089-1.118,0.101-1.597,0.565 c-0.725,0.793-0.729,1.566-0.604,2.074c0.45,1.842,3.315,3.396,5.112,4.206H8.5V8.5z M18.503,17.423 c-1.798-0.795-4.449-2.24-4.791-3.637c-0.099-0.407,0.019-0.776,0.35-1.141c0.239-0.231,0.447-0.283,0.606-0.283 c0.045,0,0.087,0.004,0.125,0.01c0.417,0.063,1.301,0.507,2.541,2.771C17.88,16.139,18.253,16.888,18.503,17.423z M8.5,19.229 h10.551l-3.294,5.936l0.874,0.484l2.869-5.17V31.5h-11V19.229z M20.5,31.5V20.48l2.868,5.169l0.875-0.484l-3.294-5.936H31.5V31.5 H20.5z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Paket);\nexport default __webpack_public_path__ + \"static/media/40x40_paket.2b48e7e39d421e6a7910036c7785d31c.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Penna(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"31.5,17.5 31.5,31.5 8.5,31.5 8.5,8.5 22.5,8.5 22.5,7.5 7.5,7.5 7.5,32.5 32.5,32.5 32.5,17.5 \"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.5,26.7l3.1-7.8L32,3.2L36.8,8L21.2,23.7L13.5,26.7z M17.4,19.5L15.3,25l5.5-2.1L35.4,8l-3.3-3.3L17.4,19.5z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Penna);\nexport default __webpack_public_path__ + \"static/media/40x40_penna.b7c8dcc38e56c58a40984c7c759e6335.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Pratbubbla(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.5,7.5v25H19.4l-6.5,5.7v-5.7H7.5v-25 M8.5,31.5h5.4V36l5.1-4.5h12.5v-23h-23V31.5z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.3,22.3c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S15.4,22.3,14.3,22.3z M14.3,19.1c-0.6,0-1.1,0.5-1.1,1.1 s0.5,1.1,1.1,1.1s1.1-0.5,1.1-1.1S14.9,19.1,14.3,19.1z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,22.3c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S21.2,22.3,20,22.3z M20,19.1c-0.6,0-1.1,0.5-1.1,1.1 s0.5,1.1,1.1,1.1s1.1-0.5,1.1-1.1S20.6,19.1,20,19.1z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.8,22.3c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S26.9,22.3,25.8,22.3z M25.8,19.1c-0.6,0-1.1,0.5-1.1,1.1 s0.5,1.1,1.1,1.1s1.1-0.5,1.1-1.1S26.4,19.1,25.8,19.1z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Pratbubbla);\nexport default __webpack_public_path__ + \"static/media/40x40_pratbubbla.28b5c80469573c83335e6224496d1139.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40SistaMinuten(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.304,22.018\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.5,\n y: 9.937,\n width: 1,\n height: 1.586\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.5,\n y: 28.472,\n width: 1,\n height: 1.586\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 9.94,\n y: 19.5,\n width: 1.586,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 28.475,\n y: 19.5,\n width: 1.586,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 14.582,\n y: 27.527,\n transform: \"matrix(0.4161 -0.9093 0.9093 0.4161 -16.513 30.3373)\",\n width: 1.569,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 23.849,\n y: 11.474,\n transform: \"matrix(0.4157 -0.9095 0.9095 0.4157 3.5031 29.4011)\",\n width: 1.569,\n height: 1.001\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 11.19,\n y: 24.133,\n transform: \"matrix(0.9095 -0.4157 0.4157 0.9095 -9.1566 7.2069)\",\n width: 1.569,\n height: 1.001\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 27.242,\n y: 14.865,\n transform: \"matrix(0.9093 -0.4161 0.4161 0.9093 -3.8519 13.0552)\",\n width: 1.569,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 24.131,\n y: 27.24,\n transform: \"matrix(0.9094 -0.4158 0.4158 0.9094 -9.4228 12.7801)\",\n width: 1.001,\n height: 1.569\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 14.866,\n y: 11.189,\n transform: \"matrix(0.9095 -0.4157 0.4157 0.9095 -3.5869 7.4712)\",\n width: 1,\n height: 1.569\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 27.524,\n y: 23.85,\n transform: \"matrix(0.4158 -0.9094 0.9094 0.4158 -6.0322 39.8772)\",\n width: 1.001,\n height: 1.569\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 11.473,\n y: 14.581,\n transform: \"matrix(0.4154 -0.9096 0.9096 0.4154 -6.9782 19.873)\",\n width: 0.999,\n height: 1.569\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.082,18.923l-4.477,0.383c-0.261-0.6-0.849-1.021-1.537-1.048l-1.509-6.926l-0.978,0.213l1.518,6.963 c-0.393,0.238-0.683,0.622-0.795,1.08l-1.083,0.093l0.085,0.996l1.052-0.09c0.221,0.615,0.773,1.066,1.443,1.143l0.207,0.951 l0.977-0.213l-0.199-0.913c0.483-0.246,0.837-0.704,0.933-1.255l4.448-0.38L26.082,18.923z M20,20.75 c-0.414,0-0.75-0.337-0.75-0.75s0.336-0.749,0.75-0.749s0.75,0.336,0.75,0.749S20.414,20.75,20,20.75z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.5,7.5v25h25v-25H7.5z M31.5,31.5h-23v-23h23V31.5z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40SistaMinuten);\nexport default __webpack_public_path__ + \"static/media/40x40_sista-minuten.09c0d0b2d5e531078a69df5f3744398b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Sok(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.394,31.993l-7.483-7.483c1.505-1.834,2.41-4.176,2.41-6.727c0-5.861-4.773-10.63-10.64-10.63 c-5.867,0-10.641,4.769-10.641,10.63s4.773,10.63,10.641,10.63c2.954,0,5.629-1.211,7.559-3.16l7.447,7.447L33.394,31.993z M17.68,27.413c-5.316,0-9.641-4.32-9.641-9.63c0-5.31,4.325-9.63,9.641-9.63s9.64,4.32,9.64,9.63 C27.32,23.093,22.996,27.413,17.68,27.413z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Sok);\nexport default __webpack_public_path__ + \"static/media/40x40_sok.5dbdf3ec198d6e8f58bda566fa2e96e3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40SomeFacebook(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,7.5h-0.9H29H14h-0.2H10c-1.4,0-2.5,1.1-2.5,2.5v20c0,1.4,1.1,2.5,2.5,2.5h3.8H14h6.8v-9.7h-3.3v-3.7h3.3v-2.9 c0-3.2,1.9-5,4.8-5c1.4,0,2.5,0.1,2.9,0.1v3.4l-1.9,0c-1.6,0-1.8,0.7-1.8,1.8v2.5h3.6l-0.5,3.7h-3.1v9.7H29h0.1H30 c1.4,0,2.5-1.1,2.5-2.5V10C32.5,8.6,31.4,7.5,30,7.5z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40SomeFacebook);\nexport default __webpack_public_path__ + \"static/media/40x40_some_facebook.db00a39918974aef4d4033973c6bdde7.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40SomeInstagram(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,7.5c-3.395,0-3.82,0.014-5.154,0.075c-1.33,0.061-2.239,0.272-3.034,0.581c-0.822,0.319-1.519,0.747-2.214,1.442 s-1.122,1.392-1.442,2.214c-0.309,0.795-0.52,1.704-0.581,3.034C7.514,16.179,7.5,16.605,7.5,20s0.014,3.82,0.075,5.153 c0.061,1.331,0.272,2.24,0.581,3.035c0.32,0.822,0.747,1.519,1.442,2.214s1.392,1.122,2.214,1.442 c0.795,0.308,1.704,0.52,3.034,0.581C16.18,32.485,16.605,32.5,20,32.5c3.395,0,3.82-0.015,5.154-0.075 c1.33-0.061,2.239-0.273,3.034-0.581c0.822-0.32,1.519-0.747,2.214-1.442c0.695-0.695,1.122-1.392,1.442-2.214 c0.309-0.795,0.52-1.704,0.581-3.035C32.486,23.82,32.5,23.395,32.5,20s-0.014-3.821-0.075-5.154 c-0.061-1.33-0.272-2.239-0.581-3.034c-0.32-0.822-0.747-1.519-1.442-2.214c-0.695-0.695-1.392-1.123-2.214-1.442 c-0.795-0.309-1.704-0.52-3.034-0.581C23.82,7.514,23.395,7.5,20,7.5 M20,9.752c3.338,0,3.733,0.013,5.051,0.073 c1.219,0.055,1.881,0.259,2.321,0.43c0.584,0.227,1,0.498,1.437,0.935c0.438,0.438,0.709,0.854,0.935,1.438 c0.172,0.44,0.375,1.102,0.431,2.321c0.06,1.318,0.073,1.713,0.073,5.051c0,3.337-0.013,3.733-0.073,5.051 c-0.056,1.219-0.259,1.88-0.431,2.321c-0.226,0.583-0.497,1-0.935,1.437c-0.437,0.438-0.853,0.708-1.437,0.935 c-0.44,0.171-1.102,0.375-2.321,0.431c-1.318,0.06-1.713,0.072-5.051,0.072c-3.338,0-3.733-0.012-5.051-0.072 c-1.219-0.056-1.881-0.26-2.321-0.431c-0.584-0.227-1-0.497-1.437-0.935c-0.438-0.437-0.709-0.854-0.935-1.437 c-0.172-0.441-0.375-1.102-0.431-2.321C9.765,23.733,9.752,23.337,9.752,20c0-3.338,0.013-3.733,0.073-5.051 c0.056-1.219,0.259-1.881,0.431-2.321c0.226-0.584,0.497-1,0.935-1.438c0.437-0.437,0.853-0.708,1.437-0.935 c0.44-0.171,1.102-0.375,2.321-0.43C16.267,9.765,16.662,9.752,20,9.752\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,24.167c-2.301,0-4.167-1.866-4.167-4.167c0-2.301,1.866-4.167,4.167-4.167c2.301,0,4.167,1.866,4.167,4.167 C24.167,22.301,22.301,24.167,20,24.167 M20,13.581c-3.545,0-6.419,2.874-6.419,6.419c0,3.545,2.874,6.419,6.419,6.419 c3.545,0,6.419-2.874,6.419-6.419C26.419,16.455,23.545,13.581,20,13.581\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.173,13.327c0,0.828-0.672,1.5-1.5,1.5c-0.828,0-1.5-0.672-1.5-1.5c0-0.828,0.672-1.5,1.5-1.5 C27.5,11.827,28.173,12.499,28.173,13.327\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40SomeInstagram);\nexport default __webpack_public_path__ + \"static/media/40x40_some_instagram.4be34f21936bda02b5382a4d25ac2553.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40SomeLinkedin(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,7.5H10c-1.4,0-2.5,1.1-2.5,2.5v20c0,1.4,1.1,2.5,2.5,2.5h20c1.4,0,2.5-1.1,2.5-2.5V10C32.5,8.6,31.4,7.5,30,7.5z M14.9,28.8h-3.7V16.9h3.7V28.8z M13.1,15.2c-1.2,0-2.2-1-2.2-2.2c0-1.2,1-2.1,2.2-2.1c1.2,0,2.2,1,2.2,2.1 C15.2,14.3,14.2,15.2,13.1,15.2z M28.8,28.8L28.8,28.8h-3.7V23c0-1.4,0-3.2-1.9-3.2c-1.9,0-2.2,1.5-2.2,3.1v5.9h-3.7V16.9h3.6v1.6 h0.1c0.5-0.9,1.7-1.9,3.5-1.9c3.8,0,4.4,2.5,4.4,5.7V28.8z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40SomeLinkedin);\nexport default __webpack_public_path__ + \"static/media/40x40_some_linkedin.3d63c2ed4c5a814d3a998c3fb1d7bd78.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40SomeTiktok(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.004,7.5H9.996C8.618,7.5,7.5,8.618,7.5,9.996v20.007c0,1.379,1.118,2.496,2.496,2.496h20.007 c1.379,0,2.496-1.118,2.496-2.496V9.996C32.5,8.618,31.382,7.5,30.004,7.5z M28.416,18.331c-1.071,0-2.112-0.209-3.093-0.623 c-0.631-0.267-1.219-0.61-1.757-1.024l0.016,6.991c-0.007,1.574-0.63,3.054-1.757,4.168c-0.918,0.907-2.08,1.484-3.34,1.67 c-0.296,0.044-0.597,0.066-0.902,0.066c-1.349,0-2.629-0.437-3.677-1.243c-0.197-0.152-0.386-0.316-0.565-0.493 c-1.222-1.208-1.852-2.844-1.746-4.566c0.081-1.31,0.606-2.56,1.48-3.54c1.157-1.296,2.776-2.016,4.507-2.016 c0.305,0,0.606,0.023,0.902,0.067v0.84v2.336c-0.281-0.092-0.58-0.143-0.893-0.143c-1.581,0-2.861,1.29-2.837,2.873 c0.015,1.013,0.568,1.898,1.384,2.386c0.383,0.229,0.824,0.371,1.295,0.397c0.369,0.02,0.723-0.031,1.051-0.14 c1.13-0.373,1.945-1.435,1.945-2.686l0.004-4.682v-8.548h3.128c0.003,0.31,0.035,0.612,0.093,0.906 c0.236,1.186,0.905,2.215,1.835,2.917c0.811,0.612,1.822,0.975,2.917,0.975c0.001,0,0.01,0,0.009-0.001v0.843h0V18.331z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40SomeTiktok);\nexport default __webpack_public_path__ + \"static/media/40x40_some_tiktok.39e1d394fd64e5bca7c772e320b7af76.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40SomeTwitter(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.944,7.5c-3.431,0-6.25,2.819-6.25,6.25c0,0.49,0,0.98,0.123,1.471c-5.27-0.245-9.804-2.819-12.99-6.618 c-0.49,0.98-0.858,1.961-0.858,3.186c0,2.206,1.103,4.044,2.819,5.27c-0.98,0-1.961-0.368-2.819-0.735c0,0,0,0,0,0.123 c0,3.064,2.206,5.637,5.025,6.127c-0.49,0.123-1.103,0.245-1.716,0.245c-0.368,0-0.858,0-1.225-0.123 c0.858,2.451,3.064,4.289,5.882,4.412c-2.206,1.716-4.902,2.696-7.843,2.696c-0.49,0-0.98,0-1.471-0.123 c2.819,1.838,6.127,2.819,9.681,2.819c11.52,0,17.892-9.559,17.892-17.892c0-0.245,0-0.49,0-0.858 c1.225-0.858,2.328-1.961,3.186-3.309c-1.103,0.49-2.328,0.858-3.554,0.98c1.348-0.735,2.328-1.961,2.819-3.431 c-1.225,0.735-2.574,1.225-4.044,1.471C29.375,8.235,27.782,7.5,25.944,7.5\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40SomeTwitter);\nexport default __webpack_public_path__ + \"static/media/40x40_some_twitter.3d4702a3c483254eac20b53f54568865.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40SomeYoutube(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.118,11.412c-0.412-1.529-1.618-2.735-3.147-3.147C31.176,7.5,20,7.5,20,7.5S8.824,7.5,6.029,8.235 c-1.5,0.412-2.735,1.647-3.147,3.176C2.147,14.206,2.147,20,2.147,20s0,5.824,0.735,8.588c0.412,1.529,1.618,2.735,3.147,3.147 C8.853,32.5,20,32.5,20,32.5s11.176,0,13.971-0.735c1.529-0.412,2.735-1.618,3.147-3.147c0.735-2.794,0.735-8.588,0.735-8.588 S37.882,14.206,37.118,11.412z M16.441,25.353V14.647L25.735,20L16.441,25.353z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40SomeYoutube);\nexport default __webpack_public_path__ + \"static/media/40x40_some_youtube.ea4879a9954bd0d37c6575583e321332.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Sprak(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33,20c0-7.018-5.623-12.738-12.609-12.947l0,0l-0.976,0.01l0,0C12.519,7.372,7,13.047,7,20 c0,6.953,5.519,12.629,12.415,12.937l0,0l0.976,0.01l0,0C27.377,32.738,33,27.019,33,20z M8.001,20.583h5.236 c0.046,2.046,0.328,3.948,0.798,5.625h-4.3C8.72,24.552,8.101,22.636,8.001,20.583z M13.231,19.583H7.994 c0.074-2.115,0.699-4.09,1.74-5.79h4.301C13.552,15.516,13.265,17.474,13.231,19.583z M15.071,13.793h4.343v5.79h-5.212 C14.24,17.482,14.554,15.504,15.071,13.793z M14.207,20.583h5.208v5.625h-4.343C14.568,24.542,14.258,22.622,14.207,20.583z M32.006,19.583h-5.238c-0.034-2.109-0.321-4.067-0.803-5.79h4.301C31.307,15.493,31.932,17.468,32.006,19.583z M25.796,19.583 h-5.405v-5.79h4.537C25.445,15.504,25.759,17.482,25.796,19.583z M20.391,20.583h5.401c-0.051,2.039-0.361,3.959-0.865,5.625 h-4.536V20.583z M26.762,20.583h5.237c-0.1,2.053-0.719,3.969-1.734,5.625h-4.301C26.434,24.531,26.716,22.629,26.762,20.583z M29.587,12.793h-3.928c-0.633-1.837-1.498-3.345-2.533-4.35C25.738,9.143,27.996,10.703,29.587,12.793z M24.591,12.793h-4.2V8.076 C22.081,8.321,23.595,10.131,24.591,12.793z M19.415,8.097v4.696h-4.007C16.366,10.232,17.802,8.447,19.415,8.097z M16.874,8.444 c-1.034,1.005-1.899,2.513-2.533,4.35h-3.927C12.004,10.703,14.262,9.144,16.874,8.444z M10.415,27.208h3.927 c0.634,1.836,1.498,3.344,2.533,4.349C14.263,30.856,12.005,29.297,10.415,27.208z M15.409,27.208h4.006v4.695 C17.802,31.553,16.366,29.768,15.409,27.208z M20.391,31.924v-4.717h4.2C23.595,29.87,22.08,31.679,20.391,31.924z M23.125,31.556 c1.035-1.004,1.9-2.512,2.533-4.349h3.928C27.996,29.297,25.737,30.856,23.125,31.556z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Sprak);\nexport default __webpack_public_path__ + \"static/media/40x40_sprak.cbd6bcb132388806e8c4d4af4e72fb74.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _rect, _rect2, _rect3, _rect4, _rect5, _rect6, _rect7, _rect8, _rect9;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Telefon(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.408,34.5H7.593V23.17l7.283-5.337h10.252l7.28,5.338C32.407,23.171,32.407,34.5,32.408,34.5z M8.593,33.5h22.815 v-9.822L24.8,18.833h-9.597l-6.61,4.845L8.593,33.5z M34.239,14.89h-8.89v-3.041l-10.659-0.005v3.046h-8.93v-4.103l5.817-4.765 h16.826l5.836,4.177V14.89z M26.351,13.89h6.89v-3.177l-5.156-3.691H11.936l-5.174,4.239v2.629h6.93v-3.046l12.659,0.005V13.89z\"\n }))), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 15.396,\n y: 21.403,\n width: 1.841,\n height: 1.841\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.08,\n y: 21.404,\n width: 1.841,\n height: 1.841\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 22.763,\n y: 21.404,\n width: 1.841,\n height: 1.841\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 15.396,\n y: 25.086,\n width: 1.841,\n height: 1.841\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.08,\n y: 25.086,\n width: 1.841,\n height: 1.841\n })), _rect6 || (_rect6 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 22.763,\n y: 25.086,\n width: 1.841,\n height: 1.841\n })), _rect7 || (_rect7 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 15.396,\n y: 28.769,\n width: 1.841,\n height: 1.841\n })), _rect8 || (_rect8 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.08,\n y: 28.769,\n width: 1.841,\n height: 1.841\n })), _rect9 || (_rect9 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 22.763,\n y: 28.769,\n width: 1.841,\n height: 1.841\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Telefon);\nexport default __webpack_public_path__ + \"static/media/40x40_telefon.a4d70667304586b52853149100fff889.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Uppdatera(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.681,9.335l-0.675,7.257L11.011,16.5l0.457-4.911c-3.522,3.579-4.563,9.138-2.163,13.853 c2.906,5.708,9.778,8.082,15.564,5.506l0.454,0.891c-6.278,2.824-13.753,0.255-16.909-5.944c-2.59-5.088-1.489-11.09,2.292-14.967 l-4.578,1.285l-0.27-0.963L12.681,9.335z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.678,8.161c6.278-2.824,13.753-0.255,16.909,5.944c2.59,5.088,1.489,11.09-2.292,14.967l4.578-1.285l0.27,0.963 l-6.824,1.915l0.675-7.257l0.996,0.092l-0.457,4.911c3.522-3.579,4.563-9.138,2.163-13.853c-2.906-5.708-9.778-8.082-15.564-5.506 L14.678,8.161z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Uppdatera);\nexport default __webpack_public_path__ + \"static/media/40x40_uppdatera.ef3c78212dccb4c6e7b7d3eeffbcb61d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40VarvaEnKompis(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 11.426,\n y: 6.112,\n transform: \"matrix(0.6 -0.8 0.8 0.6 -2.1399 12.996)\",\n width: 1,\n height: 5.052\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16.984,\n y: 5.051,\n transform: \"matrix(0.9806 -0.1962 0.1962 0.9806 -1.1564 3.5776)\",\n width: 1,\n height: 5.153\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 20.01,\n y: 6.622,\n transform: \"matrix(0.5994 -0.8005 0.8005 0.5994 3.3277 20.8928)\",\n width: 5.053,\n height: 1\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.706,22.015c-0.473-0.734-1.568-1.779-3.624-0.52c-0.289,0.174-0.725,0.443-1.347,0.845 c-0.171,0.109-0.283,0.157-0.35,0.179c-0.021-0.125-0.011-0.348,0.025-0.523l1.774-8.198c0.24-1.106-0.465-2.201-1.572-2.441 c-0.399-0.088-0.797-0.05-1.155,0.084c-0.023-0.925-0.676-1.752-1.619-1.957c-1.11-0.24-2.201,0.467-2.44,1.573l-0.086,0.397 c-0.27-0.249-0.602-0.422-0.97-0.501c-1.103-0.234-2.198,0.451-2.434,1.541l-0.073,0.336l-0.001,0l-0.153,0.706 c-0.268-0.251-0.6-0.427-0.968-0.506c-1.104-0.237-2.202,0.465-2.441,1.572l-0.214,0.99c-0.545-0.609-1.425-0.86-2.238-0.561 c-0.354,0.13-0.658,0.35-0.888,0.636l-0.017-0.045l-0.233-0.632h0l-0.119-0.322c-0.188-0.509-0.565-0.912-1.063-1.135 c-0.494-0.223-1.049-0.241-1.562-0.051c-0.361,0.133-0.664,0.356-0.89,0.634l-0.141-0.383c-0.39-1.062-1.576-1.607-2.637-1.217 c-0.515,0.19-0.925,0.569-1.154,1.066c-0.161,0.348-0.22,0.726-0.176,1.097c-0.373-0.083-0.772-0.064-1.155,0.077 c-1.062,0.392-1.608,1.575-1.217,2.637l2.9,7.87c0.062,0.169,0.102,0.389,0.099,0.516c-0.069-0.012-0.187-0.044-0.371-0.129 c-0.671-0.31-1.141-0.516-1.493-0.666c-2.172-0.943-3.11,0.245-3.476,1.038c-0.394,0.853,0.287,2.972,9.235,7.562 c0.905,0.54,2.154,0.817,3.444,0.817c0.988,0,2-0.162,2.901-0.495c1.183-0.436,2.164-1.176,2.901-2.094 c0.218,0.072,0.44,0.137,0.668,0.186c0.544,0.118,1.115,0.174,1.691,0.174c1.716,0,3.455-0.5,4.521-1.359 C36.838,24.997,37.215,22.804,36.706,22.015z M18.464,32.966c-1.791,0.66-4.15,0.556-5.515-0.26 c-5.417-2.779-9.12-5.603-8.812-6.269c0.247-0.535,0.601-0.8,1.116-0.8c0.307,0,0.67,0.094,1.102,0.281 c0.305,0.13,0.766,0.332,1.424,0.636c0.657,0.303,1.157,0.304,1.488-0.005c0.516-0.476,0.239-1.371,0.143-1.635l-2.9-7.871 c-0.201-0.545,0.08-1.152,0.625-1.353c0.545-0.199,1.152,0.08,1.353,0.624l3.008,8.163l0.938-0.346l-3.008-8.163 c0,0,0-0.001,0-0.001l-0.429-1.165c-0.201-0.545,0.079-1.151,0.624-1.353s1.151,0.08,1.353,0.625l0.215,0.583l0.526,1.427v0h0 l2.697,7.318l0.938-0.346l-2.697-7.32l0,0c-0.193-0.528,0.092-1.121,0.636-1.321c0.266-0.099,0.551-0.089,0.807,0.025 c0.251,0.113,0.44,0.314,0.534,0.569l0.314,0.851l2.383,6.467l0.938-0.346l-1.718-4.664l0,0c-0.098-0.264-0.086-0.55,0.032-0.805 c0.118-0.256,0.328-0.45,0.592-0.547c0.544-0.2,1.152,0.08,1.353,0.625l2.838,7.703l-0.005,0.002l0.324,0.852 c0.034,0.096,0.067,0.188,0.097,0.27l0.076,0.211c0.527,1.432,0.466,2.983-0.174,4.369S19.896,32.438,18.464,32.966z M27.989,30.012c-1.214,0.978-3.537,1.409-5.4,1.007c-0.096-0.021-0.188-0.05-0.28-0.079c0.952-1.664,1.192-3.721,0.478-5.656 l-0.072-0.201c-0.069-0.196-0.158-0.444-0.252-0.68l-2.701-7.331l0.489-2.259c0.124-0.568,0.684-0.929,1.253-0.807 c0.274,0.06,0.51,0.222,0.662,0.459c0.152,0.236,0.203,0.517,0.145,0.791l-1.052,4.86l0.977,0.212l1.051-4.858l0,0l0.599-2.765 c0.12-0.551,0.68-0.895,1.246-0.775c0.276,0.06,0.514,0.221,0.667,0.454c0.151,0.229,0.203,0.502,0.146,0.766l0.001,0l-1.65,7.623 l0.977,0.211l1.972-9.109l0,0l0.131-0.607c0.124-0.567,0.68-0.927,1.253-0.807c0.567,0.123,0.93,0.685,0.808,1.252l-0.264,1.211 c0,0.001,0,0.002,0,0.003l0,0l-1.84,8.503l0.977,0.211l1.842-8.509c0.126-0.563,0.681-0.922,1.252-0.799 c0.567,0.123,0.929,0.685,0.807,1.252l-1.774,8.199c-0.06,0.273-0.209,1.199,0.368,1.599c0.37,0.257,0.866,0.189,1.474-0.202 c0.61-0.393,1.038-0.658,1.366-0.856c1.029-0.628,1.714-0.558,2.224,0.231C36.264,23.173,32.99,26.485,27.989,30.012z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.531,25.381l0.894,0.449c0.046-0.091,1.159-2.212,3.903-2.212v-1C25.951,22.619,24.588,25.269,24.531,25.381z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40VarvaEnKompis);\nexport default __webpack_public_path__ + \"static/media/40x40_varva-en-kompis.2732d465466d1af2ef6b3032de2ab4c2.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40Vinkning(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.135,29.013c-2.844,3.543-5.997,3.883-9.923,1.071c-0.238-0.178-6.647-5.332-9.097-7.304h-0.001 c-0.29-0.232-0.471-0.563-0.511-0.932c-0.041-0.369,0.065-0.731,0.297-1.02c0.274-0.342,0.678-0.52,1.085-0.52 c0.304,0,0.609,0.099,0.864,0.302l4.709,3.78l0.622-0.775l-4.706-3.777h0.001L9.798,17.69c-0.279-0.224-0.453-0.547-0.488-0.909 c-0.037-0.366,0.072-0.728,0.305-1.018c0.234-0.291,0.563-0.475,0.928-0.519c0.362-0.045,0.711,0.056,0.99,0.278l0.004,0.003 l7.382,5.925l0.623-0.774l-8.822-7.082l-0.588-0.472c-0.29-0.232-0.471-0.563-0.511-0.932c-0.041-0.368,0.065-0.731,0.297-1.02 c0.477-0.596,1.354-0.694,1.952-0.213l1.176,0.944l8.233,6.609l0.623-0.775l-8.238-6.613c-0.287-0.232-0.467-0.561-0.507-0.928 c-0.041-0.369,0.065-0.731,0.298-1.02c0.477-0.597,1.355-0.695,1.952-0.213l7.94,6.373c0.251,0.202,1.132,0.831,1.814,0.455 c0.659-0.361,0.557-1.295,0.523-1.601c-0.096-0.877-0.152-1.486-0.189-1.95c-0.131-1.512,0.363-2.277,1.555-2.408 c0.011-0.001,0.021-0.002,0.032-0.002c1.077,0,2.855,5.748,3.911,12.684C31.402,24.39,30.603,27.185,29.135,29.013 M31.97,22.332 c-0.631-4.151-2.361-13.806-5.029-13.49c-1.013,0.111-2.676,0.711-2.431,3.537c0.032,0.407,0.087,1.026,0.185,1.917 c0.05,0.448-0.015,0.602-0.005,0.617c-0.093,0.015-0.474-0.157-0.721-0.354l-7.94-6.373c-1.024-0.822-2.527-0.657-3.349,0.367 c-0.325,0.405-0.506,0.894-0.523,1.404c-0.995-0.552-2.277-0.324-3.013,0.593c-0.398,0.496-0.58,1.118-0.51,1.751 c0.069,0.632,0.381,1.201,0.877,1.598l0.542,0.436c-0.474,0.136-0.895,0.414-1.212,0.809c-0.397,0.494-0.581,1.112-0.52,1.738 c0.062,0.63,0.366,1.194,0.856,1.586l0.325,0.261l-0.001,0.001l0.684,0.549l0.16,0.129c-0.465,0.128-0.894,0.399-1.219,0.803 c-0.398,0.496-0.58,1.118-0.51,1.75c0.069,0.632,0.38,1.2,0.876,1.598c0.913,0.735,8.926,7.182,9.138,7.334 c1.939,1.389,3.74,2.084,5.424,2.084c2.128,0,4.068-1.111,5.855-3.337C31.575,27.563,32.438,24.479,31.97,22.332\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.068,4.274l0.328,0.938c0.145-0.05,3.58-1.183,6.391,2.337l0.776-0.621C16.302,2.843,12.109,4.26,12.068,4.274\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.561,6.241l0.776-0.62c-5.151-6.454-11.741-4.228-11.808-4.205l0.329,0.938C11.1,2.269,16.86,0.355,21.561,6.241\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.892,20.868l-0.994,0.016c0.084,5.227,4.268,6.669,4.31,6.683l0.313-0.944C9.375,26.575,5.964,25.371,5.892,20.868\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.898,20.206l-0.994,0.016c0.132,8.257,6.708,10.524,6.774,10.546l0.313-0.944C8.747,29.743,3.018,27.738,2.898,20.206\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.571,17.565l-0.889-0.445c-1.801,3.608,0.297,6.472,0.387,6.591l0.795-0.595C24.789,23.016,23.051,20.609,24.571,17.565 \"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40Vinkning);\nexport default __webpack_public_path__ + \"static/media/40x40_vinkning.d7df87289c15eccc9450457d36e6388a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg100X100PaketBanner(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 100 100\",\n style: {\n enableBackground: \"new 0 0 100 100\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.111,11.111v77.778h77.778V44.751v-2v-31.64H11.111z M49,13.111V39.72c-0.657-1.458-1.63-3.479-3.059-6.178 c-2.768-5.228-5.504-8.079-8.133-8.473c-1.367-0.204-2.668,0.265-3.804,1.404c-1.417,1.606-1.903,3.357-1.446,5.205 c1.204,4.864,9.085,9.075,13.463,11.074h-32.91v-29.64H49z M47.476,41.218C42.902,39.19,35.478,35.152,34.5,31.196 c-0.294-1.188,0.035-2.301,0.962-3.355c0.548-0.549,1.116-0.819,1.726-0.819c0.106,0,0.214,0.008,0.324,0.025 c1.107,0.166,3.444,1.353,6.662,7.431C45.82,37.586,46.852,39.786,47.476,41.218z M13.111,44.751h34.383l-7.133,10.927l1.675,1.094 L49,46.103v40.786H13.111V44.751z M86.889,86.889H51V46.102l6.965,10.669l1.674-1.093l-7.133-10.928h34.383V86.889z M53.98,42.751 c4.378-1.999,12.259-6.21,13.462-11.074c0.457-1.847-0.029-3.598-1.489-5.25c-1.093-1.094-2.393-1.564-3.761-1.359 c-2.629,0.395-5.365,3.245-8.133,8.473c-1.43,2.7-2.403,4.722-3.06,6.18v-26.61h35.889v29.64H53.98z M52.526,41.218 c0.623-1.432,1.655-3.632,3.302-6.741c3.218-6.079,5.556-7.265,6.662-7.431c0.11-0.017,0.219-0.025,0.326-0.025 c0.608,0,1.169,0.264,1.681,0.774c0.97,1.1,1.299,2.212,1.005,3.4C64.523,35.152,57.1,39.19,52.526,41.218z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg100X100PaketBanner);\nexport default __webpack_public_path__ + \"static/media/100x100_paket_banner.1c6f7f7f5dc33f149e9c63e2ee15a9fe.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg100X100SistaMinutenBanner(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 100 100\",\n style: {\n enableBackground: \"new 0 0 100 100\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 49,\n y: 16.417,\n width: 2,\n height: 5.292\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 49,\n y: 78.271,\n width: 2,\n height: 5.292\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16.428,\n y: 49,\n width: 5.291,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 78.281,\n y: 49,\n width: 5.292,\n height: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.111,11.111v77.777h77.777V11.111H11.111z M86.889,86.889H13.111V13.111h73.777V86.889z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.379,49.13l-3.387,0.151l0.089,1.998l3.378-0.151c0.472,1.473,1.821,2.55,3.439,2.594l0.744,3.236l1.949-0.447 l-0.754-3.281c0.906-0.517,1.58-1.39,1.808-2.438l15.621-0.685l-0.088-1.998l-15.661,0.686c-0.478-1.392-1.747-2.405-3.275-2.506 l-5.371-23.373l-1.949,0.448l5.363,23.337C47.341,47.196,46.634,48.071,46.379,49.13z M51.734,50c0,0.956-0.778,1.733-1.734,1.733 S48.267,50.956,48.267,50c0-0.956,0.778-1.734,1.734-1.734S51.734,49.044,51.734,50z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 31.892,\n y: 75.783,\n transform: \"matrix(0.4999 -0.8661 0.8661 0.4999 -49.2284 68.3094)\",\n width: 5.291,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 62.818,\n y: 22.216,\n transform: \"matrix(0.4999 -0.8661 0.8661 0.4999 12.6302 68.3064)\",\n width: 5.291,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 20.571,\n y: 64.463,\n transform: \"matrix(0.8661 -0.4999 0.4999 0.8661 -29.617 20.3739)\",\n width: 5.291,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 74.139,\n y: 33.536,\n transform: \"matrix(0.8661 -0.4999 0.4999 0.8661 -6.9817 43.0113)\",\n width: 5.291,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 64.463,\n y: 74.138,\n transform: \"matrix(0.866 -0.5 0.5 0.866 -29.6216 43.0198)\",\n width: 2,\n height: 5.291\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 33.536,\n y: 20.571,\n transform: \"matrix(0.866 -0.5 0.5 0.866 -6.9812 20.3792)\",\n width: 2,\n height: 5.291\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 75.784,\n y: 62.818,\n transform: \"matrix(0.4999 -0.8661 0.8661 0.4999 -18.2984 99.236)\",\n width: 2,\n height: 5.292\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 22.216,\n y: 31.89,\n transform: \"matrix(0.5 -0.866 0.866 0.5 -18.3008 37.3756)\",\n width: 2,\n height: 5.291\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg100X100SistaMinutenBanner);\nexport default __webpack_public_path__ + \"static/media/100x100_sista-minuten_banner.7ee8a616e4bb09cab83dbd256df5457f.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg100X100UppdateraBanner(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 100 100\",\n style: {\n enableBackground: \"new 0 0 100 100\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{stroke:#FF0000;stroke-width:2;}\\r\\n\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M91.3,64\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M91.3,47\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.711,88.001l-1.028-1.773c-9.131,4.465-19.541,5.312-29.324,2.386c-9.862-2.95-18.135-9.468-23.298-18.35 c-4.466-7.68-6.235-16.398-5.118-25.214c1.08-8.518,4.916-16.627,10.802-22.835l0.164-0.173l-0.665,17.947l2.047,0.078l0.86-23.124 L1.884,24.204l0.664,1.936l16.888-5.762l0.329-0.089l-0.235,0.237c-6.295,6.514-10.412,15.07-11.593,24.09 C6.717,53.942,8.569,63.169,13.293,71.3C24.457,90.513,48.784,97.834,68.711,88.001z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.646,55.808\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.648,29.747\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.297,20.37\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.419,44.274\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.289,11.999l1.028,1.773c9.131-4.465,19.541-5.312,29.324-2.386c9.862,2.95,18.135,9.468,23.298,18.35 c4.466,7.68,6.235,16.398,5.118,25.214c-1.08,8.518-4.916,16.627-10.802,22.835l-0.164,0.173l0.665-17.947l-2.047-0.078 l-0.86,23.124l21.269-7.262l-0.664-1.936l-16.888,5.762l-0.329,0.089l0.235-0.237c6.295-6.514,10.412-15.07,11.593-24.09 c1.221-9.326-0.631-18.553-5.355-26.684C75.543,9.487,51.216,2.166,31.289,11.999z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg100X100UppdateraBanner);\nexport default __webpack_public_path__ + \"static/media/100x100_uppdatera_banner.3b25bfb3e213d9f09d6140a27d0bf668.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg150X150Akut(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"akut\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 150 150\",\n style: {\n enableBackground: \"new 0 0 150 150\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"122,64 122,122 28,122 28,28 75,28 75,26 26,26 26,124 124,124 124,64 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.8,100.3l-1.7-1l17.4-41.7H65.7l47.4-54l1.7,1L97.4,46.3h24.8L74.8,100.3z M70.2,55.6h23.4L77.4,94.4l40.5-46.1H94.5 l16.2-38.8L70.2,55.6z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg150X150Akut);\nexport default __webpack_public_path__ + \"static/media/150x150_akut.101994cc43611841c08dd36a93e4f66b.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg150X150Kalender31(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"kalender-31\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 150 150\",\n style: {\n enableBackground: \"new 0 0 150 150\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65,79.4c5-1.1,7.8-5.3,7.8-9.7c0-5.4-4.4-10.2-11-10.2c-3.8,0-7,1.5-9.1,3.7v2.9c1.9-2.5,5.3-4.4,9.1-4.4 c5.4,0,8.7,3.7,8.7,8.2c0,4.7-3.5,8.6-10.2,8.6h-3.8v2.2h4.6c6.9,0,10.9,3.7,10.9,8.9c0,5-3.6,8.9-9.9,8.9c-4.5,0-8.3-2-10.6-5.1 v2.9c2.6,2.8,6.1,4.4,10.6,4.4c7.9,0,12.2-5.2,12.2-11C74.3,84.1,70.6,80.2,65,79.4z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"80.2,65.6 80.2,68.1 90.9,63.2 90.9,100.2 93.2,100.2 93.2,60 92.7,60 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.2,26V9.9h-2V26H50.6V9.9h-2V26H26v98h98V26H101.2z M122,122H28V28h20.6v16.2h2V28h48.6v16.2h2V28H122V122z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg150X150Kalender31);\nexport default __webpack_public_path__ + \"static/media/150x150_kalender-31.8e83ffa243e0b0eb8abe659394429946.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg150X150Klinik(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"klinik\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 150 150\",\n style: {\n enableBackground: \"new 0 0 150 150\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.67,93.004h-24v-24h24V93.004z M79.67,91.004h20v-20h-20V91.004z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"122,69.005 122,122 28,122 28,69.005 26,69.005 26,124 124,124 124,69.005 \"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"142.442,63.823 75,5.052 7.557,63.823 6.243,62.315 75,2.399 143.757,62.315 \"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg150X150Klinik);\nexport default __webpack_public_path__ + \"static/media/150x150_klinik.7ba4bd46404fc857b39f389fed5199e8.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg150X150Paket(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"paket\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 150 150\",\n style: {\n enableBackground: \"new 0 0 150 150\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M76,62.617c0.86-1.907,2.137-4.558,4.018-8.105c3.59-6.771,7.11-10.459,10.462-10.963 c1.694-0.253,3.313,0.332,4.679,1.695c1.832,2.073,2.448,4.277,1.875,6.597c-1.532,6.192-11.567,11.602-17.319,14.242H122V28H76 V62.617z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M70.286,66.083c-5.752-2.64-15.786-8.05-17.318-14.242c-0.574-2.32,0.042-4.523,1.833-6.551 c1.407-1.409,3.022-1.995,4.721-1.741c3.352,0.503,6.872,4.192,10.461,10.963c1.881,3.547,3.158,6.197,4.018,8.104V28H28v38.083 H70.286z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M95.092,51.359c0.412-1.667-0.043-3.219-1.391-4.746c-0.746-0.744-1.558-1.123-2.441-1.123 c-0.159,0-0.32,0.012-0.483,0.037c-2.614,0.393-5.808,3.917-8.991,9.922c-1.971,3.716-3.266,6.434-4.106,8.319l0.051,0.034 l-0.196,0.292c-0.15,0.342-0.29,0.663-0.408,0.944C81.992,62.936,93.611,57.346,95.092,51.359z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M68.215,55.449c-3.184-6.005-6.377-9.529-8.991-9.922c-0.162-0.024-0.322-0.037-0.48-0.037 c-0.886,0-1.704,0.385-2.487,1.169c-1.305,1.481-1.76,3.034-1.348,4.701c1.48,5.986,13.099,11.576,17.965,13.678 c-0.119-0.282-0.258-0.604-0.409-0.946l-0.195-0.291l0.051-0.034C71.482,61.882,70.186,59.165,68.215,55.449z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"77.554,68.083 87.204,82.455 85.544,83.57 76,69.357 76,122 122,122 122,68.083 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"74,69.357 64.457,83.57 62.796,82.455 72.447,68.083 28,68.083 28,122 74,122 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,26v98h98V26H26z M122,66.083H79.714c5.752-2.64,15.787-8.05,17.319-14.242c0.573-2.32-0.043-4.523-1.875-6.597 c-1.365-1.363-2.984-1.948-4.679-1.695c-3.352,0.504-6.872,4.192-10.462,10.963c-1.88,3.547-3.157,6.198-4.017,8.105V28h46V66.083z M77.534,64.094l0.196-0.292l-0.051-0.034c0.84-1.885,2.135-4.602,4.106-8.319c3.184-6.005,6.377-9.529,8.991-9.922 c0.163-0.024,0.324-0.037,0.483-0.037c0.884,0,1.695,0.379,2.441,1.123c1.348,1.527,1.803,3.079,1.391,4.746 c-1.48,5.986-13.1,11.576-17.966,13.679C77.245,64.757,77.384,64.435,77.534,64.094z M72.465,64.092 c0.15,0.342,0.29,0.664,0.409,0.946c-4.866-2.103-16.485-7.692-17.965-13.678c-0.413-1.667,0.042-3.22,1.348-4.701 c0.784-0.784,1.602-1.169,2.487-1.169c0.158,0,0.318,0.012,0.48,0.037c2.614,0.393,5.807,3.917,8.991,9.922 c1.97,3.716,3.266,6.434,4.106,8.319l-0.051,0.034L72.465,64.092z M74,28v34.616c-0.86-1.907-2.137-4.558-4.018-8.104 c-3.589-6.771-7.109-10.46-10.461-10.963c-1.698-0.253-3.313,0.332-4.721,1.741c-1.79,2.027-2.406,4.231-1.833,6.551 c1.532,6.192,11.566,11.602,17.318,14.242H28V28H74z M28,68.083h44.447l-9.65,14.372l1.66,1.115L74,69.357V122H28V68.083z M76,122 V69.357l9.544,14.214l1.66-1.115l-9.65-14.372H122V122H76z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg150X150Paket);\nexport default __webpack_public_path__ + \"static/media/150x150_paket.e0a12c098be718149973f2290721a5f1.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg150X150Penna(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"penna\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 150 150\",\n style: {\n enableBackground: \"new 0 0 150 150\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"122,64 122,122 28,122 28,28 87,28 87,26 26,26 26,124 124,124 124,64 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.4,91.4l10.5-27L129,3.3l16.6,16.6L84.5,81L57.4,91.4z M69.6,65.5l-8.7,22.4l22.4-8.7l59.4-59.4L129,6.1L69.6,65.5z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg150X150Penna);\nexport default __webpack_public_path__ + \"static/media/150x150_penna.f4b694388b8c348c1990861dd46fd4be.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg150X150Pratbubbla(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"pratbubbla\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 150 150\",\n style: {\n enableBackground: \"new 0 0 150 150\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.398,144.277v-20.296H26.009V26h97.981v97.981h-56.2L46.398,144.277z M28.009,121.981h20.389v17.642l18.594-17.642 h54.998V28H28.009V121.981z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.572,83.734c-4.592,0-8.329-3.736-8.329-8.329s3.736-8.328,8.329-8.328s8.329,3.736,8.329,8.328 S55.165,83.734,50.572,83.734z M50.572,69.078c-3.49,0-6.329,2.839-6.329,6.328c0,3.548,2.78,6.329,6.329,6.329 s6.329-2.78,6.329-6.329C56.901,71.917,54.062,69.078,50.572,69.078z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75,83.734c-4.592,0-8.329-3.736-8.329-8.329s3.736-8.328,8.329-8.328s8.329,3.736,8.329,8.328S79.592,83.734,75,83.734z M75,69.078c-3.49,0-6.329,2.839-6.329,6.328c0,3.548,2.78,6.329,6.329,6.329c3.548,0,6.329-2.78,6.329-6.329 S78.548,69.078,75,69.078z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.428,83.734c-4.593,0-8.329-3.736-8.329-8.329s3.736-8.328,8.329-8.328c4.592,0,8.328,3.736,8.328,8.328 S104.02,83.734,99.428,83.734z M99.428,69.078c-3.49,0-6.329,2.839-6.329,6.328c0,3.49,2.839,6.329,6.329,6.329 c3.549,0,6.328-2.78,6.328-6.329S102.977,69.078,99.428,69.078z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg150X150Pratbubbla);\nexport default __webpack_public_path__ + \"static/media/150x150_pratbubbla.cddd42c8224013ce346afc8e8614165d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg150X150SistaMinuten(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"sista-minuten\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 150 150\",\n style: {\n enableBackground: \"new 0 0 150 150\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 74,\n y: 32.46,\n width: 2,\n height: 6.703\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 74,\n y: 110.812,\n width: 2,\n height: 6.702\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 32.473,\n y: 74,\n width: 6.703,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 110.825,\n y: 74,\n width: 6.702,\n height: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.388,75.747l20.006-0.877l-0.088-1.998L79.264,73.75c-0.536-1.822-2.189-3.164-4.173-3.204l-6.847-29.792l-1.949,0.448 l6.839,29.757c-1.281,0.595-2.236,1.772-2.511,3.196l-4.488,0.201l0.09,1.998l4.483-0.2c0.512,1.9,2.233,3.309,4.292,3.309 c0.029,0,0.056-0.008,0.085-0.009l0.989,4.301l1.949-0.447l-1.001-4.351C78.251,78.325,79.149,77.154,79.388,75.747z M75,77.463 c-1.358,0-2.463-1.104-2.463-2.463c0-1.358,1.105-2.463,2.463-2.463s2.463,1.105,2.463,2.463 C77.464,76.358,76.358,77.463,75,77.463z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 52.065,\n y: 107.924,\n transform: \"matrix(0.4999 -0.8661 0.8661 0.4999 -66.6235 102.4686)\",\n width: 6.702,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 91.237,\n y: 40.068,\n transform: \"matrix(0.4999 -0.8661 0.8661 0.4999 11.7353 102.4601)\",\n width: 6.702,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 37.722,\n y: 93.593,\n transform: \"matrix(0.8661 -0.4999 0.4999 0.8661 -41.7861 33.1996)\",\n width: 6.702,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 105.581,\n y: 54.416,\n transform: \"matrix(0.8661 -0.4999 0.4999 0.8661 -13.1146 61.8752)\",\n width: 6.702,\n height: 2\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 93.595,\n y: 105.579,\n transform: \"matrix(0.866 -0.5001 0.5001 0.866 -41.7964 61.9048)\",\n width: 2,\n height: 6.702\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 54.416,\n y: 37.719,\n transform: \"matrix(0.866 -0.5001 0.5001 0.866 -13.1116 33.2171)\",\n width: 2,\n height: 6.702\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 107.921,\n y: 91.237,\n transform: \"matrix(0.5 -0.866 0.866 0.5 -27.4563 141.6205)\",\n width: 2,\n height: 6.703\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 40.071,\n y: 52.062,\n transform: \"matrix(0.5 -0.866 0.866 0.5 -27.4535 63.2737)\",\n width: 2,\n height: 6.702\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,124h98V26H26V124z M28,28h94v94H28V28z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg150X150SistaMinuten);\nexport default __webpack_public_path__ + \"static/media/150x150_sista-minuten.78fd331abd7cbf992d00bdaa56c2b552.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg150X150Telefon(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"telefon\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 150 150\",\n style: {\n enableBackground: \"new 0 0 150 150\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M55.306,77.321\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.643,124H28.357V81.952l27.299-20.009h38.693l27.294,20.009V124z M30.357,122h89.286V82.965L93.695,63.943H56.31 L30.357,82.965V122z M128.665,51.891H96.419V40.233l-42.688-0.02v11.678H21.335V37.513l21.708-17.784h63.877l21.744,15.567V51.891 z M98.419,49.891h28.245V36.325l-20.387-14.596h-62.52L23.335,38.46v11.431h28.396V38.212l46.688,0.022V49.891z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.054,82.516h-8.558v-8.558h8.558V82.516z M59.497,80.516h4.558v-4.558h-4.558V80.516z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.161,82.516h-8.558v-8.558h8.558V82.516z M73.603,80.516h4.558v-4.558h-4.558V80.516z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.267,82.516h-8.558v-8.558h8.558V82.516z M87.709,80.516h4.558v-4.558h-4.558V80.516z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.054,96.624h-8.558v-8.558h8.558V96.624z M59.497,94.624h4.558v-4.558h-4.558V94.624z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.161,96.624h-8.558v-8.558h8.558V96.624z M73.603,94.624h4.558v-4.558h-4.558V94.624z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.267,96.624h-8.558v-8.558h8.558V96.624z M87.709,94.624h4.558v-4.558h-4.558V94.624z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.054,110.73h-8.558v-8.558h8.558V110.73z M59.497,108.73h4.558v-4.558h-4.558V108.73z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.161,110.73h-8.558v-8.558h8.558V110.73z M73.603,108.73h4.558v-4.558h-4.558V108.73z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.267,110.73h-8.558v-8.558h8.558V110.73z M87.709,108.73h4.558v-4.558h-4.558V108.73z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg150X150Telefon);\nexport default __webpack_public_path__ + \"static/media/150x150_telefon.955a392a364cf96e49151143966c863e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgBokaFylld(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 62 35\",\n style: {\n enableBackground: \"new 0 0 62 35\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.888,18.47h-1.107v2.143h1.121c0.854,0,1.373-0.406,1.373-1.079S17.77,18.47,16.888,18.47z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.078,16.173c0-0.616-0.462-0.995-1.261-0.995h-1.037v2.045h1.037C17.588,17.237,18.078,16.817,18.078,16.173z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.254,15.29c-1.247,0-2.381,1.009-2.381,2.619c0,1.611,1.149,2.605,2.381,2.605c1.247,0,2.395-0.995,2.395-2.605 C28.65,16.299,27.501,15.29,26.254,15.29z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"45.602,15.346 44.579,18.624 46.652,18.624 45.644,15.346 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.04,6.25H11.961C5.569,6.25,0.368,11.521,0.368,18c0,6.479,5.201,11.75,11.593,11.75H50.04 c6.392,0,11.592-5.271,11.592-11.75C61.632,11.521,56.432,6.25,50.04,6.25z M17.07,22.084h-3.152v-8.362h3.012 c1.919,0,2.942,0.882,2.942,2.255c0,0.854-0.434,1.485-1.149,1.821c0.911,0.322,1.415,0.995,1.415,1.947 C20.137,21.075,19.101,22.084,17.07,22.084z M26.254,22.266c-2.353,0-4.3-1.779-4.3-4.356c0-2.591,1.947-4.37,4.3-4.37 s4.314,1.779,4.314,4.37C30.569,20.487,28.607,22.266,26.254,22.266z M37.553,22.084l-2.788-4.174v4.174h-1.877v-8.362h1.877v3.824 l2.788-3.824h2.101L36.656,17.7l3.054,4.384H37.553z M47.717,22.084l-0.63-2.059h-2.942l-0.63,2.059h-1.849l2.83-8.362h2.255 l2.816,8.362H47.717z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgBokaFylld);\nexport default __webpack_public_path__ + \"static/media/boka_fylld.41520742eec15cca51f9ce5dcd508d21.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgBokaKonturerad(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 62 35\",\n style: {\n enableBackground: \"new 0 0 62 35\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.137,19.745c0,1.331-1.037,2.339-3.068,2.339h-3.152v-8.363h3.012c1.919,0,2.942,0.882,2.942,2.255 c0,0.854-0.434,1.485-1.149,1.821C19.633,18.12,20.137,18.792,20.137,19.745z M15.781,17.223h1.037 c0.77,0.014,1.261-0.406,1.261-1.051c0-0.616-0.462-0.995-1.261-0.995h-1.037V17.223z M18.274,19.535 c0-0.672-0.504-1.065-1.387-1.065h-1.107v2.143h1.121C17.756,20.613,18.274,20.207,18.274,19.535z M30.569,17.91 c0,2.577-1.961,4.356-4.314,4.356s-4.3-1.779-4.3-4.356c0-2.591,1.947-4.37,4.3-4.37S30.569,15.318,30.569,17.91z M23.873,17.91 c0,1.611,1.149,2.605,2.381,2.605c1.247,0,2.395-0.995,2.395-2.605s-1.149-2.619-2.395-2.619S23.873,16.299,23.873,17.91z M37.553,22.084l-2.788-4.174v4.174h-1.877v-8.363h1.877v3.824l2.788-3.824h2.101L36.656,17.7l3.054,4.384H37.553z M47.087,20.025 h-2.942l-0.63,2.059h-1.849l2.83-8.363h2.255l2.816,8.363h-1.849L47.087,20.025z M46.652,18.624l-1.009-3.278h-0.042l-1.023,3.278 H46.652z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.04,29.75H11.961C5.569,29.75,0.368,24.479,0.368,18c0-6.479,5.201-11.75,11.593-11.75H50.04 c6.392,0,11.592,5.271,11.592,11.75C61.632,24.479,56.432,29.75,50.04,29.75z M11.961,8.25c-5.29,0-9.593,4.374-9.593,9.75 s4.304,9.75,9.593,9.75H50.04c5.289,0,9.592-4.374,9.592-9.75s-4.303-9.75-9.592-9.75H11.961z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgBokaKonturerad);\nexport default __webpack_public_path__ + \"static/media/boka_konturerad.222ae4269ca4f825126184f5477a7681.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgPinMap(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 35 35\",\n style: {\n enableBackground: \"new 0 0 35 35\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.651,12.151C29.651,5.44,24.211,0,17.5,0S5.349,5.44,5.349,12.151c0,2.257,0.617,4.369,1.69,6.18H7.037 c0,0,0.007,0.011,0.019,0.029c0.154,0.259,0.319,0.511,0.491,0.757c1.91,2.947,8.61,13.32,9.953,15.884v-0.033 c1.294-2.471,7.561-12.189,9.725-15.532C28.748,17.405,29.651,14.884,29.651,12.151z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgPinMap);\nexport default __webpack_public_path__ + \"static/media/pin_map.6a342dc891116dd6e906be683d0858e8.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _polygon, _path8, _polygon2, _polygon3, _path9, _path10, _path11;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgRegionstockholm(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 650 200\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"ikon_pauppdrag_191022----\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M372.121,72.086h-2.634V87.9h2.635a8.036,8.036,0,0,0,5.754-2.064,8.844,8.844,0,0,0-.054-11.719A8,8,0,0,0,372.121,72.086Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M271.218,64.392a1.765,1.765,0,1,0-1.265-.516A1.7,1.7,0,0,0,271.218,64.392Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M438,109.155a5.312,5.312,0,0,0-4.74,2.529,10.5,10.5,0,0,0-1.424,5.771,10.62,10.62,0,0,0,1.424,5.77,5.62,5.62,0,0,0,9.478,0,12.4,12.4,0,0,0,0-11.541A5.31,5.31,0,0,0,438,109.155Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M253.1,75.506q0-3.56-4.37-3.562h-1.757v7.089h1.757Q253.1,79.033,253.1,75.506Z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M248.8,109.439h-1.719V115.5H248.8a9.079,9.079,0,0,0,3.364-.462,2.581,2.581,0,0,0,1.684-2.638Q253.846,109.441,248.8,109.439Z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M354.2,75.506q0-3.56-4.37-3.562h-1.757v7.089h1.757Q354.205,79.033,354.2,75.506Z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M333.561,109.155a5.312,5.312,0,0,0-4.741,2.529,10.515,10.515,0,0,0-1.424,5.771,10.622,10.622,0,0,0,1.424,5.77,5.62,5.62,0,0,0,9.478,0,10.6,10.6,0,0,0,1.425-5.77,10.5,10.5,0,0,0-1.425-5.771A5.307,5.307,0,0,0,333.561,109.155Z\"\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"271.002 72.621 267.656 82.559 274.316 82.559 271.075 72.621 271.002 72.621\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M400.972,77.538a2.582,2.582,0,0,0,1.684-2.638q0-2.955-5.051-2.957h-1.718V78H397.6A9.061,9.061,0,0,0,400.972,77.538Z\"\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"485.313 72.621 485.242 72.621 481.894 82.559 488.556 82.559 485.313 72.621\"\n })), _polygon3 || (_polygon3 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"424.242 72.621 424.172 72.621 420.823 82.559 427.482 82.559 424.242 72.621\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,0V200H650V0ZM502.731,67.563l5.841,19.521h.073l5.875-19.521h6.057l-8.442,24.864h-7.373l-8.4-24.864Zm-20.945,0h7.126l9.651,24.864H492.01l-1.957-5.451H480.4l-2.016,5.451h-6.143Zm-61.071,0h7.128l9.651,24.864H430.94l-1.953-5.451h-9.653l-2.017,5.451h-6.143Zm-30.739,0H399.2q9.509,0,9.508,6.449a6.259,6.259,0,0,1-1.281,4.008A5.885,5.885,0,0,1,403.8,80.1v.071a2.989,2.989,0,0,1,1.956,1.424,23.77,23.77,0,0,1,1.214,2.886l3.027,7.943h-6.33L401.6,86.611a10.127,10.127,0,0,0-1.651-3.343,3.408,3.408,0,0,0-2.555-.892h-1.509V92.424h-5.914Zm-68.535,0h7.265q10.827,0,10.829,7.908a7.059,7.059,0,0,1-2.627,5.948,11.426,11.426,0,0,1-7.162,2.03h-2.394v8.978h-5.911Zm-25.806,0h5.985V81.879q0,6.45,4.63,6.449t4.629-6.449V67.563h5.987v15.6q0,4.917-2.886,7.373-2.707,2.317-7.73,2.316t-7.73-2.316q-2.885-2.457-2.885-7.373Zm-27.179-7.711a3.873,3.873,0,1,1-1.157,2.759A3.774,3.774,0,0,1,268.456,59.852Zm15.87,32.574h-6.553l-1.96-5.451h-9.651l-2.017,5.451H258l9.546-24.864h7.124Zm-237.86,30.5h21.1a9.785,9.785,0,0,0,9.8-9.77h0V52.287h9.386c-.086,11.278,0,48.95,0,60.828a19.189,19.189,0,0,1-19.188,19.18h-21.1Zm55.539-9.814a34.532,34.532,0,0,1-34.5,34.569h-.044c-6.864,0-14.926.068-21,0v-9.4h21.1a25.112,25.112,0,0,0,25.1-25.122V52.281h9.343Zm61.546,34.569c-6.164.068-14.145,0-21.1,0a34.564,34.564,0,0,1-34.564-34.559v-.01c0-21.326.09-40.514,0-60.83h9.47v60.83a25.112,25.112,0,0,0,25.054,25.17h21.146Zm0-15.391h-21.1a19.177,19.177,0,0,1-19.189-19.165h0V52.287h9.381v60.828a9.772,9.772,0,0,0,9.724,9.816h21.18Zm52.48,39.281h-4.77V28.429h4.77ZM241.056,67.563h7.267q10.828,0,10.829,7.908a7.056,7.056,0,0,1-2.627,5.948,11.422,11.422,0,0,1-7.161,2.03h-2.4v8.978h-5.913Zm13.8,62.359-2.059-5.814a10.173,10.173,0,0,0-1.654-3.343,3.4,3.4,0,0,0-2.554-.889h-1.508v10.046h-5.914V105.058h9.22q9.512,0,9.511,6.448a6.259,6.259,0,0,1-1.281,4.008,5.883,5.883,0,0,1-3.63,2.086v.07a3.01,3.01,0,0,1,1.96,1.424,24.906,24.906,0,0,1,1.211,2.887l3.027,7.943Zm25.938,0H264.122V105.058h16.386v4.381h-10.4v5.521h9.724v4.419h-9.724v6.162H280.8Zm25.7-.784a35.7,35.7,0,0,1-8.975,1.211,15.433,15.433,0,0,1-9.727-2.922q-4.308-3.348-4.308-9.688,0-6.552,4.132-9.938,3.843-3.169,10.757-3.17a23.136,23.136,0,0,1,7.445,1.07l-.464,4.949a12.85,12.85,0,0,0-6.2-1.5,10.2,10.2,0,0,0-6.8,2.138,7.848,7.848,0,0,0-2.67,6.305,8.027,8.027,0,0,0,2.281,5.965,8.222,8.222,0,0,0,6.054,2.262,8.071,8.071,0,0,0,2.743-.392v-5.549H296.3V115.5h10.191Zm10.8.785h-5.983V105.059h5.983Zm25.466-3.1q-3.276,3.527-9.189,3.527-5.952,0-9.192-3.527-3.168-3.418-3.17-9.367,0-5.985,3.135-9.368,3.277-3.457,9.227-3.456t9.153,3.437q3.207,3.438,3.206,9.387-.011,5.914-3.18,9.366Zm5.327-34.395h-5.91V67.563h7.264q10.829,0,10.83,7.908a7.059,7.059,0,0,1-2.627,5.948,11.424,11.424,0,0,1-7.162,2.03h-2.4Zm23.587,37.5h-7.257l-9.091-17.616-.108-.016.141,17.632h-5.592V105.059h7.52l8.9,17.561V105.059h5.486Zm0-37.5h-8.157V67.564h8.157q6.839,0,10.367,2.527,4.2,3.029,4.2,9.832-.006,12.5-14.576,12.5Zm29.248,36.248a13.236,13.236,0,0,1-7.159,1.675,25.185,25.185,0,0,1-7.016-1.032l.532-5.1a13.117,13.117,0,0,0,6.341,1.6q4.24,0,4.24-2.743,0-1.849-2.956-2.957a49.867,49.867,0,0,1-5.487-2.243,6.241,6.241,0,0,1-2.956-5.63,6.583,6.583,0,0,1,3.2-5.983,12.646,12.646,0,0,1,6.769-1.638,19.3,19.3,0,0,1,6.2.927l-.427,4.7a12.915,12.915,0,0,0-5.343-1.1q-4.24,0-4.241,2.779,0,1.6,2.957,2.635a33.781,33.781,0,0,1,5.522,2.208,6.28,6.28,0,0,1,2.956,5.664,6.91,6.91,0,0,1-3.143,6.246Zm23.621-19.092h-6.519v20.34H412.04v-20.34h-6.523V105.06h19.021Zm22.654,17.24q-3.276,3.527-9.189,3.527-5.949,0-9.191-3.527-3.171-3.417-3.17-9.367,0-5.985,3.135-9.368,3.276-3.457,9.226-3.456t9.154,3.437q3.207,3.438,3.2,9.387,0,5.918-3.175,9.37Zm-4.983-36.89q-4.314-3.348-4.311-9.689,0-6.55,4.132-9.937,3.849-3.171,10.757-3.171a23.116,23.116,0,0,1,7.446,1.071l-.465,4.948a12.847,12.847,0,0,0-6.2-1.494,10.211,10.211,0,0,0-6.8,2.137,7.855,7.855,0,0,0-2.671,6.306,8.025,8.025,0,0,0,2.281,5.964,8.222,8.222,0,0,0,6.054,2.262,8.071,8.071,0,0,0,2.743-.392v-5.56h-4.451V78h10.177V91.641a35.652,35.652,0,0,1-8.975,1.21,15.42,15.42,0,0,1-9.725-2.919Zm24.891,40.418a15.424,15.424,0,0,1-9.724-2.922q-4.309-3.348-4.311-9.689,0-6.3,3.884-9.8,3.741-3.312,10.116-3.31a21.438,21.438,0,0,1,6.7,1.175l-.465,4.916a12.232,12.232,0,0,0-6.054-1.567,7.478,7.478,0,0,0-5.789,2.386,8.613,8.613,0,0,0-2.189,6.054,8.04,8.04,0,0,0,2.278,5.967,8.221,8.221,0,0,0,6.058,2.262,14.837,14.837,0,0,0,5.912-1.175l.284,4.773a29.224,29.224,0,0,1-6.709.933Zm24.351-.428-8.265-11.4v11.4H477.2V105.055h5.983v10.367l8.089-10.367h7.265L488.949,116.7l10.189,13.216Zm31.057,0h-5.986V119.162h-8.689v10.757h-5.991V105.055h5.986v9.724h8.69v-9.724h5.986Zm25.383-3.1q-3.279,3.527-9.189,3.527-5.951,0-9.192-3.527-3.168-3.417-3.17-9.367,0-5.985,3.135-9.368,3.276-3.457,9.227-3.456t9.154,3.437q3.207,3.438,3.2,9.387,0,5.918-3.175,9.37Zm23.015,3.1h-16V105.055H560.9v20.339h10Zm32.625,0h-5.8V110.257l-6.484,19.662h-5.565l-6.305-19.662v19.662h-5.807V105.055h9.489l5.521,17.45h.041l5.678-17.448h9.229Z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M333.477,75.506q0-3.56-4.37-3.562h-1.756v7.089h1.756Q333.478,79.033,333.477,75.506Z\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M538.7,109.155a5.312,5.312,0,0,0-4.74,2.529,10.506,10.506,0,0,0-1.425,5.771,10.621,10.621,0,0,0,1.425,5.77,5.62,5.62,0,0,0,9.478,0,10.614,10.614,0,0,0,1.425-5.77,10.508,10.508,0,0,0-1.425-5.771A5.31,5.31,0,0,0,538.7,109.155Z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRegionstockholm);\nexport default __webpack_public_path__ + \"static/media/regionstockholm.f034f951c3726324f1ecc5fb27972187.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgStangaDesktop(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 35 35\",\n style: {\n enableBackground: \"new 0 0 35 35\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M17.5,4.5c-7.2,0-13,5.8-13,13c0,7.2,5.8,13,13,13c7.2,0,13-5.8,13-13C30.5,10.3,24.7,4.5,17.5,4.5z M23.5,22.1l-1.4,1.4l-4.6-4.6l-4.6,4.6l-1.4-1.4l4.6-4.6l-4.6-4.6l1.4-1.4l4.6,4.6l4.6-4.6l1.4,1.4l-4.6,4.6L23.5,22.1z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"22.1,11.5 17.5,16.1 12.9,11.5 11.5,12.9 16.1,17.5 11.5,22.1 12.9,23.5 17.5,18.9 22.1,23.5 23.5,22.1 18.9,17.5 23.5,12.9 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5,2.5c-8.3,0-15,6.7-15,15c0,8.3,6.7,15,15,15c8.3,0,15-6.7,15-15C32.5,9.2,25.8,2.5,17.5,2.5z M17.5,30.5 c-7.2,0-13-5.8-13-13c0-7.2,5.8-13,13-13c7.2,0,13,5.8,13,13C30.5,24.7,24.7,30.5,17.5,30.5z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgStangaDesktop);\nexport default __webpack_public_path__ + \"static/media/stanga_desktop.b72e7dc31674861d24a0c3d122b4d06c.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgStangaMobil(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 35 35\",\n style: {\n enableBackground: \"new 0 0 35 35\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5,30C10.6,30,5,24.4,5,17.5S10.6,5,17.5,5S30,10.6,30,17.5S24.4,30,17.5,30z M17.5,7C11.7,7,7,11.7,7,17.5 C7,23.3,11.7,28,17.5,28C23.3,28,28,23.3,28,17.5C28,11.7,23.3,7,17.5,7z\"\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"21.7,14.7 20.3,13.3 17.5,16.1 14.7,13.3 13.3,14.7 16.1,17.5 13.3,20.3 14.7,21.7 17.5,18.9 20.3,21.7 21.7,20.3 18.9,17.5 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgStangaMobil);\nexport default __webpack_public_path__ + \"static/media/stanga_mobil.6af0f4e433f2a7d3f691b70a235d5cb5.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgStjarna(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 40\",\n style: {\n enableBackground: \"new 0 0 40 40\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"20.001,5 16.258,16.432 4.253,16.432 13.967,23.507 10.225,35 20.001,27.904 29.756,35 26.012,23.507 35.747,16.432 23.722,16.432 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgStjarna);\nexport default __webpack_public_path__ + \"static/media/stjarna.5cc8ccce4e117ff7fda9e31811bf8db6.svg\";\nexport { ForwardRef as ReactComponent };","var _polygon;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgStanga(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 15 15\",\n style: {\n enableBackground: \"new 0 0 15 15\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"11.23,1.905 7.5,5.635 3.769,1.905 1.894,3.76 5.625,7.49 1.894,11.222 3.769,13.095 7.5,9.365 11.23,13.095 13.106,11.222 9.375,7.49 13.106,3.76 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgStanga);\nexport default __webpack_public_path__ + \"static/media/stanga.24f7474a93c5f9218d9de007d0ff148a.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16, _g17, _defs, _g18, _g19, _g20, _g21, _defs2, _g22, _g23, _g24, _g25, _g26, _g27, _g28, _g29, _g30, _g31, _g32, _g33, _g34, _g35, _defs3, _defs4, _defs5, _g36, _g37, _defs6, _g38, _g39, _defs7, _defs8, _line, _defs9, _line2, _defs10, _rect, _g40, _rect2, _line3, _line4, _line5, _line6, _defs11, _line7, _line8, _line9, _line10, _line11, _line12, _line13, _line14, _line15, _line16, _defs12, _g41, _defs13, _rect3, _defs14, _g42, _defs15, _text, _g43;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgInboxEmpty(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 40 51\",\n style: {\n enableBackground: \"new 0 0 40 51\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{display:none;}\\r\\n\\t.st1{display:inline;}\\r\\n\\t.st2{fill:none;stroke:#043C5B;stroke-width:2;}\\r\\n\\t.st3{display:inline;fill:none;stroke:#043C5B;stroke-width:2;}\\r\\n\\t.st4{fill:none;stroke:#000000;}\\r\\n\\t.st5{display:inline;fill:none;stroke:#000000;}\\r\\n\\t.st6{fill:none;stroke:#FF00B9;stroke-width:2;}\\r\\n\\t.st7{display:inline;fill:#FFFFFF;}\\r\\n\\t.st8{fill:none;stroke:#033D59;stroke-width:2;}\\r\\n\\t.st9{display:inline;fill:#033D59;}\\r\\n\\t.st10{fill:none;stroke:#000000;stroke-width:2;}\\r\\n\\t.st11{clip-path:url(#SVGID_00000135659023953916375860000002683843486135527865_);fill:none;stroke:#54565A;stroke-width:2;}\\r\\n\\t.st12{fill:none;stroke:#FF0000;stroke-width:2;}\\r\\n\\t.st13{display:inline;fill:#043C5B;}\\r\\n\\t.st14{fill:#ECF7FA;}\\r\\n\\t\\r\\n\\t\\t.st15{clip-path:url(#SVGID_00000062189484989312432830000010418662616084576643_);fill:none;stroke:#54565A;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.st16{display:inline;fill:#FF0000;}\\r\\n\\t\\r\\n\\t\\t.st17{clip-path:url(#SVGID_00000118394952463830458550000003137349953180241813_);fill:none;stroke:#54565A;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.st18{clip-path:url(#SVGID_00000032636434753935413420000002050183224376677017_);fill:none;stroke:#243F59;}\\r\\n\\t.st19{fill:#49C997;}\\r\\n\\t.st20{display:inline;fill:none;stroke:#FFFFFF;stroke-width:3;}\\r\\n\\t.st21{clip-path:url(#SVGID_00000150809588456133083880000016347228880671848638_);fill:#49C997;}\\r\\n\\t.st22{display:inline;fill:none;stroke:#F6F6F6;stroke-width:2;}\\r\\n\\t.st23{clip-path:url(#SVGID_00000067933329314236697310000010468574129364623510_);fill:#47C896;}\\r\\n\\t.st24{display:inline;fill:none;stroke:#FFFFFF;stroke-width:5.927;}\\r\\n\\t.st25{clip-path:url(#SVGID_00000029029975280719149390000011894873171607756698_);fill:#FFFFFF;}\\r\\n\\t.st26{clip-path:url(#SVGID_00000029029975280719149390000011894873171607756698_);fill:none;stroke:#033D59;}\\r\\n\\t.st27{display:inline;fill:none;stroke:#033D59;stroke-width:3;}\\r\\n\\t.st28{clip-path:url(#SVGID_00000005242333425136996370000001878485776128569017_);fill:#FFFFFF;}\\r\\n\\t.st29{display:inline;fill:none;stroke:#49C997;stroke-width:3;}\\r\\n\\t.st30{clip-path:url(#SVGID_00000046325353074424492930000016688820512138442393_);fill:#49C997;}\\r\\n\\t.st31{clip-path:url(#SVGID_00000046325353074424492930000016688820512138442393_);fill:none;stroke:#FFFFFF;}\\r\\n\\t.st32{clip-path:url(#SVGID_00000116220238469512480370000014686110488604839565_);fill:#49C997;}\\r\\n\\t.st33{clip-path:url(#SVGID_00000116220238469512480370000014686110488604839565_);fill:#FF0000;}\\r\\n\\t.st34{clip-path:url(#SVGID_00000114054620062528754900000002415599564846011831_);fill:#49C997;}\\r\\n\\t.st35{display:inline;fill:#1D1D1B;}\\r\\n\\t.st36{clip-path:url(#SVGID_00000106118285423840972710000011842024098858420920_);fill:none;stroke:#1D1D1B;}\\r\\n\\t\\r\\n\\t\\t.st37{clip-path:url(#SVGID_00000079446423575301468670000003993442318088482964_);fill:none;stroke:#54565A;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.st38{clip-path:url(#SVGID_00000128451475791728516750000006142818548387088811_);fill:none;stroke:#54565A;stroke-miterlimit:10;}\\r\\n\\t.st39{fill:#043C5B;}\\r\\n\\t.st40{display:inline;fill:none;stroke:#043C5B;}\\r\\n\\t.st41{display:inline;fill:none;stroke:#033D59;}\\r\\n\\t.st42{fill:none;stroke:#54565A;stroke-width:2;}\\r\\n\\t.st43{fill:none;stroke:#FF00FF;}\\r\\n\\t.st44{display:inline;fill:none;stroke:#FF00FF;}\\r\\n\\t.st45{fill:none;stroke:#FF00B9;}\\r\\n\\t.st46{display:inline;fill:none;stroke:#000000;stroke-miterlimit:10;}\\r\\n\\t.st47{clip-path:url(#SVGID_00000044156872728479009190000008952411741199020210_);fill:none;stroke:#000000;}\\r\\n\\t.st48{clip-path:url(#SVGID_00000181788425269440836200000001244984342678078904_);fill:none;stroke:#000000;}\\r\\n\\t.st49{clip-path:url(#SVGID_00000068635332360504894870000013526647742622382998_);fill:none;stroke:#000000;}\\r\\n\\t.st50{fill:#033D59;}\\r\\n\\t.st51{display:inline;fill:#FFFFFF;stroke:#000000;stroke-miterlimit:10;}\\r\\n\\t.st52{display:inline;fill:none;stroke:#033D59;stroke-width:1.15;}\\r\\n\\t.st53{display:inline;fill:none;stroke:#70B62C;}\\r\\n\\t.st54{clip-path:url(#SVGID_00000029032446566973348300000014181037650346946995_);fill:none;stroke:#1D1D1B;}\\r\\n\\t.st55{clip-path:url(#SVGID_00000182521614823738247800000000420451837905916858_);fill:none;stroke:#1D1D1B;}\\r\\n\\t.st56{clip-path:url(#SVGID_00000149377754312984181050000011559456350770806922_);fill:none;stroke:#1D1D1B;}\\r\\n\\t.st57{fill:none;stroke:#1D1D1B;stroke-miterlimit:10;}\\r\\n\\t.st58{fill:#1D1D1B;}\\r\\n\\t.st59{fill:#FFFFFF;stroke:#1D1D1B;stroke-miterlimit:10;}\\r\\n\\t.st60{fill:none;stroke:#000000;stroke-miterlimit:10;}\\r\\n\\t.st61{fill:none;stroke:#000000;stroke-linecap:round;stroke-miterlimit:10;}\\r\\n\\t.st62{fill:none;stroke:#1D1D1B;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:5;stroke-dasharray:4,5;}\\r\\n\\t.st63{clip-path:url(#SVGID_00000010293217083011684710000004127723772397970105_);fill:none;stroke:#023D59;stroke-width:1.033;}\\r\\n\\t\\r\\n\\t\\t.st64{clip-path:url(#SVGID_00000010293217083011684710000004127723772397970105_);fill:none;stroke:#043C5B;stroke-width:1.033;stroke-miterlimit:1.286;}\\r\\n\\t.st65{display:inline;fill:none;stroke:#033C5A;stroke-width:2;}\\r\\n\\t.st66{display:inline;fill:#033C5A;}\\r\\n\\t.st67{clip-path:url(#SVGID_00000023999635237009346730000005102912855195626166_);fill:none;stroke:#033D59;}\\r\\n\\t.st68{fill:none;stroke:#FFFFFF;}\\r\\n\\t.st69{display:inline;fill:#00B2E3;}\\r\\n\\t.st70{display:inline;fill:none;}\\r\\n\\t.st71{clip-path:url(#SVGID_00000067196548573600914530000014480017795744003494_);fill:none;stroke:#033D59;}\\r\\n\\t.st72{clip-path:url(#SVGID_00000119098049132923669360000008333027398423775396_);fill:none;stroke:#033D59;}\\r\\n\\t.st73{clip-path:url(#SVGID_00000026154044295224217020000012415901150049140907_);fill:none;stroke:#033D59;}\\r\\n\\t.st74{clip-path:url(#SVGID_00000013908076853299388200000015508396869532638882_);fill:#033D59;}\\r\\n\\t.st75{clip-path:url(#SVGID_00000183938411576323788680000009504005112476323762_);fill:none;stroke:#033D59;}\\r\\n\\t.st76{display:inline;fill:#BBE1EA;}\\r\\n\\t.st77{clip-path:url(#SVGID_00000124877363927234138690000009097200508387358129_);fill:none;stroke:#033D59;}\\r\\n\\t.st78{display:inline;fill:#D9D8D6;}\\r\\n\\t.st79{clip-path:url(#SVGID_00000134245937122244370950000004253885925864244915_);fill:none;stroke:#000000;}\\r\\n\\t.st80{display:inline;fill:#FF5C00;}\\r\\n\\t.st81{clip-path:url(#SVGID_00000135688574640343883320000005414637665350861726_);fill:none;stroke:#000000;}\\r\\n\\t.st82{clip-path:url(#SVGID_00000152256132156403366280000014264919620412043159_);fill:none;stroke:#000000;}\\r\\n\\t.st83{clip-path:url(#SVGID_00000129199900653842735270000006463022719673875097_);fill:none;stroke:#000000;}\\r\\n\\t.st84{fill:none;stroke:#FFFF00;}\\r\\n\\t.st85{display:inline;fill:none;stroke:#FFFF00;stroke-miterlimit:10;}\\r\\n\\t.st86{clip-path:url(#SVGID_00000173862477453855221900000011172901251840795018_);fill:none;stroke:#033D59;}\\r\\n\\t.st87{clip-path:url(#SVGID_00000173862477453855221900000011172901251840795018_);fill:#181716;}\\r\\n\\t.st88{clip-path:url(#SVGID_00000132800850727339265500000004537381045277617822_);fill:#CEE9F0;}\\r\\n\\t.st89{clip-path:url(#SVGID_00000132800850727339265500000004537381045277617822_);fill:none;stroke:#033D59;}\\r\\n\\t.st90{clip-path:url(#SVGID_00000109747715300431971550000004005099539213363371_);fill:none;stroke:#043C5B;}\\r\\n\\t.st91{clip-path:url(#SVGID_00000110434422663245556100000005345224843164866203_);fill:none;stroke:#043C5B;}\\r\\n\\t.st92{clip-path:url(#SVGID_00000054255555106330435040000013064347021295537571_);fill:none;stroke:#023D59;}\\r\\n\\t.st93{display:inline;fill:#DAEEF3;}\\r\\n\\t.st94{clip-path:url(#SVGID_00000117673946245738273740000004827160853806700682_);fill:none;stroke:#023D59;}\\r\\n\\t.st95{clip-path:url(#SVGID_00000115476140991375356340000007164890210836058521_);fill:none;stroke:#243F59;}\\r\\n\\t.st96{display:inline;fill:none;stroke:#243F59;}\\r\\n\\t.st97{clip-path:url(#SVGID_00000114046741520980541740000013475389760877865368_);fill:none;stroke:#243F59;}\\r\\n\\t.st98{display:inline;fill:#243E5A;}\\r\\n\\t.st99{font-family:'HeroNew-Regular';}\\r\\n\\t.st100{font-size:14.0947px;}\\r\\n\\t.st101{clip-path:url(#SVGID_00000046303534649604880050000005371646187089740980_);fill:none;stroke:#243F59;}\\r\\n\\t.st102{clip-path:url(#SVGID_00000051342419752457833700000008774519501527592115_);fill:none;stroke:#54565A;stroke-width:2;}\\r\\n\\t\\r\\n\\t\\t.st103{clip-path:url(#SVGID_00000183247698412446737760000000867428392587473055_);fill:none;stroke:#54565A;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.st104{clip-path:url(#SVGID_00000055668045561835739740000016798524568341356972_);fill:none;stroke:#54565A;stroke-width:2;}\\r\\n\\t\\r\\n\\t\\t.st105{clip-path:url(#SVGID_00000038402145055077366800000003869814926892579975_);fill:none;stroke:#54565A;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.st106{display:inline;fill:#54565A;}\\r\\n\\t.st107{clip-path:url(#SVGID_00000042707724711964323050000012270045191597598379_);fill:none;stroke:#54565A;stroke-width:2;}\\r\\n\\t.st108{clip-path:url(#SVGID_00000042699660480442520320000007880385178102399930_);fill:none;stroke:#54565A;stroke-width:2;}\\r\\n\\t.st109{display:inline;fill:none;stroke:#1D1D1B;stroke-width:1.5;}\\r\\n\\t.st110{clip-path:url(#SVGID_00000183251207791261952870000006677018064701426581_);fill:none;stroke:#043C5B;stroke-width:2;}\\r\\n\\t.st111{clip-path:url(#SVGID_00000161589974713324465390000011747377057734569600_);fill:none;stroke:#033D59;stroke-width:2;}\\r\\n\\t.st112{display:inline;fill:none;stroke:#033D59;stroke-width:2;}\\r\\n\\t.st113{clip-path:url(#SVGID_00000183950735476308241120000017528272805199076013_);fill:#B9ECF2;}\\r\\n\\t.st114{clip-path:url(#SVGID_00000039837783901844719580000000666200524279266714_);fill:none;stroke:#FFFFFF;stroke-width:2;}\\r\\n\\t.st115{clip-path:url(#SVGID_00000099653382195182237450000011343529100931689392_);fill:none;stroke:#043C5B;stroke-width:2;}\\r\\n\\t.st116{clip-path:url(#SVGID_00000016780699344513780400000008387442059126010497_);fill:none;stroke:#FFFFFF;}\\r\\n\\t.st117{display:inline;fill:none;stroke:#FFFFFF;}\\r\\n\\t.st118{fill:none;stroke:#033D59;}\\r\\n\\t.st119{fill:none;stroke:#043C5B;}\\r\\n\\t.st120{display:inline;fill:#ECF7FA;}\\r\\n\\t.st121{clip-path:url(#SVGID_00000089571117806493807570000000742942056488275382_);fill:#ECF7FA;}\\r\\n\\t.st122{clip-path:url(#SVGID_00000089571117806493807570000000742942056488275382_);fill:none;stroke:#043C5B;stroke-width:2;}\\r\\n\\t.st123{clip-path:url(#SVGID_00000170277953893774005930000005558089974784976048_);fill:#FFFFFF;}\\r\\n\\t.st124{clip-path:url(#SVGID_00000170277953893774005930000005558089974784976048_);fill:none;stroke:#033D59;}\\r\\n\\t.st125{display:inline;fill:#DFF1F5;}\\r\\n\\t.st126{clip-path:url(#SVGID_00000137852014270093501990000011870321957194204084_);fill:none;stroke:#043C5B;}\\r\\n\\t.st127{clip-path:url(#SVGID_00000147217148393301936360000008143742558544929411_);fill:none;stroke:#033D59;stroke-width:0.8;}\\r\\n\\t.st128{clip-path:url(#SVGID_00000147217148393301936360000008143742558544929411_);fill:#043C5B;}\\r\\n\\t.st129{clip-path:url(#SVGID_00000140696136101075277910000013635438137920703380_);fill:none;stroke:#043C5B;}\\r\\n\\t.st130{clip-path:url(#SVGID_00000119805127804284574130000005784948972476083133_);fill:none;stroke:#043C5B;}\\r\\n\\t.st131{clip-path:url(#SVGID_00000119805127804284574130000005784948972476083133_);fill:none;stroke:#033D59;}\\r\\n\\t.st132{clip-path:url(#SVGID_00000103233511482079663900000009536688072041867198_);fill:none;stroke:#043C5B;}\\r\\n\\t.st133{clip-path:url(#SVGID_00000010291406373516167320000016615211857222210176_);}\\r\\n\\t.st134{filter:url(#Adobe_OpacityMaskFilter);}\\r\\n\\t.st135{clip-path:url(#SVGID_00000033332796421391422610000015300105216847520908_);}\\r\\n\\t\\r\\n\\t\\t.st136{clip-path:url(#SVGID_00000033332796421391422610000015300105216847520908_);mask:url(#SVGID_00000183941356985677215850000017738633615436516013_);}\\r\\n\\t.st137{opacity:0.5;clip-path:url(#SVGID_00000008150506559173023770000004429507347389749390_);fill:#1D1D1B;}\\r\\n\\t.st138{clip-path:url(#SVGID_00000010291406373516167320000016615211857222210176_);fill:#FFFFFF;}\\r\\n\\t.st139{clip-path:url(#SVGID_00000010291406373516167320000016615211857222210176_);fill:#EFF8FB;}\\r\\n\\t.st140{clip-path:url(#SVGID_00000128482411146203254010000015935034625229543078_);fill:none;stroke:#043C5B;}\\r\\n\\t.st141{clip-path:url(#SVGID_00000010291406373516167320000016615211857222210176_);fill:none;stroke:#043C5B;}\\r\\n\\t.st142{clip-path:url(#SVGID_00000035508396956793118390000018412995274328637326_);fill:none;stroke:#043C5B;}\\r\\n\\t.st143{clip-path:url(#SVGID_00000010291406373516167320000016615211857222210176_);fill:#043C5B;}\\r\\n\\t.st144{clip-path:url(#SVGID_00000049213671760312134050000017919355174613131927_);fill:none;stroke:#043C5B;stroke-width:2;}\\r\\n\\t.st145{clip-path:url(#SVGID_00000072992183908520636570000008245593711897044626_);fill:none;stroke:#FFFFFF;stroke-width:2;}\\r\\n\\t.st146{clip-path:url(#SVGID_00000141420272264536366810000017997519125486306233_);fill:none;stroke:#043C5B;}\\r\\n\\t.st147{clip-path:url(#SVGID_00000137097511118213725060000009452836901655809930_);fill:none;stroke:#043C5B;}\\r\\n\\t.st148{clip-path:url(#SVGID_00000174562390323974512150000015509589426304050062_);fill:none;stroke:#043C5B;}\\r\\n\\t.st149{clip-path:url(#SVGID_00000153678930436887147340000004610246018817630645_);fill:none;stroke:#043C5B;stroke-width:1.13;}\\r\\n\\t.st150{clip-path:url(#SVGID_00000023967466522690986400000016907134705576534403_);fill:none;stroke:#033D59;}\\r\\n\\t.st151{clip-path:url(#SVGID_00000061456835892518259500000003116817416738185868_);fill:none;stroke:#FFFFFF;}\\r\\n\\t.st152{clip-path:url(#SVGID_00000183207136382247261030000011916446116682612653_);fill:none;stroke:#033D59;}\\r\\n\\t.st153{clip-path:url(#SVGID_00000039093464996556795220000014540811081753450159_);fill:none;stroke:#033D59;}\\r\\n\\t.st154{clip-path:url(#SVGID_00000039093464996556795220000014540811081753450159_);fill:#043C5B;}\\r\\n\\t.st155{clip-path:url(#SVGID_00000039093464996556795220000014540811081753450159_);fill:none;stroke:#043C5B;}\\r\\n\\t.st156{clip-path:url(#SVGID_00000044895029426800570490000008171064650262200461_);fill:none;stroke:#043C5B;}\\r\\n\\t.st157{clip-path:url(#SVGID_00000183944325705701690950000016818125222810523532_);fill:none;stroke:#033D59;}\\r\\n\\t.st158{clip-path:url(#SVGID_00000071556104375179136620000010526719937414310540_);fill:none;stroke:#033D59;}\\r\\n\\t.st159{clip-path:url(#SVGID_00000084511410790287129030000016917060804930595236_);fill:none;stroke:#033D59;}\\r\\n\\t.st160{clip-path:url(#SVGID_00000182498950242460921300000007754662586906718342_);fill:none;stroke:#033D59;}\\r\\n\\t.st161{clip-path:url(#SVGID_00000103249550749267972160000004270681123389358488_);fill:#033D59;}\\r\\n\\t.st162{clip-path:url(#SVGID_00000006696671438369201970000012576696330946630812_);fill:none;stroke:#033D59;}\\r\\n\\t.st163{clip-path:url(#SVGID_00000006696671438369201970000012576696330946630812_);fill:#043C5B;}\\r\\n\\t.st164{clip-path:url(#SVGID_00000012439157766080725310000009953467263520015756_);fill:none;stroke:#043C5B;stroke-width:2;}\\r\\n\\t.st165{fill:none;stroke:#FFFFFF;stroke-width:2;}\\r\\n\\t\\r\\n\\t\\t.st166{clip-path:url(#SVGID_00000088822030300060220690000016586681241598453141_);fill:none;stroke:#FFFFFF;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.st167{clip-path:url(#SVGID_00000129174435665657948700000005134162088770341774_);fill:#FFFFFF;}\\r\\n\\t.st168{display:inline;fill:none;stroke:#043C5B;stroke-width:1.5;}\\r\\n\\t.st169{fill:none;}\\r\\n\\t.st170{display:inline;fill:none;stroke:#D000A8;stroke-width:2;stroke-miterlimit:10;}\\r\\n\\t.st171{clip-path:url(#SVGID_00000134220917067864367810000003012146069892759706_);fill:none;stroke:#043C5B;stroke-width:1.5;}\\r\\n\\t.st172{clip-path:url(#SVGID_00000160163532842321079920000018087455844411429768_);fill:none;stroke:#043C5B;}\\r\\n\\t.st173{clip-path:url(#SVGID_00000097463223333563165210000009083587142147616897_);fill:none;stroke:#043C5B;}\\r\\n\\t.st174{clip-path:url(#SVGID_00000005985205433116690720000012310947363853502342_);fill:none;stroke:#043C5B;}\\r\\n\\t.st175{clip-path:url(#SVGID_00000156577508940526949480000010561790799413336496_);fill:none;stroke:#043C5B;}\\r\\n\\t.st176{clip-path:url(#SVGID_00000007403177635627956330000011965852039208463490_);fill:none;stroke:#033D59;}\\r\\n\\t.st177{clip-path:url(#SVGID_00000022542859960041621730000018273774429422454430_);fill:none;stroke:#033D59;}\\r\\n\\t.st178{clip-path:url(#SVGID_00000179634126363498377960000007315666002345587132_);fill:#FFFFFF;}\\r\\n\\t.st179{clip-path:url(#SVGID_00000179634126363498377960000007315666002345587132_);fill:none;stroke:#E9E9E8;}\\r\\n\\t.st180{clip-path:url(#SVGID_00000134957421494710287790000004991236548624862096_);fill:none;stroke:#043C5B;}\\r\\n\\t.st181{clip-path:url(#SVGID_00000134957421494710287790000004991236548624862096_);fill:#043C5B;}\\r\\n\\t.st182{clip-path:url(#SVGID_00000035513715287245115630000009073051435649189276_);fill:#FFFFFF;}\\r\\n\\t.st183{clip-path:url(#SVGID_00000035513715287245115630000009073051435649189276_);fill:none;stroke:#E9E9E8;}\\r\\n\\t.st184{clip-path:url(#SVGID_00000098939510190486469490000014961230844570207891_);fill:none;stroke:#243E5A;}\\r\\n\\t.st185{clip-path:url(#SVGID_00000098939510190486469490000014961230844570207891_);fill:#243E5A;}\\r\\n\\t.st186{clip-path:url(#SVGID_00000180342832118818473720000007492822405381079954_);fill:#FFFFFF;}\\r\\n\\t.st187{clip-path:url(#SVGID_00000180342832118818473720000007492822405381079954_);fill:none;stroke:#E9E9E8;}\\r\\n\\t.st188{fill:none;stroke:#243E5A;stroke-miterlimit:10;}\\r\\n\\t.st189{clip-path:url(#SVGID_00000156556647802316053780000011577109193415850639_);fill:#FFFFFF;}\\r\\n\\t.st190{clip-path:url(#SVGID_00000156556647802316053780000011577109193415850639_);fill:none;stroke:#E9E9E8;}\\r\\n\\t.st191{fill:#243E5A;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"some_x5F_twitter\",\n className: \"st0\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"some_x5F_youtube\",\n className: \"st0\"\n })), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"some_x5F_linkedin\",\n className: \"st0\"\n })), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"some_x5F_tiktok\",\n className: \"st0\"\n })), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"some_x5F_instagram\",\n className: \"st0\"\n })), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"some_x5F_facebook\",\n className: \"st0\"\n })), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"stjarna\",\n className: \"st0\"\n })), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_navigering\",\n className: \"st0\"\n })), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_mail\",\n className: \"st0\"\n })), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_telefon\",\n className: \"st0\"\n })), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_klocka\",\n className: \"st0\"\n })), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_sprak\",\n className: \"st0\"\n })), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_sok\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st12\",\n cx: 13.49,\n cy: 27.49,\n rx: 11.49,\n ry: 11.48\n }))), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st12\",\n x1: 21.93,\n y1: 35.03,\n x2: 30.9,\n y2: 44\n })))), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_filter\",\n className: \"st0\"\n })), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_mina_sidor\",\n className: \"st0\"\n })), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"fet_x5F_kalender\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: -0.83,\n y: 18.78,\n className: \"st10\",\n width: 25.56,\n height: 25.56\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st10\",\n x1: 5.17,\n y1: 22.21,\n x2: 5.17,\n y2: 14.21\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st10\",\n x1: 18.73,\n y1: 22.21,\n x2: 18.73,\n y2: 14.21\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st10\",\n x1: -1.73,\n y1: 26.02,\n x2: 25.73,\n y2: 26.02\n })))), _g17 || (_g17 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"cirkel_x5F_bock_x5F_fet\",\n className: \"st0\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"cirkel_x5F_bock_x5F_tunn\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000113320460772580339970000000060645631819772298_\",\n x: -281,\n y: -872.44,\n width: 1440,\n height: 1683.16\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000091738159491964181330000005976151122939573665_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000113320460772580339970000000060645631819772298_\",\n style: {\n overflow: \"visible\"\n }\n })))), _g18 || (_g18 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"cirkel_x5F_alert_x5F_fet\",\n className: \"st0\"\n })), _g19 || (_g19 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"cirkel_x5F_alert_x5F_tunn\",\n className: \"st0\"\n })), _g20 || (_g20 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"cirkel_x5F_utropstecken_x5F_fet\",\n className: \"st0\"\n })), _g21 || (_g21 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"cirkel_x5F_utropstecken_x5F_tunn\",\n className: \"st0\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"mina_sidor\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs2 || (_defs2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000067195398013694612800000015885099688939535270_\",\n x: 3.17,\n y: 15.04,\n width: 43.02,\n height: 26.27\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000109744620066180744180000014388818753428656317_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000067195398013694612800000015885099688939535270_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000109744620066180744180000014388818753428656317_)\",\n fill: \"none\",\n stroke: \"#1D1D1B\"\n },\n d: \" M30.99,23.46c0-3.38-2.74-6.12-6.12-6.12c-3.38,0-6.12,2.74-6.12,6.12c0,3.38,2.74,6.12,6.12,6.12 C28.25,29.58,30.99,26.84,30.99,23.46z M24.87,53.57c6.63,0,12-5.37,12-12s-5.37-12-12-12s-12,5.37-12,12S18.24,53.57,24.87,53.57 z\"\n }))), _g22 || (_g22 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"filter\",\n className: \"st0\"\n })), _g23 || (_g23 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"karta\",\n className: \"st0\"\n })), _g24 || (_g24 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"info\",\n className: \"st0\"\n })), _g25 || (_g25 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"sok\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }))), _g26 || (_g26 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"mail\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 8.37,\n y: 26.49,\n className: \"st45\",\n width: 26,\n height: 18.01\n })), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"st45\",\n points: \"11.15,29.06 21.37,37.47 31.59,29.06 \"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st45\",\n x1: 11.15,\n y1: 41.93,\n x2: 16.52,\n y2: 37.52\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st45\",\n x1: 31.6,\n y1: 41.93,\n x2: 26.23,\n y2: 37.52\n })))), _g27 || (_g27 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"byta\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st46\",\n d: \"M8.48,1.95c0,0-2.08,0-4.08,0c-4.86,0-5.21-1.86-8.68-8.25\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"st46\",\n points: \"4.92,-1.26 8.99,1.95 4.92,5.25 \"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.4-0.32l-0.62,0.79l2.94,2.32h-3.15c-4,0-4.67-1.26-7.15-5.94c-0.09-0.18-0.19-0.37-0.29-0.55l-0.57,1.07 c2.55,4.8,3.42,6.43,8.01,6.43h3.18l-2.97,2.41l0.63,0.78l4.55-3.69L44.4-0.32z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M44.4-16.86l-0.62,0.78l2.95,2.36h-3.17c-4.6,0-5.46,1.63-8.03,6.47c-0.33,0.62-0.69,1.3-1.09,2.04 c-0.4,0.74-0.77,1.42-1.1,2.05c-2.48,4.68-3.15,5.94-7.15,5.94h-3.04v1h3.04c4.6,0,5.47-1.63,8.03-6.47 c0.33-0.62,0.69-1.3,1.09-2.04c0.4-0.74,0.76-1.42,1.1-2.05c2.48-4.68,3.15-5.94,7.15-5.94h3.16l-2.95,2.36l0.62,0.78l4.56-3.64 L44.4-16.86z\"\n }))), _g28 || (_g28 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"sprak\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st4\",\n d: \"M34.24,13.81c0,6.89-2.89,12.47-6.45,12.47s-6.45-5.58-6.45-12.47s2.89-12.47,6.45-12.47 S34.24,6.93,34.24,13.81z M40.61,13.81c0,6.89-5.74,12.47-12.82,12.47S14.97,20.7,14.97,13.81S20.71,1.35,27.79,1.35 S40.61,6.93,40.61,13.81z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st4\",\n d: \"M38.44,7.11H16.95 M38.44,20.52H16.95 M40.97,13.89H15.25 M27.69,0.81v26\"\n })))), _g29 || (_g29 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"installningar-globala\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M31.45,31.76v-3.5c-1.79-0.64-2.92-0.81-3.49-2.19v0c-0.57-1.38,0.11-2.31,0.92-4.02l-2.48-2.48 c-1.69,0.8-2.64,1.49-4.02,0.92h0c-1.37-0.57-1.55-1.71-2.19-3.49h-3.5c-0.63,1.77-0.81,2.92-2.19,3.49h0 c-1.38,0.57-2.31-0.11-4.02-0.92l-2.48,2.48c0.81,1.7,1.49,2.64,0.92,4.02c-0.57,1.38-1.72,1.56-3.49,2.19v3.5 c1.77,0.63,2.92,0.81,3.49,2.19c0.57,1.39-0.12,2.35-0.92,4.02l2.48,2.48c1.69-0.8,2.64-1.49,4.02-0.92h0 c1.38,0.57,1.56,1.71,2.19,3.49h3.5c0.63-1.77,0.81-2.91,2.2-3.49h0c1.37-0.57,2.3,0.11,4.01,0.92l2.48-2.48 c-0.81-1.69-1.49-2.64-0.92-4.01C28.54,32.58,29.69,32.39,31.45,31.76z\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st5\",\n cx: 18.45,\n cy: 30.01,\n r: 5\n }))), _g30 || (_g30 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"installningar-personliga\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M1.43,38.36h1c0.04-1.62,1.37-2.92,2.99-2.92s2.95,1.31,2.99,2.92h1c-0.03-1.58-0.98-2.94-2.34-3.56 c0.5-0.45,0.81-1.11,0.81-1.83c0-1.36-1.11-2.47-2.47-2.47s-2.47,1.11-2.47,2.47c0,0.73,0.31,1.38,0.81,1.83 C2.41,35.42,1.46,36.78,1.43,38.36z M5.43,31.5c0.81,0,1.47,0.66,1.47,1.47s-0.66,1.47-1.47,1.47c-0.81,0-1.47-0.66-1.47-1.47 S4.62,31.5,5.43,31.5z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 11.57,\n y: 35.16,\n className: \"st1\",\n width: 8,\n height: 1\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 11.57,\n y: 37.36,\n className: \"st1\",\n width: 8,\n height: 1\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"22.12,33.03 22.12,43.21 -0.88,43.21 -0.88,25.21 8.71,25.21 8.71,24.21 -1.88,24.21 -1.88,44.21 23.12,44.21 23.12,33.03 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M24.34,26.77v-1.85c-0.94-0.34-1.54-0.43-1.84-1.15v0c-0.3-0.73,0.06-1.22,0.48-2.12l-1.31-1.31 c-0.89,0.42-1.39,0.79-2.12,0.48h0c-0.73-0.3-0.82-0.9-1.15-1.84h-1.85c-0.33,0.93-0.43,1.54-1.15,1.84h0 c-0.73,0.3-1.22-0.06-2.12-0.48l-1.31,1.31c0.43,0.9,0.79,1.39,0.48,2.12c-0.3,0.73-0.91,0.82-1.84,1.15v1.85 c0.93,0.33,1.54,0.43,1.84,1.15c0.3,0.73-0.07,1.24-0.48,2.12l1.31,1.31c0.89-0.42,1.39-0.79,2.12-0.48h0 c0.73,0.3,0.82,0.9,1.15,1.84h1.85c0.33-0.94,0.43-1.54,1.16-1.84h0c0.72-0.3,1.21,0.06,2.11,0.49l1.31-1.31 c-0.43-0.89-0.79-1.39-0.48-2.12C22.8,27.2,23.41,27.1,24.34,26.77z\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st5\",\n cx: 17.48,\n cy: 25.85,\n r: 2.64\n }))), _g31 || (_g31 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"erbjudande-tag\",\n className: \"st0\"\n })), _g32 || (_g32 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"erbjudande-splash\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st46\",\n points: \"8.64,0.03 11.23,5.37 16.14,2.04 15.71,7.96 21.63,7.53 18.3,12.45 23.64,15.03 18.3,17.62 21.63,22.53 15.71,22.1 16.14,28.02 11.23,24.69 8.64,30.03 6.05,24.69 1.14,28.02 1.57,22.1 -4.35,22.53 -1.02,17.62 -6.36,15.03 -1.02,12.45 -4.35,7.53 1.57,7.96 1.14,2.04 6.05,5.37 \"\n }))), _g33 || (_g33 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"vinkning\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st51\",\n d: \"M3.44,54.53c-0.82-0.66-0.95-1.85-0.29-2.67C3.8,51.05,5,50.92,5.82,51.57l-2.69-2.16 c-0.8-0.64-0.92-1.83-0.26-2.64c0.66-0.82,1.84-0.96,2.64-0.32l-2.04-1.64c-0.82-0.66-0.95-1.85-0.29-2.67 c0.66-0.82,1.85-0.95,2.67-0.29l1.18,0.95c-0.82-0.66-0.95-1.85-0.29-2.67c0.66-0.82,1.85-0.95,2.67-0.29l7.99,6.41 c0,0,1.78,1.43,1.54-0.71c-0.1-0.89-0.15-1.51-0.19-1.91c-0.04-0.47-0.33-2.77,2-3.02c2.47-0.27,4.51,13.15,4.51,13.15 c0.47,2.16-0.48,5.1-1.97,6.96c-2.62,3.27-5.95,4.55-10.67,1.17C12.4,61.75,3.44,54.53,3.44,54.53z\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 3.45,\n y1: 49.67,\n x2: 10.55,\n y2: 55.37\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 4.05,\n y1: 45.29,\n x2: 12.92,\n y2: 52.42\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 6.42,\n y1: 42.33,\n x2: 15.3,\n y2: 49.46\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st51\",\n d: \"M18.19,54.78c0,0-2.04-2.71-0.34-6.11\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st46\",\n d: \"M5.88,35.99c0,0,3.89-1.37,6.99,2.51\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st46\",\n d: \"M4.34,33.12c0,0,6.3-2.22,11.32,4.07\"\n }))), _g34 || (_g34 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"varva-en-kompis\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st51\",\n d: \"M-10.74,24.74c0.18-0.83,1-1.36,1.83-1.18c0.83,0.18,1.36,1,1.18,1.83l0.59-2.74 c0.18-0.81,0.99-1.33,1.82-1.15c0.83,0.18,1.36,0.98,1.18,1.8l0.45-2.07c0.18-0.83,1-1.36,1.83-1.18c0.83,0.18,1.36,1,1.18,1.83 l-0.26,1.2c0.18-0.83,1-1.36,1.83-1.18c0.83,0.18,1.36,1,1.18,1.83L0.3,31.85c0,0-0.39,1.8,1.07,0.86 c0.61-0.39,1.04-0.66,1.32-0.83c0.33-0.2,1.89-1.24,2.92,0.36c1.09,1.69-7.9,8.03-7.9,8.03c-1.4,1.12-3.87,1.5-5.76,1.09 c-3.32-0.72-5.43-3.99-4.71-7.31c0.04-0.2,0.1-0.4,0.16-0.59c0-0.1,0.01-0.2,0.03-0.31L-10.74,24.74z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st51\",\n d: \"M25.24,26.58c0.15-0.7,0.84-1.14,1.54-0.99c0.7,0.15,1.14,0.84,0.99,1.54l0.5-2.3 c0.15-0.68,0.83-1.12,1.53-0.97c0.7,0.15,1.15,0.83,1,1.51l0.38-1.74c0.15-0.7,0.84-1.14,1.54-0.99c0.7,0.15,1.14,0.84,0.99,1.54 l-0.22,1.01c0.15-0.7,0.84-1.14,1.54-0.99c0.7,0.15,1.14,0.84,0.99,1.54l-1.48,6.83c0,0-0.33,1.52,0.9,0.73 c0.51-0.33,0.87-0.55,1.11-0.7c0.27-0.17,1.59-1.04,2.46,0.3c0.92,1.43-6.65,6.76-6.65,6.76c-1.18,0.95-3.26,1.27-4.85,0.92 c-2.8-0.6-4.57-3.36-3.97-6.16c0.04-0.17,0.08-0.34,0.13-0.5c0-0.09,0.01-0.17,0.03-0.26L25.24,26.58z\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 28.2,\n y1: 25.11,\n x2: 26.89,\n y2: 31.18\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 31.06,\n y1: 24.14,\n x2: 29.42,\n y2: 31.73\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 33.59,\n y1: 24.68,\n x2: 31.95,\n y2: 32.28\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st51\",\n d: \"M24.59,28.01c-0.25-0.67-0.99-1.01-1.66-0.77c-0.67,0.25-1.01,0.99-0.77,1.66l-0.81-2.21 c-0.24-0.66-0.98-0.99-1.65-0.74c-0.67,0.25-1.02,0.98-0.78,1.64l-0.62-1.68c-0.25-0.67-0.99-1.01-1.66-0.77 c-0.67,0.25-1.01,0.99-0.77,1.66l0.36,0.97c-0.25-0.67-0.99-1.01-1.66-0.77c-0.67,0.25-1.01,0.99-0.77,1.66l2.42,6.56 c0,0,0.54,1.46-0.79,0.84c-0.55-0.26-0.94-0.43-1.2-0.53c-0.29-0.13-1.72-0.81-2.39,0.64c-0.71,1.54,7.53,5.77,7.53,5.77 c1.3,0.77,3.4,0.8,4.93,0.24c2.68-0.99,4.06-3.97,3.07-6.65c-0.06-0.16-0.16-0.46-0.27-0.73c-0.03-0.08,0.03,0.08,0,0L24.59,28.01z \"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 21.45,\n y1: 26.96,\n x2: 23.59,\n y2: 32.79\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 18.48,\n y1: 26.4,\n x2: 21.16,\n y2: 33.69\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 16.05,\n y1: 27.3,\n x2: 18.73,\n y2: 34.58\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st51\",\n d: \"M29.58,35.67c0,0,1.04-2.07,3.62-2.07\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 17.02,\n y1: 20.26,\n x2: 20.39,\n y2: 22.79\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 22.92,\n y1: 18.58,\n x2: 23.76,\n y2: 22.79\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st46\",\n x1: 26.28,\n y1: 21.95,\n x2: 28.81,\n y2: 18.58\n }))), _g35 || (_g35 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"uppdatera\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st5\",\n cx: 27.31,\n cy: 29.83,\n r: 12.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 8.88,\n y: 26.71,\n className: \"st7\",\n width: 11,\n height: 4.62\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"st46\",\n points: \"13.59,21.1 14.84,27.33 20.38,23.83 \"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"st5\",\n points: \"27.31,21.83 27.31,30.83 33.31,30.83 \"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"mina-barn\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs3 || (_defs3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"SVGID_00000068657717991128249480000003058333889943745665_\",\n points: \"5.68,39.74 21.13,39.74 32.19,33.23 41.7,17.74 5.68,17.74 \"\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000067924875592436263520000009719477857606102914_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000068657717991128249480000003058333889943745665_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000067924875592436263520000009719477857606102914_)\",\n fill: \"none\",\n stroke: \"#1D1D1B\"\n },\n d: \" M28.98,24.79c0-2.83-2.3-5.13-5.13-5.13s-5.13,2.3-5.13,5.13c0,2.83,2.3,5.13,5.13,5.13S28.98,27.63,28.98,24.79z M23.85,50.01 c5.55,0,10.05-4.5,10.05-10.05s-4.5-10.05-10.05-10.05S13.8,34.42,13.8,39.97S18.3,50.01,23.85,50.01z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs4 || (_defs4 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000158016123801164110780000012138956790823711140_\",\n x: 22.63,\n y: 23.94,\n width: 25.88,\n height: 15.81\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000163775181353307310780000002144405235448604814_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000158016123801164110780000012138956790823711140_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000163775181353307310780000002144405235448604814_)\",\n fill: \"none\",\n stroke: \"#1D1D1B\"\n },\n d: \" M39.75,28.63c0-2.24-1.82-4.06-4.06-4.06s-4.06,1.82-4.06,4.06c0,2.24,1.82,4.06,4.06,4.06S39.75,30.87,39.75,28.63z M35.69,47.12 c3.99,0,7.22-3.23,7.22-7.22s-3.23-7.22-7.22-7.22s-7.22,3.23-7.22,7.22S31.7,47.12,35.69,47.12z\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"mina_sidor_00000140692505908764973130000005412716608836106390_\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs5 || (_defs5 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000052790400472903348800000008617327074655688634_\",\n x: 4.24,\n y: 14.22,\n width: 43.02,\n height: 26.27\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000067224778888987617380000001292231012278751874_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000052790400472903348800000008617327074655688634_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000067224778888987617380000001292231012278751874_)\",\n fill: \"none\",\n stroke: \"#1D1D1B\"\n },\n d: \" M32.06,22.64c0-3.38-2.74-6.12-6.12-6.12c-3.38,0-6.12,2.74-6.12,6.12c0,3.38,2.74,6.12,6.12,6.12 C29.32,28.76,32.06,26.02,32.06,22.64z M25.94,52.75c6.63,0,12-5.37,12-12s-5.37-12-12-12s-12,5.37-12,12S19.31,52.75,25.94,52.75 z\"\n }))), _g36 || (_g36 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"inbox\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.51,24.93H12.45l-4.97,12.9v10h25v-10L27.51,24.93z M13.13,25.93h13.69l4.58,11.9h-6.93l-2,3.6h-5l-2-3.6H8.55 L13.13,25.93z M31.48,46.83h-23v-8h6.41l1.71,3.09l0.29,0.51h0.59h5h0.59l0.29-0.51l1.71-3.09h6.41V46.83z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.63,8.42c-0.5-0.54-0.78-1.24-0.75-1.91C3.9,5.92,4.15,5.38,4.59,4.97C5.47,4.16,7.1,4.32,8.01,5.3L7.27,5.98 c-0.59-0.63-1.58-0.67-2-0.27c-0.25,0.23-0.38,0.52-0.4,0.84C4.86,6.96,5.04,7.39,5.37,7.74L4.63,8.42z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.1,7.5c0.42,0.43,0.94,0.98,1.32,1.39c0.57,0.61,1.08,1.7,0.96,2.62c-0.06,0.5-0.32,0.89-0.78,1.19 c-0.13,0.08-0.25,0.12-0.38,0.12c-0.54,0-1.32-0.7-1.71-1.86C5.35,10.44,4.96,8.84,6.1,7.5 M6.14,6.1 c-3.54,2.64-1.28,7.71,1.08,7.71c0.31,0,0.62-0.09,0.92-0.28c2.12-1.36,1.16-4.09,0.01-5.33C7.42,7.42,6.14,6.1,6.14,6.1 L6.14,6.1z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.85,6.15c1.44,0,2.72,0.84,3.12,1.64c0.22,0.44,0.1,0.7-0.03,0.87c-0.35,0.47-0.79,0.69-1.35,0.69 c-0.89,0-1.9-0.58-2.43-1.15C7.79,7.8,7.28,7.24,6.87,6.8C7.58,6.28,8.31,6.15,8.85,6.15 M8.85,5.15 c-1.17,0-2.39,0.45-3.37,1.59c0,0,1.23,1.37,1.96,2.15c0.7,0.75,1.95,1.47,3.17,1.47c0.79,0,1.56-0.3,2.15-1.1 C14.03,7.55,11.56,5.15,8.85,5.15L8.85,5.15z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.72,6.56c-0.13,0-0.26-0.05-0.35-0.15c-0.19-0.2-0.19-0.51,0-0.71c0.68-0.68,1.59-0.56,2.02-0.38 c0.26,0.1,0.38,0.4,0.27,0.65c-0.1,0.26-0.4,0.38-0.65,0.27C3.99,6.24,3.45,6.04,3.07,6.42C2.98,6.52,2.85,6.56,2.72,6.56z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.24,5.11c-0.22,0-0.41-0.14-0.48-0.36C4.63,4.31,4.6,3.39,5.34,2.79c0.21-0.18,0.53-0.14,0.7,0.07 c0.18,0.21,0.14,0.53-0.07,0.7C5.57,3.9,5.71,4.45,5.72,4.48c0.07,0.26-0.08,0.54-0.35,0.61C5.33,5.1,5.28,5.11,5.24,5.11z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.78,12.7c-0.56,0-1.05-0.13-1.15-0.16l0.27-0.96c0.39,0.11,1.3,0.23,1.64-0.08l0.68,0.73 C10.83,12.6,10.28,12.7,9.78,12.7z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.23,12.23l-0.68-0.73c0.34-0.31,0.29-1.23,0.21-1.63l0.98-0.2C11.77,9.85,12.07,11.45,11.23,12.23z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.95,35.01l-0.25-0.43c-0.16-0.27-0.23-0.56-0.23-0.87c0-1.22,1.24-2.34,2.31-2.92l0.44-0.24l0.48,0.88l-0.44,0.24 c-1.05,0.58-1.79,1.42-1.79,2.05c0,0.13,0.03,0.25,0.1,0.36l0.25,0.43L19.95,35.01z M26.53,30.93l-0.25-0.97l0.48-0.12 c1.33-0.34,2.56-0.89,3.47-1.54L30.64,28l0.58,0.81l-0.41,0.29c-1.01,0.72-2.36,1.32-3.8,1.7L26.53,30.93z M31.91,24.94 l-0.09-0.49c-0.2-1.12-0.92-1.95-2.21-2.53l-0.46-0.2l0.41-0.91l0.46,0.2c1.59,0.71,2.53,1.81,2.78,3.27l0.09,0.49L31.91,24.94z M25.41,21.03l-0.5-0.04c-1.47-0.13-2.79-0.37-4.03-0.76l-0.48-0.15l0.29-0.96l0.48,0.15c1.17,0.36,2.42,0.6,3.82,0.72l0.5,0.04 L25.41,21.03z M16.7,18.19l-0.4-0.3c-1.02-0.77-1.99-1.7-2.96-2.83l-0.32-0.38l0.76-0.65l0.32,0.38c0.92,1.08,1.84,1.96,2.8,2.68 l0.4,0.3L16.7,18.19z\"\n })))), _g37 || (_g37 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"historik\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st5\",\n cx: 31.22,\n cy: 30.51,\n r: 12.5\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 12.79,\n y: 27.39,\n className: \"st7\",\n width: 11,\n height: 4.62\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"st46\",\n points: \"17.5,21.78 18.75,28.02 24.29,24.51 \"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"st5\",\n points: \"31.22,22.51 31.22,31.51 37.22,31.51 \"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"pratbubbla\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs6 || (_defs6 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000029022507119802579400000016587342514845674667_\",\n x: -11.17,\n y: 18.35,\n width: 25,\n height: 30.78\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000012438349830997850900000018214995433148700573_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000029022507119802579400000016587342514845674667_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000012438349830997850900000018214995433148700573_)\",\n fill: \"none\",\n stroke: \"#023D59\",\n strokeWidth: 1.033\n },\n points: \" -10.66,18.86 -10.66,42.87 -5.26,42.87 -5.26,47.99 0.56,42.87 13.31,42.87 13.31,18.86 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000012438349830997850900000018214995433148700573_)\",\n fill: \"none\",\n stroke: \"#043C5B\",\n strokeWidth: 1.033,\n strokeMiterlimit: 1.286\n },\n d: \" M5.48,31.05c0,0.93,0.72,1.67,1.62,1.67c0.9,0,1.62-0.74,1.62-1.67c0-0.93-0.72-1.67-1.62-1.67C6.2,29.37,5.48,30.12,5.48,31.05z M-0.3,31.05c0,0.93,0.72,1.67,1.62,1.67s1.62-0.74,1.62-1.67c0-0.93-0.72-1.67-1.62-1.67S-0.3,30.12-0.3,31.05z M-6.07,31.05 c0,0.93,0.72,1.67,1.62,1.67c0.9,0,1.62-0.74,1.62-1.67c0-0.93-0.72-1.67-1.62-1.67C-5.35,29.37-6.07,30.12-6.07,31.05z\"\n }))), _g38 || (_g38 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"telefon\",\n className: \"st0\"\n })), _g39 || (_g39 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"penna_00000141450505851135037600000004584903924217825983_\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 4.79,\n y: 18.53,\n className: \"st68\",\n width: 24,\n height: 24\n })), /*#__PURE__*/React.createElement(\"rect\", {\n x: 19.79,\n y: 14.02,\n className: \"st69\",\n width: 13.19,\n height: 13.83\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st68\",\n points: \"10.16,37.33 12.73,30.71 27.81,15.47 31.87,19.53 16.79,34.76 \"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"paket\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs7 || (_defs7 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000029022682217613789000000001471457783229783222_\",\n x: -3.79,\n y: 12.55,\n width: 25,\n height: 25\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000157297548390835345180000003271060458063409059_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000029022682217613789000000001471457783229783222_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"rect\", {\n x: -3.29,\n y: 13.05,\n style: {\n clipPath: \"url(#SVGID_00000157297548390835345180000003271060458063409059_)\",\n fill: \"none\",\n stroke: \"#033D59\"\n },\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"line\", {\n style: {\n clipPath: \"url(#SVGID_00000157297548390835345180000003271060458063409059_)\",\n fill: \"none\",\n stroke: \"#033D59\"\n },\n x1: 8.71,\n y1: 37.35,\n x2: 8.71,\n y2: 13.3\n })), /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs8 || (_defs8 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000057117933102106435570000007662734066065325198_\",\n x: -3.79,\n y: 12.55,\n width: 25,\n height: 25\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000157267273194366466600000016763669738481657764_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000057117933102106435570000007662734066065325198_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"line\", {\n style: {\n clipPath: \"url(#SVGID_00000157267273194366466600000016763669738481657764_)\",\n fill: \"none\",\n stroke: \"#033D59\"\n },\n x1: -3.79,\n y1: 23.78,\n x2: 20.3,\n y2: 23.78\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000157267273194366466600000016763669738481657764_)\",\n fill: \"none\",\n stroke: \"#033D59\"\n },\n d: \" M8.15,23.39c0,0-8.43-3.09-5.72-6.06c1.02-0.98,2.45-0.32,4.06,2.62C7.84,22.41,8.15,23.39,8.15,23.39z\"\n })), _line || (_line = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 8.7,\n y1: 23.57,\n x2: 12.52,\n y2: 30.45\n })), /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs9 || (_defs9 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000016053677220003964090000013104983707579261115_\",\n x: -3.79,\n y: 12.55,\n width: 25,\n height: 25\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000011030394266089232330000015737501763091077040_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000016053677220003964090000013104983707579261115_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000011030394266089232330000015737501763091077040_)\",\n fill: \"none\",\n stroke: \"#033D59\"\n },\n d: \" M9.28,23.39c0,0,8.43-3.09,5.72-6.06c-1.02-0.98-2.45-0.32-4.06,2.62C9.59,22.41,9.28,23.39,9.28,23.39z\"\n })), _line2 || (_line2 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 8.73,\n y1: 23.57,\n x2: 4.91,\n y2: 30.45\n }))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"klinik\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs10 || (_defs10 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000092419333110372110870000014107133111505988246_\",\n x: 2.34,\n y: 16,\n width: 30.19,\n height: 25.59\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000003813253351812046690000003789087863863242384_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000092419333110372110870000014107133111505988246_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"rect\", {\n x: 7.08,\n y: 20.46,\n style: {\n clipPath: \"url(#SVGID_00000003813253351812046690000003789087863863242384_)\",\n fill: \"none\",\n stroke: \"#000000\"\n },\n width: 20.7,\n height: 20.7\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 4.32,\n y: 18.96,\n className: \"st7\",\n width: 26.23,\n height: 10.84\n })), _g40 || (_g40 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"st4\",\n points: \"2.62,29.48 17.43,16.57 32.24,29.48 \"\n }))), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 17.8,\n y: 30.36,\n className: \"st46\",\n width: 5,\n height: 5\n }))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"sista-minuten\",\n className: \"st0\"\n }, _line3 || (_line3 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 26.53,\n y1: 19.05,\n x2: 26.53,\n y2: 20.63\n })), _line4 || (_line4 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 26.53,\n y1: 37.48,\n x2: 26.53,\n y2: 39.05\n })), _line5 || (_line5 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 16.53,\n y1: 29.06,\n x2: 18.1,\n y2: 29.06\n })), _line6 || (_line6 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 34.95,\n y1: 29.06,\n x2: 36.53,\n y2: 29.06\n })), /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs11 || (_defs11 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000026145009283320465120000005076794884079936652_\",\n x: 14.03,\n y: 16.56,\n width: 25,\n height: 25\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000051373238341183222900000002662684361738398884_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000026145009283320465120000005076794884079936652_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"rect\", {\n x: 14.6,\n y: 17.13,\n style: {\n clipPath: \"url(#SVGID_00000051373238341183222900000002662684361738398884_)\",\n fill: \"none\",\n stroke: \"#033D59\"\n },\n width: 23.85,\n height: 23.85\n })), _line7 || (_line7 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 21.6,\n y1: 37.74,\n x2: 22.24,\n y2: 36.32\n })), _line8 || (_line8 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 30.81,\n y1: 21.79,\n x2: 31.46,\n y2: 20.37\n })), _line9 || (_line9 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 17.84,\n y1: 33.98,\n x2: 19.26,\n y2: 33.34\n })), _line10 || (_line10 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 33.8,\n y1: 24.77,\n x2: 35.22,\n y2: 24.13\n })), _line11 || (_line11 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 31.46,\n y1: 37.74,\n x2: 30.81,\n y2: 36.32\n })), _line12 || (_line12 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 22.24,\n y1: 21.79,\n x2: 21.6,\n y2: 20.37\n })), _line13 || (_line13 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 35.22,\n y1: 33.98,\n x2: 33.8,\n y2: 33.34\n })), _line14 || (_line14 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st41\",\n x1: 19.26,\n y1: 24.77,\n x2: 17.84,\n y2: 24.13\n })), _line15 || (_line15 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st40\",\n x1: 23.81,\n y1: 29.23,\n x2: 32.62,\n y2: 28.48\n })), _line16 || (_line16 = /*#__PURE__*/React.createElement(\"line\", {\n className: \"st40\",\n x1: 24.61,\n y1: 20.55,\n x2: 27.02,\n y2: 31.61\n })), /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs12 || (_defs12 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000165920280173074820450000011037188561144739729_\",\n x: 14.03,\n y: 16.56,\n width: 25,\n height: 25\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000151520570406388174490000015401591138455188621_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000165920280173074820450000011037188561144739729_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n clipPath: \"url(#SVGID_00000151520570406388174490000015401591138455188621_)\",\n fill: \"#CEE9F0\"\n },\n d: \"M26.53,30.3 c0.68,0,1.24-0.56,1.24-1.24s-0.55-1.24-1.24-1.24s-1.24,0.56-1.24,1.24S25.84,30.3,26.53,30.3\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n style: {\n clipPath: \"url(#SVGID_00000151520570406388174490000015401591138455188621_)\",\n fill: \"none\",\n stroke: \"#033D59\"\n },\n cx: 26.53,\n cy: 29.06,\n r: 1.24\n }))), _g41 || (_g41 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"navigering\",\n className: \"st0\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"akut\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs13 || (_defs13 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000127733011651298363780000015577646935337010357_\",\n x: -0.29,\n y: 3.07,\n width: 28.44,\n height: 30\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000028322745669106169780000014314301319168343463_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000127733011651298363780000015577646935337010357_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.21,\n y: 8.57,\n style: {\n clipPath: \"url(#SVGID_00000028322745669106169780000014314301319168343463_)\",\n fill: \"none\",\n stroke: \"#023D59\"\n },\n width: 24,\n height: 24\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 13.16,\n y: 3.07,\n className: \"st93\",\n width: 15,\n height: 16.55\n })), /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs14 || (_defs14 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000014611957812866012610000004747941616630729620_\",\n x: -0.29,\n y: 3.07,\n width: 28.44,\n height: 30\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000098940476299885026490000016902998677642412682_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000014611957812866012610000004747941616630729620_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n clipPath: \"url(#SVGID_00000098940476299885026490000016902998677642412682_)\",\n fill: \"none\",\n stroke: \"#023D59\"\n },\n points: \" 24.18,14.52 17.97,14.52 22.61,3.4 10.76,16.9 16.97,16.9 12.33,28.01 \"\n }))), _g42 || (_g42 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"kalender-check\",\n className: \"st0\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"kalender-31\",\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"st1\"\n }, _defs15 || (_defs15 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_00000008139220932930623200000011919895796358256048_\",\n x: 2.53,\n y: 14.02,\n width: 25,\n height: 28.95\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_00000033340488804762734510000014395705179651902597_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_00000008139220932930623200000011919895796358256048_\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"rect\", {\n x: 3.03,\n y: 18.48,\n style: {\n clipPath: \"url(#SVGID_00000033340488804762734510000014395705179651902597_)\",\n fill: \"none\",\n stroke: \"#243F59\"\n },\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"line\", {\n style: {\n clipPath: \"url(#SVGID_00000033340488804762734510000014395705179651902597_)\",\n fill: \"none\",\n stroke: \"#243F59\"\n },\n x1: 8.67,\n y1: 22.66,\n x2: 8.67,\n y2: 14.02\n }), /*#__PURE__*/React.createElement(\"line\", {\n style: {\n clipPath: \"url(#SVGID_00000033340488804762734510000014395705179651902597_)\",\n fill: \"none\",\n stroke: \"#243F59\"\n },\n x1: 21.4,\n y1: 22.66,\n x2: 21.4,\n y2: 14.02\n })), _text || (_text = /*#__PURE__*/React.createElement(\"text\", {\n transform: \"matrix(1 0 0 1 7.7678 37.143)\",\n className: \"st98 st99 st100\"\n }, \"31\"))), _g43 || (_g43 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"_x5F_osorterat_gammalt\",\n className: \"st0\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgInboxEmpty);\nexport default __webpack_public_path__ + \"static/media/InboxEmpty.a5f1fb93699b1beea5e27b637e393599.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgInfoWithoutSpace(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 26 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 26C5.832 26 0 20.168 0 13C0 5.832 5.832 0 13 0C20.168 0 26 5.832 26 13C26 20.168 20.168 26 13 26ZM13 1C6.383 1 1 6.383 1 13C1 19.617 6.383 25 13 25C19.617 25 25 19.617 25 13C25 6.383 19.617 1 13 1Z\",\n fill: \"#043D5B\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.25 19.9828H13.75V10.0098H12.25V19.9828Z\",\n fill: \"#043D5B\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.9999 8.14058C13.6249 8.14058 14.0809 7.68558 14.0809 7.07958C14.0809 6.47258 13.6259 6.01758 12.9999 6.01758C12.3739 6.01758 11.9189 6.47258 11.9189 7.07958C11.9189 7.68558 12.3749 8.14058 12.9999 8.14058Z\",\n fill: \"#043D5B\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfoWithoutSpace);\nexport default __webpack_public_path__ + \"static/media/info_without_space.4ac461942e299876cb01017b7f847631.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgWarningWithoutSpace(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 21 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.3352 0.333984C4.81188 0.333984 0.333984 4.81188 0.333984 10.3352C0.333984 15.8586 4.81188 20.3365 10.3352 20.3365C15.8586 20.3365 20.3365 15.8586 20.3365 10.3352C20.3365 4.81188 15.8586 0.333984 10.3352 0.333984ZM11.6801 4.37649L11.2 12.1701H9.43912L8.97506 4.37649H11.6801ZM10.3352 16.4273C9.53514 16.4273 8.89506 15.7873 8.89506 14.9872C8.89506 14.171 9.53514 13.547 10.3352 13.547C11.1353 13.547 11.7754 14.1717 11.7754 14.9872C11.7754 15.7873 11.1353 16.4273 10.3352 16.4273Z\",\n fill: \"#FF5C00\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgWarningWithoutSpace);\nexport default __webpack_public_path__ + \"static/media/WarningWithoutSpace.9490cd0a4fbcf2bca175eaeaae537df7.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction SvgCirkelikonCheck(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"cirkelikon-check\",\n viewBox: \"0 0 49 49\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 25.1129,\n cy: 23.8873,\n r: 14.0875,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.5 6.125C14.3521 6.125 6.125 14.3521 6.125 24.5C6.125 34.6479 14.3521 42.875 24.5 42.875C34.6479 42.875 42.875 34.6479 42.875 24.5C42.875 14.3521 34.6479 6.125 24.5 6.125ZM23.3461 34.0183L15.8687 27.4376L18.2966 24.6789L22.5939 28.4604L31.4421 14.9609L34.5168 16.9761L23.3461 34.0183Z\",\n fill: \"#49C997\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCirkelikonCheck);\nexport default __webpack_public_path__ + \"static/media/CirkelikonCheck.8ed2e11887323456443b39d3e771c7e5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nconst _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nfunction Svg40X40MinaSidorV2(_ref, svgRef) {\n let {\n title,\n titleId\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 40 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.94336 34.5594H6.94636C7.11536 27.4984 12.8994 21.8034 20.0004 21.8034C27.1014 21.8034 32.8854 27.4984 33.0544 34.5594H35.0574C34.9204 27.9394 30.5034 22.3534 24.4614 20.4764C26.6994 19.0154 28.1824 16.4884 28.1824 13.6214C28.1824 9.11043 24.5124 5.44043 20.0004 5.44043C15.4894 5.44043 11.8194 9.11043 11.8194 13.6214C11.8194 16.4884 13.3014 19.0154 15.5394 20.4764C9.49736 22.3544 5.08036 27.9404 4.94336 34.5594ZM13.8194 13.6224C13.8194 10.2144 16.5914 7.44143 20.0004 7.44143C23.4094 7.44143 26.1824 10.2144 26.1824 13.6224C26.1824 17.0304 23.4084 19.8034 20.0004 19.8034C16.5924 19.8034 13.8194 17.0304 13.8194 13.6224Z\",\n fill: \"#043D5B\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(Svg40X40MinaSidorV2);\nexport default __webpack_public_path__ + \"static/media/40x40_mina-sidor-v2.3171d395a2104d1c106e88579b9f4b2c.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {BankIDIcon} from \"./svg/BankIDIcon\";\r\n// @ts-ignore\r\nimport {ReactComponent as CheckboxIndeterminateFilled_20x20} from './svg/20x20_checkbox_indeterminate_filled.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CheckboxIndeterminateOutline_20x20} from './svg/20x20_checkbox_indeterminate_outline.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CheckboxSelectedFilled_20x20} from './svg/20x20_checkbox_selected_filled.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CheckboxSelectedOutline_20x20} from './svg/20x20_checkbox_selected_outline.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CheckboxUnselected_20x20} from './svg/20x20_checkbox_unselected.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CheckmarkCenteredNormal_20x20} from './svg/20x20_checkmark_centered_normal.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CheckmarkCenteredThin_20x20} from './svg/20x20_checkmark_centered_thin.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CheckmarkNormal_20x20} from './svg/20x20_checkmark_normal.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CheckmarkThin_20x20} from './svg/20x20_checkmark_thin.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Dokument_20x20} from './svg/20x20_dokument.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as DropdownKarta_20x20} from './svg/20x20_dropdown_karta.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as DropdownKlocka_20x20} from './svg/20x20_dropdown_klocka.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as DropdownKompassFylld_20x20} from './svg/20x20_dropdown_kompass_fylld.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as DropdownKompassKontur_20x20} from './svg/20x20_dropdown_kompass_kontur.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as DropdownSprak_20x20} from './svg/20x20_dropdown_sprak.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Historik_20x20} from './svg/20x20_historik.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Inbox_20x20} from './svg/20x20_inbox.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Info_20x20} from './svg/20x20_info.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Kalender_20x20} from './svg/20x20_kalender.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Klocka_20x20} from './svg/20x20_klocka.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Mail_20x20} from './svg/20x20_mail.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MiniKlocka_20x20} from './svg/20x20_mini_klocka.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MiniPin_20x20} from './svg/20x20_mini_pin.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MinusCirkel_20x20} from './svg/20x20_minus-cirkel.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MobilmenyMinasidor_20x20} from './svg/20x20_mobilmeny_minasidor.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MobilmenySok_20x20} from './svg/20x20_mobilmeny_sok.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MobilmenySprak_20x20} from './svg/20x20_mobilmeny_sprak.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Navigering_20x20} from './svg/20x20_navigering.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Penna_20x20} from './svg/20x20_penna.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Pin_20x20} from './svg/20x20_pin.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as PlusCirkel_20x20} from './svg/20x20_plus-cirkel.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as RadiobuttonSelected_20x20} from './svg/20x20_radiobutton_selected.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as RadiobuttonUnselected_20x20} from './svg/20x20_radiobutton_unselected.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Sok_20x20} from './svg/20x20_sok.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Telefon_20x20} from './svg/20x20_telefon.svg';\r\n\r\n// @ts-ignore\r\nimport {ReactComponent as Akut_40x40} from './svg/40x40_akut.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Byta_40x40} from './svg/40x40_byta.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CirkelAlertFet_40x40} from './svg/40x40_cirkel_alert_fet.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CirkelAlertTunn_40x40} from './svg/40x40_cirkel_alert_tunn.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CirkelBockFet_40x40} from './svg/40x40_cirkel_bock_fet.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CirkelBockTunn_40x40} from './svg/40x40_cirkel_bock_tunn.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CirkelUtropsteckenFet_40x40} from './svg/40x40_cirkel_utropstecken_fet.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CirkelUtropsteckenTunn_40x40} from './svg/40x40_cirkel_utropstecken_tunn.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as ErbjudandeSplash_40x40} from './svg/40x40_erbjudande-splash.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as ErbjudandeTag_40x40} from './svg/40x40_erbjudande-tag.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetFilter_40x40} from './svg/40x40_fet_filter.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetKalender_40x40} from './svg/40x40_fet_kalender.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetKlocka_40x40} from './svg/40x40_fet_klocka.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetMail_40x40} from './svg/40x40_fet_mail.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetMinasidor_40x40} from './svg/40x40_fet_minasidor.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetNavigering_40x40} from './svg/40x40_fet_navigering.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetSok_40x40} from './svg/40x40_fet_sok.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetSprak_40x40} from './svg/40x40_fet_sprak.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as FetTelefon_40x40} from './svg/40x40_fet_telefon.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Filter_40x40} from './svg/40x40_filter.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Historik_40x40} from './svg/40x40_historik.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Inbox_40x40} from './svg/40x40_inbox.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Info_40x40} from './svg/40x40_info.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as InstallningarGlobala_40x40} from './svg/40x40_installningar-globala.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as InstallningarPersonliga_40x40} from './svg/40x40_installningar-personliga.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Kalender31_40x40} from './svg/40x40_kalender-31.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as KalenderCheck_40x40} from './svg/40x40_kalender-check.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Karta_40x40} from './svg/40x40_karta.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Klinik_40x40} from './svg/40x40_klinik.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Mail_40x40} from './svg/40x40_mail.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MinaBarn_40x40} from './svg/40x40_mina-barn.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MinaSidor_40x40} from './svg/40x40_mina-sidor.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Navigering_40x40} from './svg/40x40_navigering.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Paket_40x40} from './svg/40x40_paket.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Penna_40x40} from './svg/40x40_penna.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Pratbubbla_40x40} from './svg/40x40_pratbubbla.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SistaMinuten_40x40} from './svg/40x40_sista-minuten.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Sok_40x40} from './svg/40x40_sok.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SomeFacebook_40x40} from './svg/40x40_some_facebook.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SomeInstagram_40x40} from './svg/40x40_some_instagram.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SomeLinkedin_40x40} from './svg/40x40_some_linkedin.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SomeTiktok_40x40} from './svg/40x40_some_tiktok.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SomeTwitter_40x40} from './svg/40x40_some_twitter.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SomeYoutube_40x40} from './svg/40x40_some_youtube.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Sprak_40x40} from './svg/40x40_sprak.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Telefon_40x40} from './svg/40x40_telefon.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Uppdatera_40x40} from './svg/40x40_uppdatera.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as VarvaEnKompis_40x40} from './svg/40x40_varva-en-kompis.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Vinkning_40x40} from './svg/40x40_vinkning.svg';\r\n\r\n// @ts-ignore\r\nimport {ReactComponent as PaketBanner_100x100} from './svg/100x100_paket_banner.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SistaMinutenBanner_100x100} from './svg/100x100_sista-minuten_banner.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as UppdateraBanner_100x100} from './svg/100x100_uppdatera_banner.svg';\r\n\r\n\r\n// @ts-ignore\r\nimport {ReactComponent as Akut_150x150} from './svg/150x150_akut.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Kalender31_150x150} from './svg/150x150_kalender-31.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Klinik_150x150} from './svg/150x150_klinik.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Paket_150x150} from './svg/150x150_paket.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Penna_150x150} from './svg/150x150_penna.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Pratbubbla_150x150} from './svg/150x150_pratbubbla.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as SistaMinuten_150x150} from './svg/150x150_sista-minuten.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Telefon_150x150} from './svg/150x150_telefon.svg';\r\n\r\n// @ts-ignore\r\nimport {ReactComponent as BokaFylld} from './svg/boka_fylld.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as BokaKonturerad} from './svg/boka_konturerad.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as PinMap} from './svg/pin_map.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Regionstockholm} from './svg/regionstockholm.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as StangaDesktop} from './svg/stanga_desktop.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as StangaMobil} from './svg/stanga_mobil.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Stjarna} from './svg/stjarna.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as Stanga} from './svg/stanga.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as InboxEmpty} from './svg/InboxEmpty.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as InfoWithoutSpace} from './svg/info_without_space.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as WarningWithoutSpace} from './svg/WarningWithoutSpace.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as CirkelikonCheck} from './svg/CirkelikonCheck.svg';\r\n// @ts-ignore\r\nimport {ReactComponent as MinaSidorV2_40x40} from './svg/40x40_mina-sidor-v2.svg';\r\n\r\nenum DtvIconName {\r\n CheckboxIndeterminateFilled_20x20 = \"CheckboxIndeterminateFilled_20x20\",\r\n CheckboxIndeterminateOutline_20x20 = \"CheckboxIndeterminateOutline_20x20\",\r\n CheckboxSelectedFilled_20x20 = \"CheckboxSelectedFilled_20x20\",\r\n CheckboxSelectedOutline_20x20 = \"CheckboxSelectedOutline_20x20\",\r\n CheckboxUnselected_20x20 = \"CheckboxUnselected_20x20\",\r\n CheckmarkCenteredNormal_20x20 = \"CheckmarkCenteredNormal_20x20\",\r\n CheckmarkCenteredThin_20x20 = \"CheckmarkCenteredThin_20x20\",\r\n CheckmarkNormal_20x20 = \"CheckmarkNormal_20x20\",\r\n CheckmarkThin_20x20 = \"CheckmarkThin_20x20\",\r\n Dokument_20x20 = \"Dokument_20x20\",\r\n DropdownKarta_20x20 = \"DropdownKarta_20x20\",\r\n DropdownKlocka_20x20 = \"DropdownKlocka_20x20\",\r\n DropdownKompassFylld_20x20 = \"DropdownKompassFylld_20x20\",\r\n DropdownKompassKontur_20x20 = \"DropdownKompassKontur_20x20\",\r\n DropdownSprak_20x20 = \"DropdownSprak_20x20\",\r\n Historik_20x20 = \"Historik_20x20\",\r\n Inbox_20x20 = \"Inbox_20x20\",\r\n Info_20x20 = \"Info_20x20\",\r\n Kalender_20x20 = \"Kalender_20x20\",\r\n Klocka_20x20 = \"Klocka_20x20\",\r\n Mail_20x20 = \"Mail_20x20\",\r\n MiniKlocka_20x20 = \"MiniKlocka_20x20\",\r\n MiniPin_20x20 = \"MiniPin_20x20\",\r\n MinusCirkel_20x20 = \"MinusCirkel_20x20\",\r\n MobilmenyMinasidor_20x20 = \"MobilmenyMinasidor_20x20\",\r\n MobilmenySok_20x20 = \"MobilmenySok_20x20\",\r\n MobilmenySprak_20x20 = \"MobilmenySprak_20x20\",\r\n Navigering_20x20 = \"Navigering_20x20\",\r\n Penna_20x20 = \"Penna_20x20\",\r\n Pin_20x20 = \"Pin_20x20\",\r\n PlusCirkel_20x20 = \"PlusCirkel_20x20\",\r\n RadiobuttonSelected_20x20 = \"RadiobuttonSelected_20x20\",\r\n RadiobuttonUnselected_20x20 = \"RadiobuttonUnselected_20x20\",\r\n Sok_20x20 = \"Sok_20x20\",\r\n Telefon_20x20 = \"Telefon_20x20\",\r\n\r\n Akut_40x40 = \"Akut_40x40\",\r\n Byta_40x40 = \"Byta_40x40\",\r\n CirkelAlertFet_40x40 = \"CirkelAlertFet_40x40\",\r\n CirkelAlertTunn_40x40 = \"CirkelAlertTunn_40x40\",\r\n CirkelBockFet_40x40 = \"CirkelBockFet_40x40\",\r\n CirkelBockTunn_40x40 = \"CirkelBockTunn_40x40\",\r\n CirkelUtropsteckenFet_40x40 = \"CirkelUtropsteckenFet_40x40\",\r\n CirkelUtropsteckenTunn_40x40 = \"CirkelUtropsteckenTunn_40x40\",\r\n ErbjudandeSplash_40x40 = \"ErbjudandeSplash_40x40\",\r\n ErbjudandeTag_40x40 = \"ErbjudandeTag_40x40\",\r\n FetFilter_40x40 = \"FetFilter_40x40\",\r\n FetKalender_40x40 = \"FetKalender_40x40\",\r\n FetKlocka_40x40 = \"FetKlocka_40x40\",\r\n FetMail_40x40 = \"FetMail_40x40\",\r\n FetMinasidor_40x40 = \"FetMinasidor_40x40\",\r\n FetNavigering_40x40 = \"FetNavigering_40x40\",\r\n FetSok_40x40 = \"FetSok_40x40\",\r\n FetSprak_40x40 = \"FetSprak_40x40\",\r\n FetTelefon_40x40 = \"FetTelefon_40x40\",\r\n Filter_40x40 = \"Filter_40x40\",\r\n Historik_40x40 = \"Historik_40x40\",\r\n Inbox_40x40 = \"Inbox_40x40\",\r\n Info_40x40 = \"Info_40x40\",\r\n InstallningarGlobala_40x40 = \"InstallningarGlobala_40x40\",\r\n InstallningarPersonliga_40x40 = \"InstallningarPersonliga_40x40\",\r\n Kalender31_40x40 = \"Kalender31_40x40\",\r\n KalenderCheck_40x40 = \"KalenderCheck_40x40\",\r\n Karta_40x40 = \"Karta_40x40\",\r\n Klinik_40x40 = \"Klinik_40x40\",\r\n Mail_40x40 = \"Mail_40x40\",\r\n MinaBarn_40x40 = \"MinaBarn_40x40\",\r\n MinaSidor_40x40 = \"MinaSidor_40x40\",\r\n Navigering_40x40 = \"Navigering_40x40\",\r\n Paket_40x40 = \"Paket_40x40\",\r\n Penna_40x40 = \"Penna_40x40\",\r\n Pratbubbla_40x40 = \"Pratbubbla_40x40\",\r\n SistaMinuten_40x40 = \"SistaMinuten_40x40\",\r\n Sok_40x40 = \"Sok_40x40\",\r\n SomeFacebook_40x40 = \"SomeFacebook_40x40\",\r\n SomeInstagram_40x40 = \"SomeInstagram_40x40\",\r\n SomeLinkedin_40x40 = \"SomeLinkedin_40x40\",\r\n SomeTiktok_40x40 = \"SomeTiktok_40x40\",\r\n SomeTwitter_40x40 = \"SomeTwitter_40x40\",\r\n SomeYoutube_40x40 = \"SomeYoutube_40x40\",\r\n Sprak_40x40 = \"Sprak_40x40\",\r\n Telefon_40x40 = \"Telefon_40x40\",\r\n Uppdatera_40x40 = \"Uppdatera_40x40\",\r\n VarvaEnKompis_40x40 = \"VarvaEnKompis_40x40\",\r\n Vinkning_40x40 = \"Vinkning_40x40\",\r\n\r\n PaketBanner_100x100 = \"PaketBanner_100x100\",\r\n SistaMinutenBanner_100x100 = \"SistaMinutenBanner_100x100\",\r\n UppdateraBanner_100x100 = \"UppdateraBanner_100x100\",\r\n\r\n Akut_150x150 = \"Akut_150x150\",\r\n Kalender31_150x150 = \"Kalender31_150x150\",\r\n Klinik_150x150 = \"Klinik_150x150\",\r\n Paket_150x150 = \"Paket_150x150\",\r\n Penna_150x150 = \"Penna_150x150\",\r\n Pratbubbla_150x150 = \"Pratbubbla_150x150\",\r\n SistaMinuten_150x150 = \"SistaMinuten_150x150\",\r\n Telefon_150x150 = \"Telefon_150x150\",\r\n\r\n BokaFylld = \"BokaFylld\",\r\n BokaKonturerad = \"BokaKonturerad\",\r\n PinMap = \"PinMap\",\r\n Regionstockholm = \"Regionstockholm\",\r\n StangaDesktop = \"StangaDesktop\",\r\n StangaMobil = \"StangaMobil\",\r\n Stjarna = \"Stjarna\",\r\n Stanga = \"Stanga\",\r\n InboxEmpty = \"InboxEmpty\",\r\n\r\n /*Calendar = \"Calendar\",\r\n CalendarMobile = \"CalendarMobile\",\r\n CalendarDesktop = \"CalendarDesktop\",\r\n ExclamationCircledFilled = \"ExclamationCircledFilled\",\r\n ExclamationCircledFilledThin = \"ExclamationCircledFilledThin\",*/\r\n BankID = \"BankID\",\r\n /*VagBeskrivning = \"VagBeskrivning\",\r\n RoadDescription = \"RoadDescription\",\r\n Phone = \"Phone\",\r\n Telefon = \"Telefon\",\r\n Email = \"Email\",\r\n Epost = \"Epost\",\r\n CheckmarkCircledFilled = \"CheckmarkCircledFilled\",\r\n CheckmarkCircledFilledThin = \"CheckmarkCircledFilledThin\",\r\n BliPatientMobile = \"BliPatientMobile\",\r\n EditMobile = \"EditMobile\",\r\n BliPatientDesktop = \"BliPatientDesktop\",\r\n EditDesktop = \"EditDesktop\",\r\n BliPatient = \"BliPatientResponsive\",\r\n Edit = \"EditResponsive\",\r\n Icon = \"Icon\",\r\n Icon2 = \"Icon2\",\r\n Oppettider = \"Opettider\",\r\n ClockSimple = \"ClockSimple\",*/\r\n\r\n CloseX = \"CloseX\",\r\n InfoWithoutSpace = \"InfoWithoutSpace\",\r\n WarningWithoutSpace = \"WarningWithoutSpace\",\r\n CirkelikonCheck = \"CirkelikonCheck\",\r\n MinaSidorV2_40x40 = \"MinaSidorV2_40x40\",\r\n}\r\n\r\nenum DtvIconColor {\r\n Primary = \"Primary\",\r\n Success = \"Success\",\r\n Warning = \"Warning\",\r\n Danger = \"Danger\", // same color as warning\r\n}\r\n\r\n// calling it DtvIconProps instead of Props because the props are used in other places to make sure its an icon\r\nexport type DtvIconProps = {\r\n name: DtvIconName;\r\n cssClasses?: string;\r\n color?: DtvIconColor;\r\n onClick?: () => void;\r\n}\r\n\r\nfunction DtvIcon({name, cssClasses, color, onClick}: DtvIconProps) {\r\n let cssClassesWithColor = cssClasses ?? \"\";\r\n\r\n switch(color) {\r\n case DtvIconColor.Success:\r\n cssClassesWithColor += \" icon-color-success\";\r\n break;\r\n case DtvIconColor.Danger:\r\n case DtvIconColor.Warning:\r\n cssClassesWithColor += \" icon-color-warning\";\r\n break;\r\n }\r\n\r\n const onClk = onClick ?? (() => {});\r\n switch(name) {\r\n case DtvIconName.CheckboxIndeterminateFilled_20x20:\r\n return ;\r\n case DtvIconName.CheckboxIndeterminateOutline_20x20:\r\n return ;\r\n case DtvIconName.CheckboxSelectedFilled_20x20:\r\n return ;\r\n case DtvIconName.CheckboxSelectedOutline_20x20:\r\n return ;\r\n case DtvIconName.CheckboxUnselected_20x20:\r\n return ;\r\n case DtvIconName.CheckmarkCenteredNormal_20x20:\r\n return ;\r\n case DtvIconName.CheckmarkCenteredThin_20x20:\r\n return ;\r\n case DtvIconName.CheckmarkNormal_20x20:\r\n return ;\r\n case DtvIconName.CheckmarkThin_20x20:\r\n return ;\r\n case DtvIconName.Dokument_20x20:\r\n return ;\r\n case DtvIconName.DropdownKarta_20x20:\r\n return ;\r\n case DtvIconName.DropdownKlocka_20x20:\r\n return ;\r\n case DtvIconName.DropdownKompassFylld_20x20:\r\n return ;\r\n case DtvIconName.DropdownKompassKontur_20x20:\r\n return ;\r\n case DtvIconName.DropdownSprak_20x20:\r\n return ;\r\n case DtvIconName.Historik_20x20:\r\n return ;\r\n case DtvIconName.Inbox_20x20:\r\n return ;\r\n case DtvIconName.Info_20x20:\r\n return ;\r\n case DtvIconName.Kalender_20x20:\r\n return ;\r\n case DtvIconName.Klocka_20x20:\r\n return ;\r\n case DtvIconName.Mail_20x20:\r\n return ;\r\n case DtvIconName.MiniKlocka_20x20:\r\n return ;\r\n case DtvIconName.MiniPin_20x20:\r\n return ;\r\n case DtvIconName.MinusCirkel_20x20:\r\n return ;\r\n case DtvIconName.MobilmenyMinasidor_20x20:\r\n return ;\r\n case DtvIconName.MobilmenySok_20x20:\r\n return ;\r\n case DtvIconName.MobilmenySprak_20x20:\r\n return ;\r\n case DtvIconName.Navigering_20x20:\r\n return ;\r\n case DtvIconName.Penna_20x20:\r\n return ;\r\n case DtvIconName.Pin_20x20:\r\n return ;\r\n case DtvIconName.PlusCirkel_20x20:\r\n return ;\r\n case DtvIconName.RadiobuttonSelected_20x20:\r\n return ;\r\n case DtvIconName.RadiobuttonUnselected_20x20:\r\n return ;\r\n case DtvIconName.Sok_20x20:\r\n return ;\r\n case DtvIconName.Telefon_20x20:\r\n return ;\r\n\r\n case DtvIconName.Akut_40x40:\r\n return ;\r\n case DtvIconName.Byta_40x40:\r\n return ;\r\n case DtvIconName.CirkelAlertFet_40x40:\r\n return ;\r\n case DtvIconName.CirkelAlertTunn_40x40:\r\n return ;\r\n case DtvIconName.CirkelBockFet_40x40:\r\n return ;\r\n case DtvIconName.CirkelBockTunn_40x40:\r\n return ;\r\n case DtvIconName.CirkelUtropsteckenFet_40x40:\r\n return ;\r\n case DtvIconName.CirkelUtropsteckenTunn_40x40:\r\n return ;\r\n case DtvIconName.ErbjudandeSplash_40x40:\r\n return ;\r\n case DtvIconName.ErbjudandeTag_40x40:\r\n return ;\r\n case DtvIconName.FetFilter_40x40:\r\n return ;\r\n case DtvIconName.FetKalender_40x40:\r\n return ;\r\n case DtvIconName.FetKlocka_40x40:\r\n return ;\r\n case DtvIconName.FetMail_40x40:\r\n return ;\r\n case DtvIconName.FetMinasidor_40x40:\r\n return ;\r\n case DtvIconName.FetNavigering_40x40:\r\n return ;\r\n case DtvIconName.FetSok_40x40:\r\n return ;\r\n case DtvIconName.FetSprak_40x40:\r\n return ;\r\n case DtvIconName.FetTelefon_40x40:\r\n return ;\r\n case DtvIconName.Filter_40x40:\r\n return ;\r\n case DtvIconName.Historik_40x40:\r\n return ;\r\n case DtvIconName.Inbox_40x40:\r\n return ;\r\n case DtvIconName.Info_40x40:\r\n return ;\r\n case DtvIconName.InstallningarGlobala_40x40:\r\n return ;\r\n case DtvIconName.InstallningarPersonliga_40x40:\r\n return ;\r\n case DtvIconName.Kalender31_40x40:\r\n return ;\r\n case DtvIconName.KalenderCheck_40x40:\r\n return ;\r\n case DtvIconName.Karta_40x40:\r\n return ;\r\n case DtvIconName.Klinik_40x40:\r\n return ;\r\n case DtvIconName.Mail_40x40:\r\n return ;\r\n case DtvIconName.MinaBarn_40x40:\r\n return ;\r\n case DtvIconName.MinaSidor_40x40:\r\n return ;\r\n case DtvIconName.Navigering_40x40:\r\n return ;\r\n case DtvIconName.Paket_40x40:\r\n return ;\r\n case DtvIconName.Penna_40x40:\r\n return ;\r\n case DtvIconName.Pratbubbla_40x40:\r\n return ;\r\n case DtvIconName.SistaMinuten_40x40:\r\n return ;\r\n case DtvIconName.Sok_40x40:\r\n return ;\r\n case DtvIconName.SomeFacebook_40x40:\r\n return ;\r\n case DtvIconName.SomeInstagram_40x40:\r\n return ;\r\n case DtvIconName.SomeLinkedin_40x40:\r\n return ;\r\n case DtvIconName.SomeTiktok_40x40:\r\n return ;\r\n case DtvIconName.SomeTwitter_40x40:\r\n return ;\r\n case DtvIconName.SomeYoutube_40x40:\r\n return ;\r\n case DtvIconName.Sprak_40x40:\r\n return ;\r\n case DtvIconName.Telefon_40x40:\r\n return ;\r\n case DtvIconName.Uppdatera_40x40:\r\n return ;\r\n case DtvIconName.VarvaEnKompis_40x40:\r\n return ;\r\n case DtvIconName.Vinkning_40x40:\r\n return ;\r\n\r\n case DtvIconName.PaketBanner_100x100:\r\n return ;\r\n case DtvIconName.SistaMinutenBanner_100x100:\r\n return ;\r\n case DtvIconName.UppdateraBanner_100x100:\r\n return ;\r\n\r\n case DtvIconName.Akut_150x150:\r\n return ;\r\n case DtvIconName.Kalender31_150x150:\r\n return ;\r\n case DtvIconName.Klinik_150x150:\r\n return ;\r\n case DtvIconName.Paket_150x150:\r\n return ;\r\n case DtvIconName.Penna_150x150:\r\n return ;\r\n case DtvIconName.Pratbubbla_150x150:\r\n return ;\r\n case DtvIconName.SistaMinuten_150x150:\r\n return ;\r\n case DtvIconName.Telefon_150x150:\r\n return ;\r\n\r\n case DtvIconName.BokaFylld:\r\n return ;\r\n case DtvIconName.BokaKonturerad:\r\n return ;\r\n case DtvIconName.PinMap:\r\n return ;\r\n case DtvIconName.Regionstockholm:\r\n return ;\r\n case DtvIconName.Stanga:\r\n return ;\r\n case DtvIconName.StangaDesktop:\r\n return ;\r\n case DtvIconName.StangaMobil:\r\n return ;\r\n case DtvIconName.Stjarna:\r\n return ;\r\n case DtvIconName.InboxEmpty:\r\n return ;\r\n\r\n case DtvIconName.BankID:\r\n return ;\r\n /*case DtvIconName.ExclamationCircledFilled:\r\n return ;\r\n case DtvIconName.ExclamationCircledFilledThin:\r\n return ;\r\n case DtvIconName.Calendar:\r\n return ;\r\n case DtvIconName.CalendarMobile:\r\n return ;\r\n case DtvIconName.CalendarDesktop:\r\n return ;\r\n case DtvIconName.VagBeskrivning:\r\n case DtvIconName.RoadDescription:\r\n return ;\r\n case DtvIconName.Phone:\r\n case DtvIconName.Telefon:\r\n return ;\r\n case DtvIconName.Email:\r\n case DtvIconName.Epost:\r\n return ;\r\n case DtvIconName.CheckmarkCircledFilledThin:\r\n return ;\r\n case DtvIconName.CheckmarkCircledFilled:\r\n return ;\r\n case DtvIconName.Edit:\r\n case DtvIconName.BliPatient:\r\n return ;\r\n case DtvIconName.EditMobile:\r\n case DtvIconName.BliPatientMobile:\r\n return ;\r\n case DtvIconName.EditDesktop:\r\n case DtvIconName.BliPatientDesktop:\r\n return ;\r\n case DtvIconName.Icon:\r\n return ;\r\n case DtvIconName.Icon2:\r\n return ;\r\n case DtvIconName.Oppettider:\r\n case DtvIconName.ClockSimple:\r\n return ;*/\r\n case DtvIconName.CloseX:\r\n return \r\n case DtvIconName.InfoWithoutSpace:\r\n return ;\r\n case DtvIconName.WarningWithoutSpace:\r\n return ;\r\n case DtvIconName.CirkelikonCheck:\r\n return ;\r\n case DtvIconName.MinaSidorV2_40x40:\r\n return ;\r\n default:\r\n throw new Error(\"there is no icon with name: \" + name);\r\n }\r\n}\r\n\r\nexport { DtvIcon, DtvIconName, DtvIconColor }","import React, { ReactNode } from 'react';\r\nimport {DtvPreloader} from \"../preloader\";\r\nimport {DtvIcon, DtvIconName} from \"../icons\";\r\n\r\nenum DtvButtonType {\r\n Button = \"Button\",\r\n A = \"A\",\r\n}\r\n\r\nenum DtvButtonSize {\r\n Small = \"Small\",\r\n Prominent = \"Prominent\",\r\n SuperProminent = \"SuperProminent\",\r\n}\r\n\r\nenum DtvButtonOutline {\r\n None = \"None\", // redundant but good for clarity\r\n NormalOutline = \"NormalOutline\",\r\n ThinOutline = \"ThinOutline\",\r\n}\r\n\r\nenum DtvButtonColor {\r\n White = \"White\",\r\n Success = \"Success\",\r\n Info = \"Info\",\r\n}\r\n\r\ntype Props = {\r\n id?: string;\r\n type?: DtvButtonType;\r\n size?: DtvButtonSize;\r\n outline?: DtvButtonOutline;\r\n color?: DtvButtonColor;\r\n cssClasses?: string;\r\n children: ReactNode;\r\n isBlock?: boolean;\r\n block?: boolean;\r\n href?: string;\r\n disabled?: boolean;\r\n fakeDisabled?: boolean;\r\n onClick?: (event: React.MouseEvent) => void;\r\n target?: string;\r\n rel?: string;\r\n loading?: boolean;\r\n saved?: boolean;\r\n};\r\n\r\nconst DtvButton: React.FC = ({\r\n id,\r\n type,\r\n size,\r\n outline,\r\n color,\r\n cssClasses,\r\n children,\r\n isBlock, block, href,\r\n disabled,\r\n fakeDisabled,\r\n onClick,\r\n target,\r\n rel,\r\n loading,\r\n saved,\r\n }) => {\r\n const buttonClasses = ['btn'];\r\n\r\n if (isBlock || block) {\r\n buttonClasses.push(\"btn-block\");\r\n }\r\n\r\n if (disabled || fakeDisabled) {\r\n buttonClasses.push('btn-disabled');\r\n }\r\n\r\n if (cssClasses) {\r\n buttonClasses.push(cssClasses);\r\n }\r\n\r\n const buttonClassesString = buttonClasses.join(\" \");\r\n\r\n const spanClasses = [];\r\n\r\n switch(size) {\r\n case DtvButtonSize.Small:\r\n spanClasses.push(\"btn-small\");\r\n break;\r\n case DtvButtonSize.Prominent:\r\n spanClasses.push(\"btn-prominent\");\r\n break;\r\n case DtvButtonSize.SuperProminent:\r\n spanClasses.push(\"btn-super-prominent\");\r\n break;\r\n }\r\n\r\n switch(outline) {\r\n case DtvButtonOutline.NormalOutline:\r\n spanClasses.push(\"outlined\");\r\n break;\r\n case DtvButtonOutline.ThinOutline:\r\n spanClasses.push(\"outlined thin\");\r\n break;\r\n }\r\n\r\n switch(color) {\r\n case DtvButtonColor.Info:\r\n spanClasses.push(\"btn-info\");\r\n break;\r\n case DtvButtonColor.White:\r\n spanClasses.push(\"white\");\r\n break;\r\n case DtvButtonColor.Success:\r\n spanClasses.push(\"btn-success\");\r\n break;\r\n }\r\n\r\n const spanClassesString = spanClasses.join(\" \");\r\n\r\n if (type === DtvButtonType.Button) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n {loading === true ? : (saved ? <>{children} : children)}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nDtvButton.defaultProps = {\r\n type: DtvButtonType.Button\r\n};\r\n\r\nexport { DtvButton, DtvButtonType, DtvButtonColor, DtvButtonOutline, DtvButtonSize };\r\n","import * as React from 'react';\r\nimport {DtvIconProps} from \"dtv-shared/src/components/icons/DtvIcon\";\r\n\r\nexport enum IconPosition {\r\n Left = \"Left\",\r\n Right = \"Right\",\r\n}\r\n\r\ntype Props = {\r\n cssClasses?: string;\r\n iconPosition?: IconPosition;\r\n icon?: React.ReactElement;\r\n children: React.ReactNode;\r\n withBtn?: boolean;\r\n}\r\n\r\nfunction Card(props: Props) {\r\n const cssClassesArray = ['card-v2'];\r\n\r\n if (props.icon) {\r\n cssClassesArray.push('card-v2-has-icon');\r\n if (props.iconPosition === IconPosition.Right) {\r\n cssClassesArray.push('card-v2-icon-right');\r\n }\r\n }\r\n\r\n if (props.cssClasses) {\r\n cssClassesArray.push(props.cssClasses);\r\n }\r\n\r\n if (props.withBtn) {\r\n cssClassesArray.push('with-btn');\r\n }\r\n\r\n return (\r\n
    \r\n {props.icon}\r\n {props.children}\r\n
    \r\n );\r\n}\r\n\r\nexport default Card;\r\n","import * as React from 'react';\r\nimport {DtvIcon, DtvIconName, DtvIconProps} from \"dtv-shared/src/components/icons/DtvIcon\";\r\nimport Card from \"./Card\";\r\n\r\ntype Props = {\r\n cssClasses?: string;\r\n icon?: React.ReactElement;\r\n children: React.ReactNode;\r\n onDismiss?: () => void;\r\n withBtn?: boolean;\r\n}\r\n\r\nfunction NotificationCard(props: Props) {\r\n const cssClassesArray = ['notification-card'];\r\n\r\n if (props.cssClasses) {\r\n cssClassesArray.push(props.cssClasses);\r\n }\r\n\r\n return (\r\n \r\n {typeof props.onDismiss === 'function' ?
    props.onDismiss!()}>
    : null}\r\n {props.children}\r\n
    \r\n );\r\n}\r\n\r\nexport default NotificationCard;\r\n","import React from \"react\";\r\n\r\ndeclare global {\r\n interface Window {\r\n dtvPreventModalBackgroundScroll: () => void;\r\n }\r\n}\r\n\r\ntype Props = {\r\n id?: string;\r\n cssClasses?: string;\r\n children: React.ReactNode;\r\n open: boolean;\r\n verticalCenter?: boolean;\r\n fullScreenMobile?: boolean;\r\n withTopCloser?: boolean;\r\n onClose: () => void;\r\n}\r\n\r\nfunction DtvModal(props: Props) {\r\n let layerClasses = ['info-layer'];\r\n\r\n if (props.open) {\r\n layerClasses.push('layer-open');\r\n }\r\n if (props.verticalCenter) {\r\n layerClasses.push('info-layer-vertical-center');\r\n }\r\n if (props.fullScreenMobile) {\r\n layerClasses.push('info-layer-fullscreen-mobile');\r\n }\r\n if (props.withTopCloser) {\r\n layerClasses.push('info-layer-with-top-closer');\r\n }\r\n if (props.cssClasses) {\r\n layerClasses.push(props.cssClasses);\r\n }\r\n\r\n if (typeof window.dtvPreventModalBackgroundScroll === 'function') {\r\n window.dtvPreventModalBackgroundScroll();\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    {props.children}
    \r\n
    {\r\n props.onClose();\r\n if (typeof window.dtvPreventModalBackgroundScroll === 'function') {\r\n window.dtvPreventModalBackgroundScroll();\r\n }\r\n }}/>\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport {DtvModal};","import React from \"react\";\r\nimport {DtvModal} from \"./DtvModal\";\r\nimport {DtvIcon, DtvIconName} from \"../icons\";\r\n\r\ntype Props = {\r\n id?: string;\r\n cssClasses?: string;\r\n children: React.ReactNode;\r\n open: boolean;\r\n onClose: () => void;\r\n closeButtonText?: string;\r\n hasDiscreetDesktopCloser?: boolean;\r\n}\r\n\r\nfunction DtvModalFullScreenWithTopCloser(props: Props) {\r\n return (\r\n {\r\n props.onClose();\r\n if (typeof window.dtvPreventModalBackgroundScroll === 'function') {\r\n window.dtvPreventModalBackgroundScroll();\r\n }\r\n }}\r\n fullScreenMobile\r\n withTopCloser\r\n >\r\n
    {\r\n props.onClose();\r\n if (typeof window.dtvPreventModalBackgroundScroll === 'function') {\r\n window.dtvPreventModalBackgroundScroll();\r\n }\r\n }}>\r\n {props.closeButtonText ?? \"Stäng\"}\r\n \r\n
    \r\n {props.hasDiscreetDesktopCloser ?
    {\r\n props.onClose();\r\n if (typeof window.dtvPreventModalBackgroundScroll === 'function') {\r\n window.dtvPreventModalBackgroundScroll();\r\n }\r\n }}>
    : null}\r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nexport {DtvModalFullScreenWithTopCloser};","import React from \"react\";\r\nimport {DtvIcon, DtvIconName} from \"../icons\";\r\n\r\nexport const enum DtvModalCloserStyle {\r\n CircleX = \"CircleX\",\r\n X = \"X\",\r\n}\r\ntype Props = {\r\n onClose: () => void;\r\n style?: DtvModalCloserStyle;\r\n}\r\n\r\nfunction DtvModalCloser(props: Props) {\r\n return
    props.onClose()}>\r\n {!props.style || props.style === DtvModalCloserStyle.CircleX ? : }\r\n
    ;\r\n}\r\n\r\nexport default DtvModalCloser;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import React from 'react';\r\nimport { useEffect, useRef, HTMLAttributes } from 'react'\r\n\r\n/* eslint-disable-next-line */\r\ntype Props = HTMLAttributes & {\r\n html: string\r\n}\r\n\r\nexport function DangerouslySetHtmlContent({\r\n html,\r\n dangerouslySetInnerHTML,\r\n ...rest\r\n }: Props) {\r\n // We remove 'dangerouslySetInnerHTML' from props passed to the div\r\n const divRef = useRef(null)\r\n\r\n useEffect(() => {\r\n if (!html || !divRef.current) throw \"html prop cant't be null\"\r\n\r\n const slotHtml = document.createRange().createContextualFragment(html) // Create a 'tiny' document and parse the html string\r\n divRef.current.innerHTML = '' // Clear the container\r\n divRef.current.appendChild(slotHtml) // Append the new content\r\n }, [html, divRef])\r\n\r\n return
    \r\n}\r\n\r\nexport default DangerouslySetHtmlContent","import { DtvModalFullScreenWithTopCloser } from \"dtv-shared/src/components/modals\";\r\nimport { DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper } from \"dtv-shared/src/components/preloader\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport InnerHTML from 'dtv-shared/src/components/dangerously-set-html-content/DangerouslySetHtmlContent'\r\n\r\n\r\ntype Props = {\r\n loading: boolean;\r\n html: string;\r\n onClose: () => void;\r\n}\r\n\r\nfunction PaymentModal(props: Props) {\r\n const {t} = useTranslation();\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {props.loading ? \r\n \r\n {t('general:loading')}\r\n \r\n : \r\n }\r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default PaymentModal;","import * as React from 'react';\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\n\r\ntype Props = {\r\n label: string;\r\n subLabel: string;\r\n icon: JSX.Element;\r\n notifications: number;\r\n alert?: boolean;\r\n href: string;\r\n};\r\n\r\nfunction MainMenuItem(props: Props) {\r\n if (props.alert && props.notifications > 0) {\r\n throw new Error('cannot set alert and notifications at the same time!');\r\n }\r\n return (\r\n \r\n {props.icon}\r\n
    {props.label}
    \r\n
    {props.subLabel}
    \r\n {props.notifications > 0 ?
    {props.notifications}
    : ''}\r\n {props.alert ? : null}\r\n
    \r\n );\r\n}\r\n\r\nexport default MainMenuItem;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useAppState} from '../../overmind';\r\nimport MainMenuItem from \"./MainMenuItem\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {pageUrls} from \"../../page-urls\";\r\n\r\ntype Props = {\r\n sidebar: boolean;\r\n}\r\nfunction MainMenu(props : Props) {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n return (\r\n
    \r\n }\r\n label={t('mainMenu:menuItemBookingsLabel')}\r\n subLabel={t('mainMenu:menuItemBookingsSubLabel')}\r\n notifications={state.mainMenu.notificationsBookings}\r\n href={pageUrls.bookings.url()}\r\n />\r\n {state.login.bankIdPatient!.CanSeeHealthDeclarationPage(state.date.dateNow) ?\r\n }\r\n label={t('mainMenu:menuItemHealthLabel')}\r\n subLabel={t('mainMenu:menuItemHealthSubLabel')}\r\n notifications={state.mainMenu.notificationsHealth}\r\n href={pageUrls.health.url()}\r\n /> : null}\r\n }\r\n label={t('mainMenu:menuItemJournalLabel')}\r\n subLabel={t(state.login.bankIdPatient!.HasFreeDentalCare ? 'mainMenu:menuItemJournalSubLabelFreeDental' : 'mainMenu:menuItemJournalSubLabel')}\r\n notifications={state.mainMenu.notificationsJournal}\r\n href={pageUrls.journal.url()}\r\n />\r\n }\r\n label={t('mainMenu:menuItemInboxLabel')}\r\n subLabel={t('mainMenu:menuItemInboxSubLabel')}\r\n notifications={state.mainMenu.notificationsInbox}\r\n href={pageUrls.inbox.url()}\r\n />\r\n {state.login.bankIdPatient!.CanSeeChildrenPage(state.date.dateNow) ? }\r\n label={t('mainMenu:menuItemChildrenLabel', {context: state.mainMenu.displayContextChildren})}\r\n subLabel={t('mainMenu:menuItemChildrenSubLabel', {context: state.mainMenu.displayContextChildren})}\r\n notifications={0}\r\n alert={state.mainMenu.hasUnlistedChildren}\r\n href={pageUrls.children.url()}\r\n /> : null}\r\n }\r\n label={t('mainMenu:menuItemMyClinicsLabel')}\r\n subLabel={t('mainMenu:menuItemMyClinicsSubLabel')}\r\n notifications={0}\r\n href={pageUrls.myClinics.url()}\r\n />\r\n {state.login.bankIdPatient!.CanSeeAtbPage() ? }\r\n label={t('mainMenu:menuItemAtbLabel')}\r\n subLabel={t('mainMenu:menuItemAtbSubLabel')}\r\n notifications={0}\r\n href={pageUrls.atb.url()}\r\n /> : null}\r\n {state.login.bankIdPatient!.CanSeeReferralPage() ?\r\n }\r\n label={t('mainMenu:menuItemReferralLabel')}\r\n subLabel={t('mainMenu:menuItemReferralSubLabel')}\r\n notifications={state.mainMenu.notificationsReferral}\r\n href={pageUrls.referral.url()}\r\n /> : null}\r\n {state.login.bankIdPatient!.CanSeePersonalOffersPage() && state.mainMenu.notificationsPersonalOffers > 0?\r\n }\r\n label={t('mainMenu:menuItemPersonalOffersLabel')}\r\n subLabel={t('mainMenu:menuItemPersonalOffersSubLabel')}\r\n notifications={state.mainMenu.notificationsPersonalOffers}\r\n href={pageUrls.personalOffers.url()}\r\n />:null}\r\n }\r\n label={t('mainMenu:menuItemSettingsLabel')}\r\n subLabel={t('mainMenu:menuItemSettingsSubLabel')}\r\n notifications={state.mainMenu.settingsNotifications}\r\n href={pageUrls.settings.url()}\r\n />\r\n
    \r\n );\r\n}\r\n\r\nexport default MainMenu;\r\n","import * as React from 'react';\r\nimport {useActions, useAppState} from \"../../overmind\";\r\n\r\nfunction LanguageToggle() {\r\n const state = useAppState();\r\n const actions = useActions();\r\n return (\r\n
    {\r\n actions.language.toggleLanguage()\r\n}}/>\r\n );\r\n}\r\n\r\nexport default LanguageToggle;\r\n","export enum ValidationResult {\r\n Valid,\r\n Empty,\r\n Invalid,\r\n};\r\n\r\nexport const ValidatePersonalIdentityNumber = function (personalIdentityNumber: string): ValidationResult {\r\n personalIdentityNumber = personalIdentityNumber.trim();\r\n const len = personalIdentityNumber.length;\r\n if (!len) {\r\n return ValidationResult.Empty;\r\n }\r\n\r\n if (len < 10 || len > 13) {\r\n return ValidationResult.Invalid;\r\n }\r\n\r\n const luhn = function (number: string) {\r\n let k, sum, v, _i, _len, _ref;\r\n number = \"\" + number;\r\n sum = 0;\r\n _ref = number.split('');\r\n for (k = _i = 0, _len = _ref.length; _i < _len; k = ++_i) {\r\n v = Number(_ref[k]);\r\n v *= 2 - (k % 2);\r\n if (v > 9) {\r\n v -= 9;\r\n }\r\n sum += v;\r\n }\r\n return Math.ceil(sum / 10) * 10 - sum;\r\n };\r\n\r\n let cd, control, day, month, p, serial, year, _ref;\r\n let value = \"\" + personalIdentityNumber;\r\n p = value.match(/^(18|19|20|21){0,1}(\\d{2})(\\d{2})(\\d{2})([\\-]{0,1})(\\d{3})(\\d{0,1})$/);\r\n if (!p) {\r\n return ValidationResult.Invalid;\r\n }\r\n _ref = p.slice(2), year = _ref[0], month = _ref[1], day = _ref[2], serial = _ref[4], control = _ref[5];\r\n cd = luhn(\"\" + year + month + day + serial);\r\n if (Number(year) <= 0 && Number(month) <= 0) {\r\n return ValidationResult.Invalid;\r\n }\r\n if (Number(month) > 12 || Number(day) > 31 || Number(day) < 1 || Number(month) < 1) {\r\n return ValidationResult.Invalid;\r\n }\r\n console.log('year', year);\r\n console.log('month', month);\r\n console.log('day', day)\r\n let valid = cd === +control && !!control;\r\n if (!valid) {\r\n return ValidationResult.Invalid;\r\n }\r\n\r\n return ValidationResult.Valid;\r\n};\r\n\r\nexport const ValidateEmail = (email: string) : ValidationResult => {\r\n if (!email || email.length === 0)\r\n return ValidationResult.Empty;\r\n //ToDo review this regexp...\r\n let regexp = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/g;\r\n return regexp.test(email) && !/\\*/.test(email) ? ValidationResult.Valid : ValidationResult.Invalid;\r\n}\r\n\r\nexport const WashMobile = (mobile: string) : string => {\r\n // turn 0046 into 0\r\n mobile = mobile.replace(/^0046/, '0');\r\n\r\n // turn +46 into 0\r\n mobile = mobile.replace(/^\\+46/, '0');\r\n\r\n // remove all non digits\r\n mobile = mobile.replace(/\\D/g, '');\r\n\r\n return mobile;\r\n}\r\nexport const ValidateMobile = (mobile: string, washFirst?: boolean) : ValidationResult => {\r\n if (!mobile || mobile.length === 0)\r\n return ValidationResult.Empty;\r\n\r\n if (washFirst === true) {\r\n mobile = WashMobile(mobile);\r\n }\r\n\r\n let regexp = /^(((0|(\\+|00)46)7[02369])(\\d{7}))$/g;\r\n return regexp.test(mobile) ? ValidationResult.Valid : ValidationResult.Invalid;\r\n}","export const toTitleCase = (str: string) => {\r\n if (!str) {\r\n return str;\r\n }\r\n return str.replace(\r\n /[A-Za-zÀ-ÖØ-öø-ÿ][^ \\t\\r\\n\\f\\-]*/g,\r\n function(txt) {\r\n return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\r\n }\r\n );\r\n}\r\n\r\nexport const capitalizeFirstLetter = (str: string) => {\r\n if (!str) {\r\n return str;\r\n }\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n}\r\n\r\nexport const possessiveFirstName = (firstName: string, lang: string) => {\r\n if (firstName === null || firstName === '' || typeof firstName === 'undefined') {\r\n return '';\r\n }\r\n if (lang === 'en') {\r\n return firstName + \"'s\";\r\n }\r\n return firstName + (firstName.charAt(firstName.length-1) === 's' || firstName.charAt(firstName.length-1) === 'x' ? '' : 's');\r\n}\r\nexport const joinArray = (elements: string[], separator?: string | undefined, last?: string | undefined) => {\r\n if (elements.length === 0)\r\n return '';\r\n if (elements.length === 1)\r\n return elements[0];\r\n\r\n if (last){\r\n return elements.slice(0,-1).join(separator) + ' ' + last + ' ' + elements.slice(-1)[0];\r\n }\r\n\r\n return elements.join(separator);\r\n}\r\n\r\nexport const formatPostalCode = (str: string) => {\r\n if (str?.length === 5){\r\n return str.slice(0,3) + ' ' + str.slice(3);\r\n }\r\n return str;\r\n}\r\n\r\nexport const nl2br = (str: string) => {\r\n if (!str) {\r\n return str;\r\n }\r\n return str.replace(/(?:\\r\\n|\\r|\\n)/g, '
    ');\r\n}\r\n\r\nexport const condensePhone = (str: string) => {\r\n if (!str) {\r\n return str;\r\n }\r\n return str.replace('-', '').replace(' ', '').replace(' ', '');\r\n}","import dayjs from \"dayjs\";\r\nimport utc from \"dayjs/plugin/utc\";\r\nimport timezone from \"dayjs/plugin/timezone\";\r\ndayjs.extend(utc);\r\ndayjs.extend(timezone);\r\ndayjs.tz.setDefault(\"Europe/Stockholm\");\r\n\r\nexport function dateTimeStrToDayJs(dateTimeStr?: string | null) {\r\n if (!dateTimeStr) {\r\n return null;\r\n }\r\n\r\n // webforms\r\n if (dateTimeStr.substr(0,1) === '/') {\r\n return dayjs(parseInt(dateTimeStr.substr(6))).tz();\r\n }\r\n\r\n return dayjs(dateTimeStr);\r\n}","function _initializerDefineProperty(e, i, r, l) {\n r && Object.defineProperty(e, i, {\n enumerable: r.enumerable,\n configurable: r.configurable,\n writable: r.writable,\n value: r.initializer ? r.initializer.call(l) : void 0\n });\n}\nexport { _initializerDefineProperty as default };","function _applyDecoratedDescriptor(i, e, r, n, l) {\n var a = {};\n return Object.keys(n).forEach(function (i) {\n a[i] = n[i];\n }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, (\"value\" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) {\n return n(i, e, r) || r;\n }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a;\n}\nexport { _applyDecoratedDescriptor as default };","export enum TransformationType {\n PLAIN_TO_CLASS,\n CLASS_TO_PLAIN,\n CLASS_TO_CLASS,\n}\n","import { TypeMetadata, ExposeMetadata, ExcludeMetadata, TransformMetadata } from './interfaces';\nimport { TransformationType } from './enums';\n\n/**\n * Storage all library metadata.\n */\nexport class MetadataStorage {\n // -------------------------------------------------------------------------\n // Properties\n // -------------------------------------------------------------------------\n\n private _typeMetadatas = new Map>();\n private _transformMetadatas = new Map>();\n private _exposeMetadatas = new Map>();\n private _excludeMetadatas = new Map>();\n private _ancestorsMap = new Map();\n\n // -------------------------------------------------------------------------\n // Adder Methods\n // -------------------------------------------------------------------------\n\n addTypeMetadata(metadata: TypeMetadata): void {\n if (!this._typeMetadatas.has(metadata.target)) {\n this._typeMetadatas.set(metadata.target, new Map());\n }\n this._typeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n }\n\n addTransformMetadata(metadata: TransformMetadata): void {\n if (!this._transformMetadatas.has(metadata.target)) {\n this._transformMetadatas.set(metadata.target, new Map());\n }\n if (!this._transformMetadatas.get(metadata.target).has(metadata.propertyName)) {\n this._transformMetadatas.get(metadata.target).set(metadata.propertyName, []);\n }\n this._transformMetadatas.get(metadata.target).get(metadata.propertyName).push(metadata);\n }\n\n addExposeMetadata(metadata: ExposeMetadata): void {\n if (!this._exposeMetadatas.has(metadata.target)) {\n this._exposeMetadatas.set(metadata.target, new Map());\n }\n this._exposeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n }\n\n addExcludeMetadata(metadata: ExcludeMetadata): void {\n if (!this._excludeMetadatas.has(metadata.target)) {\n this._excludeMetadatas.set(metadata.target, new Map());\n }\n this._excludeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n findTransformMetadatas(\n target: Function,\n propertyName: string,\n transformationType: TransformationType\n ): TransformMetadata[] {\n return this.findMetadatas(this._transformMetadatas, target, propertyName).filter(metadata => {\n if (!metadata.options) return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true) return true;\n\n if (metadata.options.toClassOnly === true) {\n return (\n transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS\n );\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n\n return true;\n });\n }\n\n findExcludeMetadata(target: Function, propertyName: string): ExcludeMetadata {\n return this.findMetadata(this._excludeMetadatas, target, propertyName);\n }\n\n findExposeMetadata(target: Function, propertyName: string): ExposeMetadata {\n return this.findMetadata(this._exposeMetadatas, target, propertyName);\n }\n\n findExposeMetadataByCustomName(target: Function, name: string): ExposeMetadata {\n return this.getExposedMetadatas(target).find(metadata => {\n return metadata.options && metadata.options.name === name;\n });\n }\n\n findTypeMetadata(target: Function, propertyName: string): TypeMetadata {\n return this.findMetadata(this._typeMetadatas, target, propertyName);\n }\n\n getStrategy(target: Function): 'excludeAll' | 'exposeAll' | 'none' {\n const excludeMap = this._excludeMetadatas.get(target);\n const exclude = excludeMap && excludeMap.get(undefined);\n const exposeMap = this._exposeMetadatas.get(target);\n const expose = exposeMap && exposeMap.get(undefined);\n if ((exclude && expose) || (!exclude && !expose)) return 'none';\n return exclude ? 'excludeAll' : 'exposeAll';\n }\n\n getExposedMetadatas(target: Function): ExposeMetadata[] {\n return this.getMetadata(this._exposeMetadatas, target);\n }\n\n getExcludedMetadatas(target: Function): ExcludeMetadata[] {\n return this.getMetadata(this._excludeMetadatas, target);\n }\n\n getExposedProperties(target: Function, transformationType: TransformationType): string[] {\n return this.getExposedMetadatas(target)\n .filter(metadata => {\n if (!metadata.options) return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true) return true;\n\n if (metadata.options.toClassOnly === true) {\n return (\n transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS\n );\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n\n return true;\n })\n .map(metadata => metadata.propertyName);\n }\n\n getExcludedProperties(target: Function, transformationType: TransformationType): string[] {\n return this.getExcludedMetadatas(target)\n .filter(metadata => {\n if (!metadata.options) return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true) return true;\n\n if (metadata.options.toClassOnly === true) {\n return (\n transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS\n );\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n\n return true;\n })\n .map(metadata => metadata.propertyName);\n }\n\n clear(): void {\n this._typeMetadatas.clear();\n this._exposeMetadatas.clear();\n this._excludeMetadatas.clear();\n this._ancestorsMap.clear();\n }\n\n // -------------------------------------------------------------------------\n // Private Methods\n // -------------------------------------------------------------------------\n\n private getMetadata(\n metadatas: Map>,\n target: Function\n ): T[] {\n const metadataFromTargetMap = metadatas.get(target);\n let metadataFromTarget: T[];\n if (metadataFromTargetMap) {\n metadataFromTarget = Array.from(metadataFromTargetMap.values()).filter(meta => meta.propertyName !== undefined);\n }\n const metadataFromAncestors: T[] = [];\n for (const ancestor of this.getAncestors(target)) {\n const ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n const metadataFromAncestor = Array.from(ancestorMetadataMap.values()).filter(\n meta => meta.propertyName !== undefined\n );\n metadataFromAncestors.push(...metadataFromAncestor);\n }\n }\n return metadataFromAncestors.concat(metadataFromTarget || []);\n }\n\n private findMetadata(\n metadatas: Map>,\n target: Function,\n propertyName: string\n ): T {\n const metadataFromTargetMap = metadatas.get(target);\n if (metadataFromTargetMap) {\n const metadataFromTarget = metadataFromTargetMap.get(propertyName);\n if (metadataFromTarget) {\n return metadataFromTarget;\n }\n }\n for (const ancestor of this.getAncestors(target)) {\n const ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n const ancestorResult = ancestorMetadataMap.get(propertyName);\n if (ancestorResult) {\n return ancestorResult;\n }\n }\n }\n return undefined;\n }\n\n private findMetadatas(\n metadatas: Map>,\n target: Function,\n propertyName: string\n ): T[] {\n const metadataFromTargetMap = metadatas.get(target);\n let metadataFromTarget: T[];\n if (metadataFromTargetMap) {\n metadataFromTarget = metadataFromTargetMap.get(propertyName);\n }\n const metadataFromAncestorsTarget: T[] = [];\n for (const ancestor of this.getAncestors(target)) {\n const ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n if (ancestorMetadataMap.has(propertyName)) {\n metadataFromAncestorsTarget.push(...ancestorMetadataMap.get(propertyName));\n }\n }\n }\n return metadataFromAncestorsTarget\n .slice()\n .reverse()\n .concat((metadataFromTarget || []).slice().reverse());\n }\n\n private getAncestors(target: Function): Function[] {\n if (!target) return [];\n if (!this._ancestorsMap.has(target)) {\n const ancestors: Function[] = [];\n for (\n let baseClass = Object.getPrototypeOf(target.prototype.constructor);\n typeof baseClass.prototype !== 'undefined';\n baseClass = Object.getPrototypeOf(baseClass.prototype.constructor)\n ) {\n ancestors.push(baseClass);\n }\n this._ancestorsMap.set(target, ancestors);\n }\n return this._ancestorsMap.get(target);\n }\n}\n","import { MetadataStorage } from './MetadataStorage';\n\n/**\n * Default metadata storage is used as singleton and can be used to storage all metadatas.\n */\nexport const defaultMetadataStorage = new MetadataStorage();\n","import { defaultMetadataStorage } from '../storage';\nimport { TransformFnParams, TransformOptions } from '../interfaces';\n\n/**\n * Defines a custom logic for value transformation.\n *\n * Can be applied to properties only.\n */\nexport function Transform(\n transformFn: (params: TransformFnParams) => any,\n options: TransformOptions = {}\n): PropertyDecorator {\n return function (target: any, propertyName: string | Symbol): void {\n defaultMetadataStorage.addTransformMetadata({\n target: target.constructor,\n propertyName: propertyName as string,\n transformFn,\n options,\n });\n };\n}\n","import { defaultMetadataStorage } from '../storage';\nimport { TypeHelpOptions, TypeOptions } from '../interfaces';\n\n/**\n * Specifies a type of the property.\n * The given TypeFunction can return a constructor. A discriminator can be given in the options.\n *\n * Can be applied to properties only.\n */\nexport function Type(\n typeFunction?: (type?: TypeHelpOptions) => Function,\n options: TypeOptions = {}\n): PropertyDecorator {\n return function (target: any, propertyName: string | Symbol): void {\n const reflectedType = (Reflect as any).getMetadata('design:type', target, propertyName);\n defaultMetadataStorage.addTypeMetadata({\n target: target.constructor,\n propertyName: propertyName as string,\n reflectedType,\n typeFunction,\n options,\n });\n };\n}\n","import { defaultMetadataStorage } from './storage';\nimport { ClassTransformOptions, TypeHelpOptions, TypeMetadata, TypeOptions } from './interfaces';\nimport { TransformationType } from './enums';\nimport { getGlobal, isPromise } from './utils';\n\nfunction instantiateArrayType(arrayType: Function): Array | Set {\n const array = new (arrayType as any)();\n if (!(array instanceof Set) && !('push' in array)) {\n return [];\n }\n return array;\n}\n\nexport class TransformOperationExecutor {\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n\n private recursionStack = new Set>();\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(private transformationType: TransformationType, private options: ClassTransformOptions) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n transform(\n source: Record | Record[] | any,\n value: Record | Record[] | any,\n targetType: Function | TypeMetadata,\n arrayType: Function,\n isMap: boolean,\n level: number = 0\n ): any {\n if (Array.isArray(value) || value instanceof Set) {\n const newValue =\n arrayType && this.transformationType === TransformationType.PLAIN_TO_CLASS\n ? instantiateArrayType(arrayType)\n : [];\n (value as any[]).forEach((subValue, index) => {\n const subSource = source ? source[index] : undefined;\n if (!this.options.enableCircularCheck || !this.isCircular(subValue)) {\n let realTargetType;\n if (\n typeof targetType !== 'function' &&\n targetType &&\n targetType.options &&\n targetType.options.discriminator &&\n targetType.options.discriminator.property &&\n targetType.options.discriminator.subTypes\n ) {\n if (this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n realTargetType = targetType.options.discriminator.subTypes.find(\n subType =>\n subType.name === subValue[(targetType as { options: TypeOptions }).options.discriminator.property]\n );\n const options: TypeHelpOptions = { newObject: newValue, object: subValue, property: undefined };\n const newType = targetType.typeFunction(options);\n realTargetType === undefined ? (realTargetType = newType) : (realTargetType = realTargetType.value);\n if (!targetType.options.keepDiscriminatorProperty)\n delete subValue[targetType.options.discriminator.property];\n }\n\n if (this.transformationType === TransformationType.CLASS_TO_CLASS) {\n realTargetType = subValue.constructor;\n }\n if (this.transformationType === TransformationType.CLASS_TO_PLAIN) {\n subValue[targetType.options.discriminator.property] = targetType.options.discriminator.subTypes.find(\n subType => subType.value === subValue.constructor\n ).name;\n }\n } else {\n realTargetType = targetType;\n }\n const value = this.transform(\n subSource,\n subValue,\n realTargetType,\n undefined,\n subValue instanceof Map,\n level + 1\n );\n\n if (newValue instanceof Set) {\n newValue.add(value);\n } else {\n newValue.push(value);\n }\n } else if (this.transformationType === TransformationType.CLASS_TO_CLASS) {\n if (newValue instanceof Set) {\n newValue.add(subValue);\n } else {\n newValue.push(subValue);\n }\n }\n });\n return newValue;\n } else if (targetType === String && !isMap) {\n if (value === null || value === undefined) return value;\n return String(value);\n } else if (targetType === Number && !isMap) {\n if (value === null || value === undefined) return value;\n return Number(value);\n } else if (targetType === Boolean && !isMap) {\n if (value === null || value === undefined) return value;\n return Boolean(value);\n } else if ((targetType === Date || value instanceof Date) && !isMap) {\n if (value instanceof Date) {\n return new Date(value.valueOf());\n }\n if (value === null || value === undefined) return value;\n return new Date(value);\n } else if (!!getGlobal().Buffer && (targetType === Buffer || value instanceof Buffer) && !isMap) {\n if (value === null || value === undefined) return value;\n return Buffer.from(value);\n } else if (isPromise(value) && !isMap) {\n return new Promise((resolve, reject) => {\n value.then(\n (data: any) => resolve(this.transform(undefined, data, targetType, undefined, undefined, level + 1)),\n reject\n );\n });\n } else if (!isMap && value !== null && typeof value === 'object' && typeof value.then === 'function') {\n // Note: We should not enter this, as promise has been handled above\n // This option simply returns the Promise preventing a JS error from happening and should be an inaccessible path.\n return value; // skip promise transformation\n } else if (typeof value === 'object' && value !== null) {\n // try to guess the type\n if (!targetType && value.constructor !== Object /* && TransformationType === TransformationType.CLASS_TO_PLAIN*/)\n if (!Array.isArray(value) && value.constructor === Array) {\n // Somebody attempts to convert special Array like object to Array, eg:\n // const evilObject = { '100000000': '100000000', __proto__: [] };\n // This could be used to cause Denial-of-service attack so we don't allow it.\n // See prevent-array-bomb.spec.ts for more details.\n } else {\n // We are good we can use the built-in constructor\n targetType = value.constructor;\n }\n if (!targetType && source) targetType = source.constructor;\n\n if (this.options.enableCircularCheck) {\n // add transformed type to prevent circular references\n this.recursionStack.add(value);\n }\n\n const keys = this.getKeys(targetType as Function, value, isMap);\n let newValue: any = source ? source : {};\n if (\n !source &&\n (this.transformationType === TransformationType.PLAIN_TO_CLASS ||\n this.transformationType === TransformationType.CLASS_TO_CLASS)\n ) {\n if (isMap) {\n newValue = new Map();\n } else if (targetType) {\n newValue = new (targetType as any)();\n } else {\n newValue = {};\n }\n }\n\n // traverse over keys\n for (const key of keys) {\n if (key === '__proto__' || key === 'constructor') {\n continue;\n }\n\n const valueKey = key;\n let newValueKey = key,\n propertyName = key;\n if (!this.options.ignoreDecorators && targetType) {\n if (this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadataByCustomName(targetType as Function, key);\n if (exposeMetadata) {\n propertyName = exposeMetadata.propertyName;\n newValueKey = exposeMetadata.propertyName;\n }\n } else if (\n this.transformationType === TransformationType.CLASS_TO_PLAIN ||\n this.transformationType === TransformationType.CLASS_TO_CLASS\n ) {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(targetType as Function, key);\n if (exposeMetadata && exposeMetadata.options && exposeMetadata.options.name) {\n newValueKey = exposeMetadata.options.name;\n }\n }\n }\n\n // get a subvalue\n let subValue: any = undefined;\n if (this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n /**\n * This section is added for the following report:\n * https://github.com/typestack/class-transformer/issues/596\n *\n * We should not call functions or constructors when transforming to class.\n */\n subValue = value[valueKey];\n } else {\n if (value instanceof Map) {\n subValue = value.get(valueKey);\n } else if (value[valueKey] instanceof Function) {\n subValue = value[valueKey]();\n } else {\n subValue = value[valueKey];\n }\n }\n\n // determine a type\n let type: any = undefined,\n isSubValueMap = subValue instanceof Map;\n if (targetType && isMap) {\n type = targetType;\n } else if (targetType) {\n const metadata = defaultMetadataStorage.findTypeMetadata(targetType as Function, propertyName);\n if (metadata) {\n const options: TypeHelpOptions = { newObject: newValue, object: value, property: propertyName };\n const newType = metadata.typeFunction ? metadata.typeFunction(options) : metadata.reflectedType;\n if (\n metadata.options &&\n metadata.options.discriminator &&\n metadata.options.discriminator.property &&\n metadata.options.discriminator.subTypes\n ) {\n if (!(value[valueKey] instanceof Array)) {\n if (this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n type = metadata.options.discriminator.subTypes.find(subType => {\n if (subValue && subValue instanceof Object && metadata.options.discriminator.property in subValue) {\n return subType.name === subValue[metadata.options.discriminator.property];\n }\n });\n type === undefined ? (type = newType) : (type = type.value);\n if (!metadata.options.keepDiscriminatorProperty) {\n if (subValue && subValue instanceof Object && metadata.options.discriminator.property in subValue) {\n delete subValue[metadata.options.discriminator.property];\n }\n }\n }\n if (this.transformationType === TransformationType.CLASS_TO_CLASS) {\n type = subValue.constructor;\n }\n if (this.transformationType === TransformationType.CLASS_TO_PLAIN) {\n if (subValue) {\n subValue[metadata.options.discriminator.property] = metadata.options.discriminator.subTypes.find(\n subType => subType.value === subValue.constructor\n ).name;\n }\n }\n } else {\n type = metadata;\n }\n } else {\n type = newType;\n }\n isSubValueMap = isSubValueMap || metadata.reflectedType === Map;\n } else if (this.options.targetMaps) {\n // try to find a type in target maps\n this.options.targetMaps\n .filter(map => map.target === targetType && !!map.properties[propertyName])\n .forEach(map => (type = map.properties[propertyName]));\n } else if (\n this.options.enableImplicitConversion &&\n this.transformationType === TransformationType.PLAIN_TO_CLASS\n ) {\n // if we have no registererd type via the @Type() decorator then we check if we have any\n // type declarations in reflect-metadata (type declaration is emited only if some decorator is added to the property.)\n const reflectedType = (Reflect as any).getMetadata(\n 'design:type',\n (targetType as Function).prototype,\n propertyName\n );\n\n if (reflectedType) {\n type = reflectedType;\n }\n }\n }\n\n // if value is an array try to get its custom array type\n const arrayType = Array.isArray(value[valueKey])\n ? this.getReflectedType(targetType as Function, propertyName)\n : undefined;\n\n // const subValueKey = TransformationType === TransformationType.PLAIN_TO_CLASS && newKeyName ? newKeyName : key;\n const subSource = source ? source[valueKey] : undefined;\n\n // if its deserialization then type if required\n // if we uncomment this types like string[] will not work\n // if (this.transformationType === TransformationType.PLAIN_TO_CLASS && !type && subValue instanceof Object && !(subValue instanceof Date))\n // throw new Error(`Cannot determine type for ${(targetType as any).name }.${propertyName}, did you forget to specify a @Type?`);\n\n // if newValue is a source object that has method that match newKeyName then skip it\n if (newValue.constructor.prototype) {\n const descriptor = Object.getOwnPropertyDescriptor(newValue.constructor.prototype, newValueKey);\n if (\n (this.transformationType === TransformationType.PLAIN_TO_CLASS ||\n this.transformationType === TransformationType.CLASS_TO_CLASS) &&\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ((descriptor && !descriptor.set) || newValue[newValueKey] instanceof Function)\n )\n // || TransformationType === TransformationType.CLASS_TO_CLASS\n continue;\n }\n\n if (!this.options.enableCircularCheck || !this.isCircular(subValue)) {\n const transformKey = this.transformationType === TransformationType.PLAIN_TO_CLASS ? newValueKey : key;\n let finalValue;\n\n if (this.transformationType === TransformationType.CLASS_TO_PLAIN) {\n // Get original value\n finalValue = value[transformKey];\n // Apply custom transformation\n finalValue = this.applyCustomTransformations(\n finalValue,\n targetType as Function,\n transformKey,\n value,\n this.transformationType\n );\n // If nothing change, it means no custom transformation was applied, so use the subValue.\n finalValue = value[transformKey] === finalValue ? subValue : finalValue;\n // Apply the default transformation\n finalValue = this.transform(subSource, finalValue, type, arrayType, isSubValueMap, level + 1);\n } else {\n if (subValue === undefined && this.options.exposeDefaultValues) {\n // Set default value if nothing provided\n finalValue = newValue[newValueKey];\n } else {\n finalValue = this.transform(subSource, subValue, type, arrayType, isSubValueMap, level + 1);\n finalValue = this.applyCustomTransformations(\n finalValue,\n targetType as Function,\n transformKey,\n value,\n this.transformationType\n );\n }\n }\n\n if (finalValue !== undefined || this.options.exposeUnsetFields) {\n if (newValue instanceof Map) {\n newValue.set(newValueKey, finalValue);\n } else {\n newValue[newValueKey] = finalValue;\n }\n }\n } else if (this.transformationType === TransformationType.CLASS_TO_CLASS) {\n let finalValue = subValue;\n finalValue = this.applyCustomTransformations(\n finalValue,\n targetType as Function,\n key,\n value,\n this.transformationType\n );\n if (finalValue !== undefined || this.options.exposeUnsetFields) {\n if (newValue instanceof Map) {\n newValue.set(newValueKey, finalValue);\n } else {\n newValue[newValueKey] = finalValue;\n }\n }\n }\n }\n\n if (this.options.enableCircularCheck) {\n this.recursionStack.delete(value);\n }\n\n return newValue;\n } else {\n return value;\n }\n }\n\n private applyCustomTransformations(\n value: any,\n target: Function,\n key: string,\n obj: any,\n transformationType: TransformationType\n ): boolean {\n let metadatas = defaultMetadataStorage.findTransformMetadatas(target, key, this.transformationType);\n\n // apply versioning options\n if (this.options.version !== undefined) {\n metadatas = metadatas.filter(metadata => {\n if (!metadata.options) return true;\n\n return this.checkVersion(metadata.options.since, metadata.options.until);\n });\n }\n\n // apply grouping options\n if (this.options.groups && this.options.groups.length) {\n metadatas = metadatas.filter(metadata => {\n if (!metadata.options) return true;\n\n return this.checkGroups(metadata.options.groups);\n });\n } else {\n metadatas = metadatas.filter(metadata => {\n return !metadata.options || !metadata.options.groups || !metadata.options.groups.length;\n });\n }\n\n metadatas.forEach(metadata => {\n value = metadata.transformFn({ value, key, obj, type: transformationType, options: this.options });\n });\n\n return value;\n }\n\n // preventing circular references\n private isCircular(object: Record): boolean {\n return this.recursionStack.has(object);\n }\n\n private getReflectedType(target: Function, propertyName: string): Function | undefined {\n if (!target) return undefined;\n const meta = defaultMetadataStorage.findTypeMetadata(target, propertyName);\n return meta ? meta.reflectedType : undefined;\n }\n\n private getKeys(target: Function, object: Record, isMap: boolean): string[] {\n // determine exclusion strategy\n let strategy = defaultMetadataStorage.getStrategy(target);\n if (strategy === 'none') strategy = this.options.strategy || 'exposeAll'; // exposeAll is default strategy\n\n // get all keys that need to expose\n let keys: any[] = [];\n if (strategy === 'exposeAll' || isMap) {\n if (object instanceof Map) {\n keys = Array.from(object.keys());\n } else {\n keys = Object.keys(object);\n }\n }\n\n if (isMap) {\n // expose & exclude do not apply for map keys only to fields\n return keys;\n }\n\n /**\n * If decorators are ignored but we don't want the extraneous values, then we use the\n * metadata to decide which property is needed, but doesn't apply the decorator effect.\n */\n if (this.options.ignoreDecorators && this.options.excludeExtraneousValues && target) {\n const exposedProperties = defaultMetadataStorage.getExposedProperties(target, this.transformationType);\n const excludedProperties = defaultMetadataStorage.getExcludedProperties(target, this.transformationType);\n keys = [...exposedProperties, ...excludedProperties];\n }\n\n if (!this.options.ignoreDecorators && target) {\n // add all exposed to list of keys\n let exposedProperties = defaultMetadataStorage.getExposedProperties(target, this.transformationType);\n if (this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n exposedProperties = exposedProperties.map(key => {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (exposeMetadata && exposeMetadata.options && exposeMetadata.options.name) {\n return exposeMetadata.options.name;\n }\n\n return key;\n });\n }\n if (this.options.excludeExtraneousValues) {\n keys = exposedProperties;\n } else {\n keys = keys.concat(exposedProperties);\n }\n\n // exclude excluded properties\n const excludedProperties = defaultMetadataStorage.getExcludedProperties(target, this.transformationType);\n if (excludedProperties.length > 0) {\n keys = keys.filter(key => {\n return !excludedProperties.includes(key);\n });\n }\n\n // apply versioning options\n if (this.options.version !== undefined) {\n keys = keys.filter(key => {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (!exposeMetadata || !exposeMetadata.options) return true;\n\n return this.checkVersion(exposeMetadata.options.since, exposeMetadata.options.until);\n });\n }\n\n // apply grouping options\n if (this.options.groups && this.options.groups.length) {\n keys = keys.filter(key => {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (!exposeMetadata || !exposeMetadata.options) return true;\n\n return this.checkGroups(exposeMetadata.options.groups);\n });\n } else {\n keys = keys.filter(key => {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n return (\n !exposeMetadata ||\n !exposeMetadata.options ||\n !exposeMetadata.options.groups ||\n !exposeMetadata.options.groups.length\n );\n });\n }\n }\n\n // exclude prefixed properties\n if (this.options.excludePrefixes && this.options.excludePrefixes.length) {\n keys = keys.filter(key =>\n this.options.excludePrefixes.every(prefix => {\n return key.substr(0, prefix.length) !== prefix;\n })\n );\n }\n\n // make sure we have unique keys\n keys = keys.filter((key, index, self) => {\n return self.indexOf(key) === index;\n });\n\n return keys;\n }\n\n private checkVersion(since: number, until: number): boolean {\n let decision = true;\n if (decision && since) decision = this.options.version >= since;\n if (decision && until) decision = this.options.version < until;\n\n return decision;\n }\n\n private checkGroups(groups: string[]): boolean {\n if (!groups) return true;\n\n return this.options.groups.some(optionGroup => groups.includes(optionGroup));\n }\n}\n","export function isPromise(p: any): p is Promise {\n return p !== null && typeof p === 'object' && typeof p.then === 'function';\n}\n","/**\n * This function returns the global object across Node and browsers.\n *\n * Note: `globalThis` is the standardized approach however it has been added to\n * Node.js in version 12. We need to include this snippet until Node 12 EOL.\n */\nexport function getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'window'.\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'window'.\n return window;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'self'.\n if (typeof self !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'self'.\n return self;\n }\n}\n","import { ClassTransformOptions } from '../interfaces/class-transformer-options.interface';\n\n/**\n * These are the default options used by any transformation operation.\n */\nexport const defaultOptions: Partial = {\n enableCircularCheck: false,\n enableImplicitConversion: false,\n excludeExtraneousValues: false,\n excludePrefixes: undefined,\n exposeDefaultValues: false,\n exposeUnsetFields: true,\n groups: undefined,\n ignoreDecorators: false,\n strategy: undefined,\n targetMaps: undefined,\n version: undefined,\n};\n","import { ClassTransformOptions } from './interfaces';\nimport { TransformOperationExecutor } from './TransformOperationExecutor';\nimport { TransformationType } from './enums';\nimport { ClassConstructor } from './interfaces';\nimport { defaultOptions } from './constants/default-options.constant';\n\nexport class ClassTransformer {\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Converts class (constructor) object to plain (literal) object. Also works with arrays.\n */\n instanceToPlain>(object: T, options?: ClassTransformOptions): Record;\n instanceToPlain>(object: T[], options?: ClassTransformOptions): Record[];\n instanceToPlain>(\n object: T | T[],\n options?: ClassTransformOptions\n ): Record | Record[] {\n const executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, {\n ...defaultOptions,\n ...options,\n });\n return executor.transform(undefined, object, undefined, undefined, undefined, undefined);\n }\n\n /**\n * Converts class (constructor) object to plain (literal) object.\n * Uses given plain object as source object (it means fills given plain object with data from class object).\n * Also works with arrays.\n */\n classToPlainFromExist, P>(\n object: T,\n plainObject: P,\n options?: ClassTransformOptions\n ): T;\n classToPlainFromExist, P>(\n object: T,\n plainObjects: P[],\n options?: ClassTransformOptions\n ): T[];\n classToPlainFromExist, P>(\n object: T,\n plainObject: P | P[],\n options?: ClassTransformOptions\n ): T | T[] {\n const executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, {\n ...defaultOptions,\n ...options,\n });\n return executor.transform(plainObject, object, undefined, undefined, undefined, undefined);\n }\n\n /**\n * Converts plain (literal) object to class (constructor) object. Also works with arrays.\n */\n plainToInstance, V extends Array>(\n cls: ClassConstructor,\n plain: V,\n options?: ClassTransformOptions\n ): T[];\n plainToInstance, V>(\n cls: ClassConstructor,\n plain: V,\n options?: ClassTransformOptions\n ): T;\n plainToInstance, V>(\n cls: ClassConstructor,\n plain: V | V[],\n options?: ClassTransformOptions\n ): T | T[] {\n const executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, {\n ...defaultOptions,\n ...options,\n });\n return executor.transform(undefined, plain, cls, undefined, undefined, undefined);\n }\n\n /**\n * Converts plain (literal) object to class (constructor) object.\n * Uses given object as source object (it means fills given object with data from plain object).\n * Also works with arrays.\n */\n plainToClassFromExist, V extends Array>(\n clsObject: T,\n plain: V,\n options?: ClassTransformOptions\n ): T;\n plainToClassFromExist, V>(clsObject: T, plain: V, options?: ClassTransformOptions): T[];\n plainToClassFromExist, V>(\n clsObject: T,\n plain: V | V[],\n options?: ClassTransformOptions\n ): T | T[] {\n const executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, {\n ...defaultOptions,\n ...options,\n });\n return executor.transform(clsObject, plain, undefined, undefined, undefined, undefined);\n }\n\n /**\n * Converts class (constructor) object to new class (constructor) object. Also works with arrays.\n */\n instanceToInstance(object: T, options?: ClassTransformOptions): T;\n instanceToInstance(object: T[], options?: ClassTransformOptions): T[];\n instanceToInstance(object: T | T[], options?: ClassTransformOptions): T | T[] {\n const executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, {\n ...defaultOptions,\n ...options,\n });\n return executor.transform(undefined, object, undefined, undefined, undefined, undefined);\n }\n\n /**\n * Converts class (constructor) object to plain (literal) object.\n * Uses given plain object as source object (it means fills given plain object with data from class object).\n * Also works with arrays.\n */\n classToClassFromExist(object: T, fromObject: T, options?: ClassTransformOptions): T;\n classToClassFromExist(object: T, fromObjects: T[], options?: ClassTransformOptions): T[];\n classToClassFromExist(object: T, fromObject: T | T[], options?: ClassTransformOptions): T | T[] {\n const executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, {\n ...defaultOptions,\n ...options,\n });\n return executor.transform(fromObject, object, undefined, undefined, undefined, undefined);\n }\n\n /**\n * Serializes given object to a JSON string.\n */\n serialize(object: T, options?: ClassTransformOptions): string;\n serialize(object: T[], options?: ClassTransformOptions): string;\n serialize(object: T | T[], options?: ClassTransformOptions): string {\n return JSON.stringify(this.instanceToPlain(object, options));\n }\n\n /**\n * Deserializes given JSON string to a object of the given class.\n */\n deserialize(cls: ClassConstructor, json: string, options?: ClassTransformOptions): T {\n const jsonObject: T = JSON.parse(json);\n return this.plainToInstance(cls, jsonObject, options);\n }\n\n /**\n * Deserializes given JSON string to an array of objects of the given class.\n */\n deserializeArray(cls: ClassConstructor, json: string, options?: ClassTransformOptions): T[] {\n const jsonObject: any[] = JSON.parse(json);\n return this.plainToInstance(cls, jsonObject, options);\n }\n}\n","export default class PatientSettings {\r\n SendReminderSMS!: boolean;\r\n SendReminderEmail!: boolean;\r\n SendRecallSMS!: boolean;\r\n SendRecallEmail!: boolean;\r\n SendRecallLetter!: boolean;\r\n SendInfoSMS!: boolean;\r\n SendInfoEmail!: boolean;\r\n\r\n SendingBy() : string[] {\r\n let methods: string[] = [];\r\n\r\n if (this.SendReminderSMS || this.SendRecallSMS) {\r\n methods.push('sms');\r\n }\r\n if (this.SendReminderEmail || this.SendRecallEmail) {\r\n methods.push('email');\r\n }\r\n if (this.SendRecallLetter) {\r\n methods.push('letter');\r\n }\r\n return methods;\r\n }\r\n}","// https://github.com/typestack/class-transformer\r\nexport default class ClinicArea {\r\n NameSv!: string;\r\n NameEn!: string;\r\n Order!: number;\r\n\r\n Name(lang: string): string {\r\n return lang === \"sv\" ? this.NameSv : this.NameEn;\r\n }\r\n}","// https://github.com/typestack/class-transformer#working-with-nested-objects\r\nimport {Type} from 'class-transformer';\r\nimport ClinicArea from \"./ClinicArea\";\r\nimport {formatPostalCode} from \"../../../functions/strings\";\r\n\r\nexport default class Clinic {\r\n ClinicDataId!: number;\r\n OpusId!: number;\r\n LocalizationTitleFormatted!: string;\r\n LocalizationTitleShortFormatted!: string;\r\n Name!: string;\r\n OrgNo!: string | null;\r\n @Type(() => ClinicArea)\r\n Areas!: ClinicArea[];\r\n\r\n Lat!: number | null;\r\n Lng!: number | null;\r\n\r\n DoorCode!: string | null;\r\n RoadDescriptionSv!: string | null;\r\n RoadDescriptionEn!: string | null;\r\n RoadReferenceSv!: string | null;\r\n RoadReferenceEn!: string | null;\r\n GoogleMapsUrl!: string | null;\r\n AcceptsOnlineListings!: boolean;\r\n AcceptsChildren!: boolean;\r\n RequiresRemittance!: boolean;\r\n RequiresManualBooking!: boolean;\r\n\r\n Email!: string;\r\n Phone!: string;\r\n\r\n Address1!: string;\r\n Address2!: string | null;\r\n PostalCode!: string;\r\n City!: string;\r\n PhotoUrl!: string | null;\r\n\r\n LocalizationTitleCleaned() : string {\r\n return this.LocalizationTitleFormatted.replace('', '').replace('', '');\r\n }\r\n\r\n AddressInline() {\r\n return this.Address1 + ', ' + formatPostalCode(this.PostalCode) + ' ' + this.City;\r\n }\r\n //todo Format for display?\r\n GetPhone(condensed: boolean) : string {\r\n let phone;\r\n if (this.Phone) {\r\n phone = this.Phone;\r\n } else {\r\n phone = \"010-550 15 00\";\r\n }\r\n if (condensed) {\r\n phone = phone.replace('-', '').replace(' ', '');\r\n }\r\n return phone;\r\n }\r\n GetEmail() : string {\r\n if (this.Email) return this.Email;\r\n return \"support@distriktstandvarden.se\";\r\n }\r\n GetBookingUrl(): string {\r\n return '/boka-tid/'+this.OpusId+'-'+this.Name.replace(' ', '').toLowerCase();\r\n }\r\n IsBookableOnline(): boolean {\r\n return !this.RequiresRemittance && !this.RequiresManualBooking;\r\n }\r\n}","export default class Employee {\r\n Id!: number;\r\n TitleSv!: string;\r\n TitleEn!: string;\r\n Name!: string;\r\n Image!: string;\r\n\r\n ImageUrl() {\r\n return process.env.REACT_APP_BOOKING_BASE_URL + '/' + this.Image;\r\n }\r\n\r\n TitleAndName(lang: string) {\r\n return (lang === 'sv' ? this.TitleSv : this.TitleEn) + \" \" + this.Name;\r\n }\r\n}","import {plainToClass, Type} from 'class-transformer';\r\nimport Clinic from \"./Clinic\";\r\nimport Employee from \"./Employee\";\r\n\r\nexport enum PatientListingDentistStatusEnum\r\n{\r\n Called = \"Called\",\r\n NoPat = \"NoPat\",\r\n NoDRev = \"NoDRev\",\r\n ChildListed = \"ChildListed\",\r\n ChildWaitingEnlist = \"ChildWaitingEnlist\",\r\n ChildWaitingMove = \"ChildWaitingMove\",\r\n HasDentist = \"HasDentist\",\r\n DentistWaiting = \"DentistWaiting\",\r\n EnlistWaiting = \"EnlistWaiting\",\r\n}\r\n\r\nexport enum PatientListingHygienistStatusEnum\r\n{\r\n NoHygienist = \"NoHygienist\",\r\n WaitingHygienist = \"WaitingHygienist\",\r\n HasHygienist = \"HasHygienist\",\r\n}\r\n\r\nexport default class PatientListingStatus {\r\n DentistStatus!: PatientListingDentistStatusEnum;\r\n\r\n @Type(() => Clinic)\r\n DentistClinic!: Clinic | null;\r\n\r\n @Type(() => Employee)\r\n DentistEmployee!: Employee | null;\r\n\r\n HygienistStatus!: PatientListingHygienistStatusEnum;\r\n\r\n @Type(() => Clinic)\r\n HygienistClinic!: Clinic | null;\r\n\r\n @Type(() => Employee)\r\n HygienistEmployee!: Employee | null;\r\n\r\n ListedAtClinic() : Clinic | null {\r\n switch(this.DentistStatus) {\r\n case PatientListingDentistStatusEnum.NoPat:\r\n case PatientListingDentistStatusEnum.NoDRev:\r\n return null;\r\n }\r\n return this.DentistClinic;\r\n }\r\n ChildWaiting() : boolean {\r\n switch (this.DentistStatus) {\r\n case PatientListingDentistStatusEnum.ChildWaitingEnlist:\r\n case PatientListingDentistStatusEnum.ChildWaitingMove:\r\n return true;\r\n }\r\n return false;\r\n }\r\n static PlainToClass(data: {}) {\r\n return plainToClass(PatientListingStatus, data);\r\n }\r\n}","import {formatPostalCode, possessiveFirstName} from \"../../../functions/strings\";\r\nimport {plainToClass, Transform, Type} from 'class-transformer';\r\nimport dayjs, {Dayjs} from \"dayjs\";\r\nimport {dateTimeStrToDayJs} from \"../../../functions/date\";\r\nimport PatientSettings from \"./PatientSettings\";\r\nimport PatientListingStatus from \"./PatientListingStatus\";\r\nimport {arrayUnique} from \"../../../functions/arrays\";\r\n\r\n\r\nexport enum Gender {\r\n Male = \"Male\",\r\n Female = \"Female\",\r\n}\r\n\r\nexport default class Patient {\r\n Id!: number | null;\r\n FirstName!: string;\r\n LastName!: string;\r\n Pnr!: string;\r\n CustomerNo!: number | null;\r\n\r\n @Transform(({ value }) => dateTimeStrToDayJs(value))\r\n BirthDate!: Dayjs;\r\n\r\n Mobile!: string;\r\n Email!: string;\r\n\r\n Address!: string;\r\n CoAddress!: string;\r\n PostalCode!: string;\r\n City!: string;\r\n HasFreeDentalCare!: boolean;\r\n Active!: boolean;\r\n CanConsentToReceivingPromotions!: boolean;\r\n\r\n IsChildListedOrWaiting!: boolean | null;\r\n\r\n PhoneArea!: string;\r\n\r\n @Type(() => PatientListingStatus)\r\n PatientListingStatus!: PatientListingStatus;\r\n\r\n @Type(() => PatientSettings)\r\n PatientSettings!: PatientSettings | null;\r\n\r\n FullName() {\r\n return this.FirstName + \" \" + this.LastName;\r\n }\r\n PossessiveFirstName(lang: string) {\r\n return possessiveFirstName(this.FirstName, lang);\r\n }\r\n FirstNamePossessive(lang: string) {\r\n return this.PossessiveFirstName(lang);\r\n }\r\n AddressInline() {\r\n return this.Address + ', ' + formatPostalCode(this.PostalCode) + ' ' + this.City;\r\n }\r\n Age(dateNow: Dayjs): number {\r\n return dateNow.diff(this.BirthDate,'year', false);\r\n }\r\n AgeThisYear(dateNow: Dayjs): number {\r\n return dateNow.year() - dayjs(this.BirthDate).year();\r\n }\r\n IsOver13(dateNow: Dayjs): boolean {\r\n return this.Age(dateNow) >= 13;\r\n }\r\n IsChild(dateNow: Dayjs): boolean {\r\n return this.Age(dateNow) < 18;\r\n }\r\n IsYouth(dateNow: Dayjs, childMaxAge: number): boolean {\r\n return this.Age(dateNow) >= 18 && this.AgeThisYear(dateNow) <= childMaxAge;\r\n }\r\n IsChildOrYouth(dateNow: Dayjs, childMaxAge: number): boolean {\r\n return this.IsChild(dateNow) || this.IsYouth(dateNow, childMaxAge);\r\n }\r\n SendingBy() : string[] {\r\n let methods: string[] = [];\r\n\r\n if (this.PatientSettings?.SendReminderSMS || this.PatientSettings?.SendRecallSMS) {\r\n methods.push('sms');\r\n }\r\n if (this.PatientSettings?.SendReminderEmail || this.PatientSettings?.SendRecallEmail) {\r\n methods.push('email');\r\n }\r\n if (this.PatientSettings?.SendRecallLetter) {\r\n methods.push('letter');\r\n }\r\n return methods;\r\n }\r\n SendingReminderBy() : string[] {\r\n let methods: string[] = [];\r\n\r\n if (this.PatientSettings?.SendReminderSMS) {\r\n methods.push('sms');\r\n }\r\n if (this.PatientSettings?.SendReminderEmail) {\r\n methods.push('email');\r\n }\r\n return methods;\r\n }\r\n SendingRecallBy() : string[] {\r\n let methods: string[] = [];\r\n\r\n if (this.PatientSettings?.SendRecallSMS) {\r\n methods.push('sms');\r\n }\r\n if (this.PatientSettings?.SendRecallEmail) {\r\n methods.push('email');\r\n }\r\n if (this.PatientSettings?.SendRecallLetter) {\r\n methods.push('letter');\r\n }\r\n return methods;\r\n }\r\n SendingRecallReminderBy() : string[] {\r\n return arrayUnique(this.SendingRecallBy().concat(this.SendingReminderBy()));\r\n }\r\n IsInOpus() : boolean {\r\n return this.Id !== null;\r\n }\r\n CanSeeChildrenPage(dateNow: Dayjs) : boolean {\r\n return this.Age(dateNow) >= 18;\r\n }\r\n CanSeeReferralPage() : boolean {\r\n return this.IsInOpus() && !this.HasFreeDentalCare;\r\n }\r\n CanSeePersonalOffersPage() : boolean {\r\n // NOBODY CAN SEE IT FOR NOW!\r\n return false;\r\n //return this.Age(dateNow) >= 18;\r\n }\r\n CanSeeAtbPage() : boolean {\r\n return !this.HasFreeDentalCare;\r\n }\r\n CanSeeHealthDeclarationPage(dateNow: Dayjs) : boolean {\r\n return this.Age(dateNow) >= 18;\r\n }\r\n Gender() : Gender {\r\n const genderDigit = parseInt(this.Pnr.charAt(this.Pnr.length - 2));\r\n return genderDigit % 2 === 0 ? Gender.Female : Gender.Male;\r\n }\r\n static PlainToClass(data: {}) {\r\n return plainToClass(Patient, data);\r\n }\r\n}","// based on https://stackoverflow.com/questions/1960473/get-all-unique-values-in-a-javascript-array-remove-duplicates\r\nexport function arrayUnique(arr: T[]) : T[] {\r\n return arr.filter((v, i, a) => a.indexOf(v) === i);\r\n}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nexport { _OverloadYield as default };","import OverloadYield from \"./OverloadYield.js\";\nfunction _wrapAsyncGenerator(e) {\n return function () {\n return new AsyncGenerator(e.apply(this, arguments));\n };\n}\nfunction AsyncGenerator(e) {\n var r, t;\n function resume(r, t) {\n try {\n var n = e[r](t),\n o = n.value,\n u = o instanceof OverloadYield;\n Promise.resolve(u ? o.v : o).then(function (t) {\n if (u) {\n var i = \"return\" === r ? \"return\" : \"next\";\n if (!o.k || t.done) return resume(i, t);\n t = e[i](t).value;\n }\n settle(n.done ? \"return\" : \"normal\", t);\n }, function (e) {\n resume(\"throw\", e);\n });\n } catch (e) {\n settle(\"throw\", e);\n }\n }\n function settle(e, n) {\n switch (e) {\n case \"return\":\n r.resolve({\n value: n,\n done: !0\n });\n break;\n case \"throw\":\n r.reject(n);\n break;\n default:\n r.resolve({\n value: n,\n done: !1\n });\n }\n (r = r.next) ? resume(r.key, r.arg) : t = null;\n }\n this._invoke = function (e, n) {\n return new Promise(function (o, u) {\n var i = {\n key: e,\n arg: n,\n resolve: o,\n reject: u,\n next: null\n };\n t ? t = t.next = i : (r = t = i, resume(e, n));\n });\n }, \"function\" != typeof e[\"return\"] && (this[\"return\"] = void 0);\n}\nAsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, AsyncGenerator.prototype.next = function (e) {\n return this._invoke(\"next\", e);\n}, AsyncGenerator.prototype[\"throw\"] = function (e) {\n return this._invoke(\"throw\", e);\n}, AsyncGenerator.prototype[\"return\"] = function (e) {\n return this._invoke(\"return\", e);\n};\nexport { _wrapAsyncGenerator as default };","import OverloadYield from \"./OverloadYield.js\";\nfunction _awaitAsyncGenerator(e) {\n return new OverloadYield(e, 0);\n}\nexport { _awaitAsyncGenerator as default };","import OverloadYield from \"./OverloadYield.js\";\nfunction _asyncGeneratorDelegate(t) {\n var e = {},\n n = !1;\n function pump(e, r) {\n return n = !0, r = new Promise(function (n) {\n n(t[e](r));\n }), {\n done: !1,\n value: new OverloadYield(r, 1)\n };\n }\n return e[\"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\"] = function () {\n return this;\n }, e.next = function (t) {\n return n ? (n = !1, t) : pump(\"next\", t);\n }, \"function\" == typeof t[\"throw\"] && (e[\"throw\"] = function (t) {\n if (n) throw n = !1, t;\n return pump(\"throw\", t);\n }), \"function\" == typeof t[\"return\"] && (e[\"return\"] = function (t) {\n return n ? (n = !1, t) : pump(\"return\", t);\n }), e;\n}\nexport { _asyncGeneratorDelegate as default };","function _asyncIterator(r) {\n var n,\n t,\n o,\n e = 2;\n for (\"undefined\" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {\n if (t && null != (n = r[t])) return n.call(r);\n if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));\n t = \"@@asyncIterator\", o = \"@@iterator\";\n }\n throw new TypeError(\"Object is not async iterable\");\n}\nfunction AsyncFromSyncIterator(r) {\n function AsyncFromSyncIteratorContinuation(r) {\n if (Object(r) !== r) return Promise.reject(new TypeError(r + \" is not an object.\"));\n var n = r.done;\n return Promise.resolve(r.value).then(function (r) {\n return {\n value: r,\n done: n\n };\n });\n }\n return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {\n this.s = r, this.n = r.next;\n }, AsyncFromSyncIterator.prototype = {\n s: null,\n n: null,\n next: function next() {\n return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));\n },\n \"return\": function _return(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.resolve({\n value: r,\n done: !0\n }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n },\n \"throw\": function _throw(r) {\n var n = this.s[\"return\"];\n return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));\n }\n }, new AsyncFromSyncIterator(r);\n}\nexport { _asyncIterator as default };","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.9\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import {AxiosInstance, AxiosRequestConfig, default as axios} from \"axios\";\r\nimport {ClassConstructor, plainToInstance} from \"class-transformer\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\ntype AfterRequestType = (response: BaseResponse, fetchMenu: boolean, fetchPatient: boolean) => Promise;\r\nclass MyPagesApi {\r\n onBeforeRequest: () => void = () => {};\r\n onAfterRequest: AfterRequestType = async () => {};\r\n axiosInstance: AxiosInstance = axios.create({\r\n baseURL: process.env.REACT_APP_MY_PAGES_API_BASE_URL,\r\n withCredentials: true,\r\n headers: {\r\n 'Content-Type': 'application/json; charset=utf-8',\r\n 'Accept': 'application/json',\r\n },\r\n });\r\n\r\n initialize (onBeforeRequest: () => void, onAfterRequest: AfterRequestType) {\r\n this.onBeforeRequest = onBeforeRequest;\r\n this.onAfterRequest = onAfterRequest;\r\n }\r\n\r\n async get(cls: ClassConstructor, url: string, config?: AxiosRequestConfig | undefined) : Promise {\r\n this.onBeforeRequest();\r\n const result = await this.axiosInstance.get(url, config);\r\n const response = plainToInstance(cls, result.data);\r\n await this.onAfterRequest(response, false, false);\r\n return response;\r\n }\r\n\r\n async post(cls: ClassConstructor, url: string, data?: any, config?: AxiosRequestConfig | undefined, noFetchAfter? : boolean) : Promise {\r\n this.onBeforeRequest();\r\n const result = await this.axiosInstance.post(url, data, config);\r\n const response = plainToInstance(cls, result.data);\r\n await this.onAfterRequest(response, noFetchAfter !== true, noFetchAfter !== true);\r\n return response;\r\n }\r\n}\r\n\r\nexport const myPagesApi = new MyPagesApi();\r\n","import {Transform} from \"class-transformer\";\r\n\r\nexport enum Status {\r\n Unknown = \"Unknown\",\r\n LoggedOut = \"LoggedOut\",\r\n UserError = \"UserError\",\r\n UnexpectedError = \"UnexpectedError\",\r\n}\r\n\r\nexport class BaseResponse {\r\n Success!: boolean;\r\n ErrorMessage!: string | null;\r\n\r\n @Transform(({ value }) => value ?? Status.Unknown, { toClassOnly: true })\r\n ResponseStatus!: Status;\r\n\r\n Version!: string;\r\n}\r\n\r\n","import {myPagesApi} from './myPagesApi';\r\nimport Patient from \"./models/Patient\";\r\nimport {Type} from \"class-transformer\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nclass LoginStatusResponse extends BaseResponse {\r\n IsLoggedIn!: boolean;\r\n}\r\n\r\nexport const LoginStatus = async () : Promise => {\r\n return await myPagesApi.get(LoginStatusResponse, 'LoginStatus');\r\n};\r\n\r\nclass LoginGetBankIdPatientResponse extends BaseResponse {\r\n @Type(() => Patient)\r\n BankIdPatient!: Patient | null;\r\n}\r\n\r\nexport const LoginGetBankIdPatient = async () : Promise => {\r\n return await myPagesApi.get(LoginGetBankIdPatientResponse, 'read-only/LoginGetBankIdPatient');\r\n};\r\n\r\nclass LoginStartResponse extends BaseResponse {\r\n AlreadyLoggedIn!: boolean;\r\n AlreadyInProgress!: boolean;\r\n InvalidPersonalIdentityNumber!: boolean;\r\n GeneralError!: boolean;\r\n BankIDAppUrl!: string | null;\r\n @Type(() => Patient)\r\n BankIdPatient!: Patient | null;\r\n QRCode!: string | null;\r\n AutoStartToken!: string | null;\r\n}\r\n\r\nexport const LoginStart = async () : Promise => {\r\n return await myPagesApi.post(LoginStartResponse, 'LoginStart', {}, undefined, true);\r\n};\r\n\r\n\r\nclass LoginPollResponse extends BaseResponse {\r\n Continue!: boolean;\r\n Expired!: boolean;\r\n GeneralError!: boolean;\r\n LoginDenied!: boolean;\r\n @Type(() => Patient)\r\n BankIdPatient!: Patient | null;\r\n QRCode!: string | null;\r\n}\r\n\r\nexport const LoginPoll = async () : Promise => {\r\n return await myPagesApi.get(LoginPollResponse, 'LoginPoll');\r\n}\r\n\r\nclass LoginGrandIDSessionResponse extends BaseResponse {\r\n @Type(() => Patient)\r\n BankIdPatient!: Patient | null;\r\n}\r\n\r\nexport const LoginGrandIDSession = async (grandIDSessionID: string) : Promise => {\r\n return await myPagesApi.post(LoginGrandIDSessionResponse, 'LoginGrandIDSession',\r\n {request: { GrandIDSessionID: grandIDSessionID}},\r\n undefined, true\r\n );\r\n};\r\n\r\nexport const ClearLoggedInAs = async (): Promise => {\r\n return await myPagesApi.post(BaseResponse, 'ClearLoggedInAs');\r\n}\r\n\r\nexport const Logout = async () : Promise => {\r\n return await myPagesApi.post(BaseResponse, 'Logout', {}, undefined, true);\r\n};\r\n\r\nexport enum TestCaseAgeEnum {\r\n Child = \"Child\",\r\n Youth = \"Youth\",\r\n Adult = \"Adult\",\r\n}\r\n\r\nexport enum TestCaseOpusEnum {\r\n NoOpus = \"NoOpus\",\r\n OpusD = \"OpusD\", // resp emp is dentist\r\n OpusX = \"OpusX\", // resp emp is not dentist\r\n OpusI = \"OpusI\", // pat.Active = 0\r\n}\r\n\r\nexport enum TestCaseRevisionsEnum {\r\n None = \"None\",\r\n DRev = \"DRev\",\r\n HRev = \"HRev\",\r\n HDRev = \"HDRev\",\r\n}\r\n\r\nexport enum TestCaseChildrenEnum {\r\n YesAdded = \"YesAdded\",\r\n YesNotAdded = \"YesNotAdded\",\r\n No = \"No\",\r\n}\r\n\r\nexport enum TestCaseYesNoEnum {\r\n Yes = \"Yes\",\r\n No = \"No\",\r\n}\r\n\r\nclass TestCaseSubmitResponse extends BaseResponse {\r\n @Type(() => Patient)\r\n BankIdPatient!: Patient | null;\r\n SuccessMessage!: string | null;\r\n}\r\n\r\nclass TestCaseSubmitRequest {\r\n Age!: TestCaseAgeEnum | null;\r\n Libretto!: boolean | null;\r\n Children!: TestCaseChildrenEnum | null;\r\n Opus!: TestCaseOpusEnum | null;\r\n Revisions!: TestCaseRevisionsEnum | null;\r\n Password!: string;\r\n}\r\n\r\nexport const TestCaseSubmit = async (request: TestCaseSubmitRequest) : Promise => {\r\n return await myPagesApi.post(TestCaseSubmitResponse, 'TestCaseSubmit', {request: request}, undefined, true);\r\n};","import {derived} from 'overmind'\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport {\r\n TestCaseAgeEnum,\r\n TestCaseChildrenEnum,\r\n TestCaseOpusEnum,\r\n TestCaseRevisionsEnum,\r\n TestCaseYesNoEnum\r\n} from \"dtv-shared/src/api/my-pages/login\";\r\n\r\nexport const UnexpectedLogoutError = \"UNEXPECTED_LOGOUT_ERROR\";\r\n\r\n\r\nexport enum LoginPageStatus {\r\n Default = \"Default\",\r\n Polling = \"Polling\",\r\n Starting = \"Starting\",\r\n LoggingOut = \"LoggingOut\",\r\n LoggedOutDueToInactivity = \"LoggedOutDueToInactivity\",\r\n PollExpired = \"PollExpired\",\r\n CheckingGrandIDSession = \"CheckingGrandIDSession\",\r\n Error = \"Error\",\r\n}\r\n\r\ntype LoginState = {\r\n status: LoginPageStatus,\r\n readonly loggedIn: boolean;\r\n bankIdPatient: Patient | null;\r\n bankIdPatientLoading: boolean;\r\n inactivityTimerCancel: (() => void) | null;\r\n loginCancel: boolean;\r\n loginBankIDAppUrl: string | null;\r\n readonly showOpenTestCasesButton: boolean;\r\n qrCode: string | null;\r\n readonly qrCodeDecoded: string | null;\r\n openOnThisDevice: boolean;\r\n\r\n testCaseFormOpen: boolean;\r\n testCaseAge: TestCaseAgeEnum | null;\r\n testCaseLibretto: TestCaseYesNoEnum | null;\r\n testCaseChildren: TestCaseChildrenEnum | null;\r\n testCaseOpus: TestCaseOpusEnum | null;\r\n testCaseRevisions: TestCaseRevisionsEnum | null;\r\n testCaseSubmitting: boolean;\r\n testCasePassword: string;\r\n testCaseSubmitError: string;\r\n testCaseSubmitSuccess: string;\r\n readonly testCaseFormIsValid: boolean;\r\n readonly testCaseFormValidationErrors: string[];\r\n}\r\n\r\nconst bankIdPatient = window.bankIdPatient === null ? null : Patient.PlainToClass(window.bankIdPatient);\r\n\r\nexport const state: LoginState = {\r\n status: LoginPageStatus.Default,\r\n loggedIn: derived((state: LoginState) => {\r\n return state.bankIdPatient !== null;\r\n }),\r\n bankIdPatient: bankIdPatient,\r\n bankIdPatientLoading: false,\r\n inactivityTimerCancel: null,\r\n loginCancel: false,\r\n loginBankIDAppUrl: null,\r\n showOpenTestCasesButton: derived((state: LoginState ) => {\r\n return (process.env.REACT_APP_DTV_ENV === 'test' || process.env.NODE_ENV === 'development') && !state.testCaseFormOpen;\r\n }),\r\n qrCode: null,\r\n qrCodeDecoded: derived((state: LoginState ) => {\r\n if (state.qrCode === null) {\r\n return null; \r\n }\r\n return atob(state.qrCode);\r\n }),\r\n openOnThisDevice: true,\r\n\r\n testCaseFormOpen: false,\r\n testCaseAge: null,\r\n testCaseLibretto: null,\r\n testCaseChildren: null,\r\n testCaseOpus: null,\r\n testCaseRevisions: null,\r\n testCaseSubmitting: false,\r\n testCasePassword: '',\r\n testCaseSubmitError: '',\r\n testCaseSubmitSuccess: '',\r\n testCaseFormIsValid: derived((state: LoginState ) => {\r\n return state.testCaseFormValidationErrors.length === 0;\r\n }),\r\n testCaseFormValidationErrors: derived((state: LoginState ) => {\r\n let errs : string[] = [];\r\n\r\n if (state.testCaseAge === null) {\r\n errs.push('You have to select age');\r\n return errs;\r\n }\r\n\r\n if (state.testCaseAge !== TestCaseAgeEnum.Adult && state.testCaseLibretto === null) {\r\n errs.push('You have to select libretto');\r\n return errs;\r\n }\r\n if ((state.testCaseAge === TestCaseAgeEnum.Adult || state.testCaseAge === TestCaseAgeEnum.Youth) && state.testCaseChildren === null) {\r\n errs.push('You have to select children');\r\n return errs;\r\n }\r\n if (state.testCaseOpus === null) {\r\n errs.push('You have to select opus');\r\n return errs;\r\n }\r\n\r\n if (state.testCaseAge !== TestCaseAgeEnum.Adult &&\r\n state.testCaseLibretto === TestCaseYesNoEnum.Yes &&\r\n state.testCaseOpus === TestCaseOpusEnum.NoOpus) {\r\n errs.push('We dont have test case for opus: no, libretto: yes combo');\r\n return errs;\r\n }\r\n\r\n if (state.testCaseOpus !== TestCaseOpusEnum.NoOpus && state.testCaseRevisions === null) {\r\n errs.push('You have to select revisions');\r\n return errs;\r\n }\r\n\r\n if (state.testCasePassword.length < 1) {\r\n errs.push('You have to enter password.');\r\n return errs;\r\n }\r\n\r\n return errs;\r\n }),\r\n};\r\n","import LanguageToggle from \"./LanguageToggle\";\r\nimport {strings} from \"dtv-shared/src/functions\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {LoginPageStatus} from \"../../overmind/login/login-state\";\r\nimport * as React from \"react\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useActions, useAppState, useEffects} from \"../../overmind\";\r\n\r\ntype Props = {\r\n subPage : boolean;\r\n}\r\n\r\nfunction PageHeader(props: Props) {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n const effects = useEffects();\r\n return
    \r\n \r\n
    effects.page.router.open('/')}>\r\n {t('pageHeader:name', {name: strings.toTitleCase(state.login.bankIdPatient?.FullName() ?? \"\") })}\r\n
    \r\n actions.login.logout()}>{t(state.login.status === LoginPageStatus.LoggingOut ? 'pageHeader:loggingOut' : 'pageHeader:logout')}\r\n
    \r\n}\r\n\r\nexport default PageHeader;","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport {\r\n DtvButton,\r\n DtvButtonColor,\r\n DtvButtonOutline,\r\n DtvButtonSize,\r\n DtvButtonType\r\n} from \"dtv-shared/src/components/buttons\";\r\n\r\n\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {pageUrls} from \"../../page-urls\";\r\nimport NotificationCard from \"../general/NotificationCard\";\r\nimport PaymentModal from \"../journal/PaymentModal\";\r\nimport MainMenu from \"./MainMenu\";\r\nimport PageHeader from \"../general/PageHeader\";\r\n\r\nfunction MainMenuPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n return (\r\n
    \r\n
    \r\n {state.mainMenu.showPaymentModal ?\r\n actions.mainMenu.closePaymentModal()} loading={state.mainMenu.loading} html={state.mainMenu.paymentModalHtml}/>\r\n : null}\r\n \r\n {state.mainMenu.loading ?\r\n \r\n \r\n {t('mainMenu:loading')}\r\n :\r\n <>\r\n {state.mainMenu.showHealthDeclarationMissingNotification ?\r\n }\r\n onDismiss={() => actions.mainMenu.dismissHealthDeclarationMissing()}>\r\n
    {t('health:missingTitle')}
    \r\n
    {t('health:missingText')}
    \r\n {t('health:missingButtonLabel')}\r\n : null}\r\n\r\n {state.mainMenu.showHealthDeclarationExpiredNotification ?\r\n }\r\n onDismiss={() => actions.mainMenu.dismissHealthDeclarationExpired()}>\r\n
    {t('health:expiredTitle')}
    \r\n
    {t('health:expiredText')}
    \r\n {t('health:expiredButtonLabel')}\r\n : null}\r\n\r\n {state.mainMenu.showSettingsMissingNotification ?\r\n }\r\n onDismiss={() => actions.mainMenu.dismissSettingsMissing()}>\r\n
    {t('mainMenu:settingsMissingNotificationTitle')}
    \r\n
    {t('mainMenu:settingsMissingNotificationText')}
    \r\n {t('mainMenu:settingsMissingNotificationButtonLabel')}\r\n : null}\r\n\r\n {state.mainMenu.showUnpaidTreatmentNotification ?\r\n (state.mainMenu.unpaidInvoiceIds.length === 1 ?\r\n }\r\n onDismiss={() => actions.mainMenu.dismissUnpaidTreatmentNotification()}>\r\n
    {t('mainMenu:unpaidTreatmentTitle')}
    \r\n
    {t('mainMenu:unpaidTreatmentText')}
    \r\n actions.mainMenu.openPaymentModal()}\r\n color={DtvButtonColor.Info}\r\n size={DtvButtonSize.Small}>{t('mainMenu:unpaidTreatmentButtonLabel')}\r\n :\r\n }\r\n onDismiss={() => actions.mainMenu.dismissUnpaidTreatmentNotification()}>\r\n
    {t('mainMenu:unpaidTreatmentMultipleTitle')}
    \r\n
    {t('mainMenu:unpaidTreatmentMultipleText')}
    \r\n {t('mainMenu:unpaidTreatmentMultipleButtonLabel')}\r\n \r\n )\r\n : null}\r\n\r\n {(state.login.bankIdPatient?.IsInOpus() ?? false) &&\r\n state.login.bankIdPatient!.CanSeeReferralPage() &&\r\n !state.mainMenu.referralNotificationDismissed &&\r\n state.mainMenu.showReferralUpgradeNotification ?\r\n }\r\n onDismiss={() => actions.mainMenu.dismissReferralNotification()}>\r\n
    {t(state.mainMenu.referralBenefitAmount > 0 ? 'mainMenu:referralUpgradeNotificationWithAmountTitle' : 'mainMenu:referralUpgradeNotificationWithoutAmountTitle')}
    \r\n
    {t(state.mainMenu.referralBenefitAmount > 0 ? 'mainMenu:referralUpgradeNotificationWithAmountText' : 'mainMenu:referralUpgradeNotificationWithoutAmountText')}
    \r\n {t('general:readMore')}\r\n : null\r\n }\r\n\r\n {(state.login.bankIdPatient?.IsInOpus() ?? false) &&\r\n state.login.bankIdPatient!.CanSeeReferralPage() &&\r\n !state.mainMenu.referralNotificationDismissed &&\r\n state.mainMenu.referralsNewCount > 0 ?\r\n }\r\n onDismiss={() => actions.mainMenu.dismissReferralNotification()}>\r\n
    {t(state.mainMenu.referralsNewCount > 1 ? 'mainMenu:referralNewNotificationPluralTitle' : 'mainMenu:referralNewNotificationSingularTitle')}
    \r\n
    {t(state.mainMenu.referralsNewCount > 1 ? 'mainMenu:referralNewNotificationPluralText' : 'mainMenu:referralNewNotificationSingularText')}
    \r\n {t('general:readMore')}\r\n : null\r\n }\r\n\r\n \r\n \r\n }\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default MainMenuPage;","import React from \"react\";\r\nimport {DtvIconProps} from \"../icons/DtvIcon\";\r\n\r\nenum DtvFormMessageType {\r\n Success = \"Success\",\r\n Error = \"Error\",\r\n}\r\n\r\nenum DtvFormMessageDesignType {\r\n Block = \"Block\",\r\n Discreet = \"Discreet\",\r\n}\r\n\r\ntype Props = {\r\n type: DtvFormMessageType;\r\n design: DtvFormMessageDesignType;\r\n icon?: React.ReactElement;\r\n cssClasses?: string;\r\n children?: React.ReactNode;\r\n onDismiss?: () => void;\r\n}\r\n\r\nfunction DtvFormMessage({type, design, icon, cssClasses, children, onDismiss}: Props) {\r\n let classes=['form-message'];\r\n\r\n if (icon) {\r\n classes.push('form-message-has-icon');\r\n }\r\n if (cssClasses) {\r\n classes.push(cssClasses);\r\n }\r\n switch (type){\r\n case DtvFormMessageType.Success:\r\n classes.push('success');\r\n break;\r\n case DtvFormMessageType.Error:\r\n classes.push('error js-error');\r\n break;\r\n }\r\n\r\n if (design === DtvFormMessageDesignType.Discreet) {\r\n classes.push('form-message-discreet');\r\n if (icon) {\r\n throw new Error(\"no icons for form-message-discreet\");\r\n }\r\n if (onDismiss) {\r\n throw new Error(\"no onDismiss for form-message-discreet\");\r\n }\r\n }\r\n\r\n if (onDismiss){\r\n classes.push('form-message-has-right-icon');\r\n }\r\n\r\n return (\r\n
    \r\n { icon ? React.cloneElement(icon, { cssClasses: \"form-message-icon\" }) : null }\r\n { onDismiss?
    onDismiss() } className=\"form-message-icon-dismiss\"/> : null }\r\n { children }\r\n
    \r\n );\r\n}\r\n\r\nexport {DtvFormMessage, DtvFormMessageType, DtvFormMessageDesignType};","import React, { KeyboardEvent } from 'react';\r\nimport { DtvFormMessage, DtvFormMessageType, DtvFormMessageDesignType } from './DtvFormMessage';\r\n\r\nfunction AboveLabel({ aboveLabel }: { aboveLabel?: string }) {\r\n if (!aboveLabel) {\r\n return null;\r\n }\r\n return (\r\n
    {aboveLabel}
    \r\n );\r\n}\r\n\r\ntype Props = {\r\n value: string;\r\n label: string;\r\n labelSmall?: string;\r\n aboveLabel?: string;\r\n errorMessage?: string;\r\n wrapperExtraClasses?: string;\r\n icon?: JSX.Element;\r\n onChange: (event: string) => void;\r\n onKeyDown?: (event: KeyboardEvent) => void;\r\n type?: 'text' | 'tel' | 'email';\r\n disabled?: boolean;\r\n};\r\n\r\nfunction TextInputV2(props: Props) {\r\n const wrapperClasses = ['form-field-wrapper input-field-2-wrapper'];\r\n if (props.wrapperExtraClasses) {\r\n wrapperClasses.push(props.wrapperExtraClasses);\r\n }\r\n if (props.value.length > 0) {\r\n wrapperClasses.push('has-value');\r\n }\r\n if (props.aboveLabel) {\r\n wrapperClasses.push('has-above-label');\r\n }\r\n if (props.labelSmall) {\r\n wrapperClasses.push('has-label-small')\r\n }\r\n if (props.errorMessage) {\r\n wrapperClasses.push('has-error js-has-error');\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default TextInputV2;\r\n","import React from 'react';\r\n\r\ntype Props = {\r\n label: string;\r\n checked: boolean;\r\n onSelect: () => void;\r\n disabled?: boolean;\r\n onClick?: () => void;\r\n className?: string;\r\n}\r\n\r\nfunction DtvStyledRadio(props: Props) {\r\n let className = \"radio-label\";\r\n if (props.disabled) {\r\n className += ' disabled';\r\n }\r\n if (props.className) {\r\n className += ' ' + props.className;\r\n }\r\n return ;\r\n}\r\n\r\nexport default DtvStyledRadio;","import React from 'react';\r\nimport { DtvFormMessage, DtvFormMessageDesignType, DtvFormMessageType } from \"./DtvFormMessage\";\r\nimport DtvStyledRadio from './DtvStyledRadio';\r\n\r\ntype Props = {\r\n label?: string;\r\n errorMessage?: string;\r\n cssClasses?: string;\r\n options: { value: string, text: string }[];\r\n onChange: (val: string) => void;\r\n value: string | null;\r\n disabled?: boolean;\r\n}\r\n\r\nfunction DtvRadioGroup(props: Props) {\r\n let arrClasses = ['control-group dtv-dropdown'];\r\n\r\n if (props.errorMessage) {\r\n arrClasses.push('with-error js-has-error');\r\n }\r\n if (props.cssClasses) {\r\n arrClasses.push(props.cssClasses);\r\n }\r\n\r\n return \r\n}\r\n\r\nexport default DtvRadioGroup;","import React from 'react';\r\n\r\ntype Props = {\r\n label: string;\r\n checked: boolean;\r\n cssClasses?: string;\r\n rounded?: boolean;\r\n onChange: (checked: boolean) => void;\r\n}\r\n\r\nfunction DtvStyledCheckBox({label, checked, cssClasses, rounded, onChange}: Props) {\r\n if (typeof rounded === 'undefined' || rounded === null) {\r\n rounded = true;\r\n }\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default DtvStyledCheckBox;","function deg2rad(deg: number) {\r\n return deg * (Math.PI / 180)\r\n}\r\n\r\nexport function getDistanceFromLatLonInKm(lat1: number, lon1: number, lat2: number, lon2: number) {\r\n const R = 6371; // Radius of the earth in km\r\n const dLat = deg2rad(lat2 - lat1); // deg2rad below\r\n const dLon = deg2rad(lon2 - lon1);\r\n const a =\r\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\r\n Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *\r\n Math.sin(dLon / 2) * Math.sin(dLon / 2)\r\n ;\r\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n return R * c; // Distance in km\r\n}","import React from 'react';\r\nimport {DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper} from \"../preloader\";\r\nimport {getDistanceFromLatLonInKm} from \"../../functions/distance\";\r\nimport {DtvFormMessage, DtvFormMessageDesignType, DtvFormMessageType} from \"./DtvFormMessage\";\r\n\r\ntype Clinic = {\r\n name: string;\r\n localizationTitleFormatted: string;\r\n areas: { name: string, order: number }[];\r\n lat: number;\r\n lng: number;\r\n id: number;\r\n}\r\n\r\ntype ClinicWithDistance = {\r\n clinic: Clinic,\r\n distance: number,\r\n}\r\ntype Props = {\r\n clinics: Clinic[];\r\n placeholderLabel: string;\r\n showNearestLabel: string;\r\n otherAreasLabel: string;\r\n selectedClinicId: number | null;\r\n onChangeClinicId: (clinicId: number | null) => void;\r\n loadingText: string;\r\n attemptNearbyDirectly: boolean;\r\n positionErrorText: string;\r\n labelText: string;\r\n styleV2: boolean;\r\n disabled?: boolean,\r\n errorMessage?: string | null;\r\n cssClasses?: string;\r\n}\r\n\r\nenum DropDownSelectionType {\r\n Placeholder = \"Placeholder\",\r\n Nearest = \"Nearest\",\r\n}\r\n\r\ntype State = {\r\n dropDownSelection: DropDownSelectionType | string;\r\n positionWasLoadedOnBoot: boolean;\r\n position: GeolocationPosition | null;\r\n loadingPosition: boolean;\r\n positionError: GeolocationPositionError | null;\r\n selectedClinicButtonId: number | null;\r\n dismissPositionError: boolean;\r\n}\r\n\r\n\r\nclass DtvClinicSelect extends React.Component {\r\n hasGeoLocation: boolean;\r\n\r\n public static defaultProps = {\r\n styleV2: true\r\n };\r\n\r\n constructor(props: Props) {\r\n super(props);\r\n this.hasGeoLocation = !!navigator.geolocation;\r\n\r\n let dropDownSelection : DropDownSelectionType | string = DropDownSelectionType.Placeholder;\r\n if (this.props.selectedClinicId !== null) {\r\n dropDownSelection = this.props.selectedClinicId.toString();\r\n }\r\n\r\n this.state = {\r\n dropDownSelection: dropDownSelection,\r\n positionWasLoadedOnBoot: false,\r\n position: null,\r\n loadingPosition: false,\r\n positionError: null,\r\n selectedClinicButtonId: null,\r\n dismissPositionError: false,\r\n };\r\n }\r\n\r\n async showNearest(boot: boolean) : Promise {\r\n try {\r\n //console.log('showNearest', this.state);\r\n if (boot) {\r\n this.setState({positionWasLoadedOnBoot: true});\r\n //console.log('showNearest2', this.state);\r\n }\r\n this.setState({loadingPosition: true, dropDownSelection: DropDownSelectionType.Nearest});\r\n //console.log('showNearest3', this.state);\r\n await new Promise((resolve, reject) => {\r\n navigator.geolocation.getCurrentPosition(position => {\r\n this.setState({loadingPosition: false, position: position, dropDownSelection: DropDownSelectionType.Nearest})\r\n //console.log('showNearest4', this.state);\r\n resolve(position);\r\n }, (err) => {\r\n this.setState({positionError: err, dismissPositionError: false, dropDownSelection: DropDownSelectionType.Placeholder, loadingPosition: false});\r\n //console.log('showNearest5', this.state);\r\n reject();\r\n })\r\n });\r\n } catch {}\r\n }\r\n async componentDidMount() {\r\n //console.log('componentDidMount', this.state);\r\n if (this.hasGeoLocation && this.props.attemptNearbyDirectly && this.props.selectedClinicId === null && !this.state.positionWasLoadedOnBoot && !this.state.loadingPosition) {\r\n this.showNearest(true);\r\n //console.log('componentDidMount2', this.state);\r\n }\r\n }\r\n componentDidUpdate() {\r\n //console.log('componentDidUpdate state', this.state);\r\n //console.log('componentDidUpdate props', this.props);\r\n\r\n if (this.props.selectedClinicId !== null && this.state.dropDownSelection === DropDownSelectionType.Nearest && this.state.selectedClinicButtonId !== this.props.selectedClinicId) {\r\n //console.log('componentDidUpdate2 state', this.state);\r\n //console.log('componentDidUpdate2 props', this.props);\r\n if (!this.state.loadingPosition) {\r\n if (this.getNearest().filter(clinicWithDistance => clinicWithDistance.clinic.id === this.props.selectedClinicId).length > 0) {\r\n this.setState({selectedClinicButtonId: this.props.selectedClinicId});\r\n //console.log('componentDidUpdate3 state', this.state);\r\n //console.log('componentDidUpdate3 props', this.props);\r\n } else {\r\n this.setState({\r\n selectedClinicButtonId: null,\r\n dropDownSelection: this.props.selectedClinicId.toString()\r\n });\r\n //console.log('componentDidUpdate4 state', this.state);\r\n //console.log('componentDidUpdate4 props', this.props);\r\n }\r\n } else {\r\n //console.log('componentDidUpdate22 state', this.state);\r\n //console.log('componentDidUpdate22 props', this.props);\r\n }\r\n } else if (this.props.selectedClinicId !== null && this.state.dropDownSelection !== DropDownSelectionType.Nearest && this.state.dropDownSelection !== this.props.selectedClinicId.toString()) {\r\n this.setState({dropDownSelection: this.props.selectedClinicId.toString()});\r\n //console.log('componentDidUpdate5 state', this.state);\r\n //console.log('componentDidUpdate5 props', this.props);\r\n } else if (this.props.selectedClinicId === null) {\r\n if (this.state.dropDownSelection === DropDownSelectionType.Nearest && this.state.selectedClinicButtonId !== null) {\r\n this.setState({selectedClinicButtonId: null});\r\n //console.log('componentDidUpdate6 state', this.state);\r\n //console.log('componentDidUpdate6 props', this.props);\r\n } else if (this.state.dropDownSelection !== DropDownSelectionType.Nearest && this.state.dropDownSelection !== DropDownSelectionType.Placeholder) {\r\n if (this.hasPlaceholder()) {\r\n this.setState({dropDownSelection: DropDownSelectionType.Placeholder});\r\n //console.log('componentDidUpdate7 state', this.state);\r\n //console.log('componentDidUpdate6 props', this.props);\r\n } else {\r\n this.showNearest(false);\r\n //console.log('componentDidUpdate8 state', this.state);\r\n //console.log('componentDidUpdate8 props', this.props);\r\n }\r\n }\r\n }\r\n if (this.hasGeoLocation && this.props.attemptNearbyDirectly && this.props.selectedClinicId === null && !this.state.positionWasLoadedOnBoot && !this.state.loadingPosition) {\r\n this.showNearest(true);\r\n //console.log('componentDidUpdate9 state', this.state);\r\n //console.log('componentDidUpdate9 props', this.props);\r\n }\r\n //console.log('componentDidUpdate10 state', this.state);\r\n //console.log('componentDidUpdate10 props', this.props);\r\n }\r\n\r\n onChangeDropDown(value: string) {\r\n //console.log('onChangeDropDown value', value);\r\n let clinicId: null | number = null;\r\n try {\r\n clinicId = parseInt(value);\r\n if (isNaN(clinicId)) {\r\n clinicId = null;\r\n }\r\n } catch {\r\n clinicId = null;\r\n }\r\n //console.log('onChangeDropDown clinicId', clinicId);\r\n\r\n //console.log('onChangeDropDown state', this.state);\r\n //console.log('onChangeDropDown props', this.props);\r\n if (value === DropDownSelectionType.Nearest) {\r\n this.showNearest(false);\r\n //console.log('onChangeDropDown2 state', this.state);\r\n //console.log('onChangeDropDown2 props', this.props);\r\n } else if (value === DropDownSelectionType.Placeholder) {\r\n this.setState({dropDownSelection: DropDownSelectionType.Placeholder});\r\n //console.log('onChangeDropDown3 state', this.state);\r\n //console.log('onChangeDropDown3 props', this.props);\r\n } else {\r\n this.setState({dropDownSelection: value, dismissPositionError: true});\r\n //console.log('onChangeDropDown4 state', this.state);\r\n //console.log('onChangeDropDown4 props', this.props);\r\n }\r\n\r\n this.props.onChangeClinicId(clinicId);\r\n //console.log('onChangeDropDown5 state', this.state);\r\n //console.log('onChangeDropDown5 props', this.props);\r\n }\r\n\r\n clickClinicButton(clinicId: number) {\r\n this.setState({selectedClinicButtonId: clinicId});\r\n this.props.onChangeClinicId(clinicId);\r\n ////console.log('clickClinicButton', this.state);\r\n }\r\n\r\n getNearest() : ClinicWithDistance[] {\r\n let clinicsWithDistance : ClinicWithDistance[] = [];\r\n //console.log('getNearest state', this.state);\r\n //console.log('getNearest props', this.props);\r\n if (this.state.position === null) {\r\n throw new Error(\"Position was null when trying to getNearest.\");\r\n }\r\n\r\n const position = this.state.position;\r\n\r\n this.props.clinics.forEach(clinic => {\r\n try {\r\n const clinicWithDistance = {\r\n clinic: clinic,\r\n distance: getDistanceFromLatLonInKm(position.coords.latitude, position.coords.longitude, clinic.lat, clinic.lng)\r\n };\r\n clinicsWithDistance.push(clinicWithDistance);\r\n } catch(e) {}\r\n });\r\n\r\n clinicsWithDistance.sort(function(a,b) {\r\n if (a.distance === b.distance) {\r\n return 0;\r\n }\r\n return a.distance > b.distance ? 1 : -1;\r\n });\r\n\r\n return clinicsWithDistance.slice(0, 3);\r\n }\r\n\r\n formatDistance(distance: number) {\r\n if (distance < 1.0) {\r\n return Math.round(distance * 1000) + ' m';\r\n }\r\n return ((Math.round(distance * 10) / 10) + \"\").replace('.', ',') + ' km';\r\n }\r\n\r\n hasPlaceholder() : boolean {\r\n return !this.hasGeoLocation || !this.props.attemptNearbyDirectly || this.state.positionError !== null;\r\n }\r\n\r\n dismissPositionError(): void {\r\n this.setState({dismissPositionError: true});\r\n }\r\n\r\n render() {\r\n let options : JSX.Element[] = [];\r\n\r\n if (this.hasPlaceholder()) {\r\n options.push({this.props.placeholderLabel});\r\n }\r\n\r\n if (this.hasGeoLocation) {\r\n options.push();\r\n }\r\n\r\n const areas: { [key: string]: { area: string, order: number, clinics: Clinic[] } } = {};\r\n\r\n function addClinicToArea(area: string, order: number, clinic: Clinic) {\r\n if (!areas[area]) {\r\n areas[area] = {area, order, clinics: [clinic]};\r\n } else {\r\n areas[area].clinics.push(clinic);\r\n }\r\n }\r\n\r\n let clinics = this.props.clinics;\r\n // order clinics by clinic.name\r\n clinics.sort((a, b) => {\r\n if (a.name === b.name) {\r\n return 0;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n\r\n return -1;\r\n });\r\n\r\n clinics.forEach(clinic => {\r\n if (clinic.areas.length === 0) {\r\n addClinicToArea(this.props.otherAreasLabel, 999, clinic);\r\n } else {\r\n clinic.areas.forEach(area => {\r\n addClinicToArea(area.name, area.order, clinic);\r\n });\r\n }\r\n });\r\n\r\n const area_keys = Object.keys(areas);\r\n area_keys.sort((a, b) => {\r\n if (areas[a].order === areas[b].order) {\r\n return 0;\r\n }\r\n if (areas[a].order > areas[b].order) {\r\n return 1;\r\n }\r\n\r\n return -1;\r\n });\r\n\r\n options = options.concat(\r\n area_keys.map(area =>\r\n \r\n {areas[area].clinics.map(clinic => )}\r\n \r\n )\r\n );\r\n\r\n const hasError : boolean = !!this.props.errorMessage;\r\n\r\n const cssClassesArray = [\"dtv-clinic-select\"];\r\n if (this.props.styleV2) {\r\n cssClassesArray.push('style-v2');\r\n }\r\n if (hasError) {\r\n cssClassesArray.push('dtv-clinic-select-has-error js-has-error');\r\n }\r\n if (this.props.disabled) {\r\n cssClassesArray.push('dtv-clinic-select-disabled');\r\n }\r\n if (this.props.cssClasses) {\r\n cssClassesArray.push(this.props.cssClasses);\r\n }\r\n if (this.state.dropDownSelection === DropDownSelectionType.Nearest) {\r\n cssClassesArray.push('nearest-selected');\r\n }\r\n return (\r\n
    \r\n
    \r\n {this.props.labelText}\r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.positionError !== null && !this.state.dismissPositionError ? (\r\n this.dismissPositionError()}\r\n type={DtvFormMessageType.Error}\r\n design={DtvFormMessageDesignType.Block}>{this.props.positionErrorText}\r\n ) : null}\r\n {hasError ? {this.props.errorMessage} : null}\r\n {this.state.dropDownSelection === DropDownSelectionType.Nearest && !this.props.disabled ?\r\n (\r\n
    \r\n {\r\n this.state.loadingPosition ?\r\n (\r\n \r\n \r\n {this.props.loadingText}\r\n \r\n ) : (\r\n <>\r\n {this.getNearest().map(clinicWithDistance =>\r\n this.clickClinicButton(clinicWithDistance.clinic.id)}>\r\n
    \r\n
    \r\n \r\n {this.formatDistance(clinicWithDistance.distance)}\r\n
    \r\n
    \r\n )}\r\n \r\n )\r\n }\r\n
    \r\n )\r\n : null\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default DtvClinicSelect;","import React from 'react';\r\nimport { DtvFormMessage, DtvFormMessageType, DtvFormMessageDesignType } from './DtvFormMessage';\r\n\r\ntype Props = {\r\n label?: string;\r\n errorMessage?: string;\r\n cssClasses?: string;\r\n children?: React.ReactNode;\r\n disabled?: boolean;\r\n}\r\n\r\nfunction DtvControlGroup({label, errorMessage, cssClasses, children, disabled} : Props){\r\n let arrClasses = ['control-group'];\r\n\r\n if (disabled) {\r\n arrClasses.push('disabled');\r\n }\r\n if (errorMessage) {\r\n arrClasses.push('with-error js-has-error');\r\n }\r\n if (cssClasses){\r\n arrClasses.push(cssClasses);\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n { label?
    {label}
    : null }\r\n {children}\r\n {errorMessage?\r\n {errorMessage}:null}\r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default DtvControlGroup;","import React from \"react\";\r\nimport {DtvFormMessage, DtvFormMessageDesignType, DtvFormMessageType} from \"./DtvFormMessage\";\r\n\r\ntype Props = {\r\n type: DtvFormMessageType;\r\n icon?: JSX.Element;\r\n cssClasses?: string;\r\n title: React.ReactNode;\r\n text: React.ReactNode;\r\n onDismiss?: () => void;\r\n}\r\n\r\nfunction DtvFormMessageWithTitleAndText({type, icon, cssClasses, title, text, onDismiss}: Props) {\r\n return (\r\n \r\n
    {title}
    \r\n
    {text}
    \r\n
    \r\n );\r\n}\r\n\r\nexport default DtvFormMessageWithTitleAndText;","import React from 'react';\r\n\r\ntype Props = {\r\n title: string;\r\n icon?: JSX.Element;\r\n href?: string;\r\n openNewTab?: boolean;\r\n onClick?: (event: React.MouseEvent) => void;\r\n cssClasses?: string;\r\n}\r\n\r\nfunction DtvInfoSection(props: Props) {\r\n let cssClasses = [\"info-section\"];\r\n if (props.icon) {\r\n cssClasses.push('info-section-has-icon');\r\n }\r\n if (props.cssClasses) {\r\n cssClasses.push(props.cssClasses);\r\n }\r\n return (\r\n props.href?\r\n \r\n {props.icon? props.icon : null}\r\n
    {props.title}
    \r\n
    :\r\n \r\n );\r\n}\r\n\r\ntype ExpandableProps = {\r\n title: string;\r\n icon?: JSX.Element;\r\n expanded: boolean;\r\n children: React.ReactNode;\r\n onExpandToggle: () => void;\r\n}\r\nfunction DtvInfoSectionExpandable(props: ExpandableProps) {\r\n let cssClasses = [\"info-section\", \"info-section-expandable\"];\r\n\r\n if (props.expanded) {\r\n cssClasses.push('info-section-expanded');\r\n }\r\n if (props.icon) {\r\n cssClasses.push('info-section-has-icon');\r\n }\r\n return (\r\n
    {} : props.onExpandToggle}>\r\n {props.icon? props.icon : null}\r\n
    {}}>{props.title}
    \r\n
    {}}/>\r\n
    \r\n
    \r\n {props.children}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport {DtvInfoSection, DtvInfoSectionExpandable};","import React from 'react';\r\nimport {DtvFormMessage, DtvFormMessageDesignType, DtvFormMessageType} from \"./DtvFormMessage\";\r\n\r\ntype Employee = {\r\n id: number;\r\n title: string;\r\n name: string;\r\n imageUrl: string;\r\n}\r\ntype Props = {\r\n employees: Employee[];\r\n className?: string;\r\n selectedEmployeeId: number | null;\r\n showAllText: string;\r\n onChangeEmployeeId: (employeeId: number | null) => void;\r\n errorMessage?: string | null;\r\n expanded: boolean;\r\n setExpanded: (expanded: boolean) => void;\r\n}\r\n\r\nfunction DtvEmployeeSelect(props: Props) {\r\n const unexpanded = !props.expanded && props.selectedEmployeeId !== null;\r\n\r\n const emps = unexpanded ? props.employees.filter(e => e.id === props.selectedEmployeeId) : props.employees;\r\n\r\n const cssClasses = ['dtv-employee-select', props.className, unexpanded ? 'unexpanded' : 'expanded'];\r\n\r\n if (props.errorMessage) {\r\n cssClasses.push('js-has-error has-error');\r\n }\r\n return
    \r\n {props.errorMessage ? {props.errorMessage} : null}\r\n {emps.map(e =>
    {props.setExpanded(false); props.onChangeEmployeeId(e.id)}} className={\"employee-select-option \" + (props.selectedEmployeeId === e.id ? 'selected' : '')}>\r\n
    {e.title}
    \r\n
    {e.name}
    \r\n {e.name}/\r\n
    )}\r\n {unexpanded ?
    props.setExpanded(true)}>{props.showAllText}
    : null}\r\n
    ;\r\n}\r\n\r\nexport default DtvEmployeeSelect;","import React from 'react';\r\nimport {DtvFormMessage, DtvFormMessageDesignType, DtvFormMessageType} from \"./DtvFormMessage\";\r\n\r\ntype Props = {\r\n label?: string;\r\n errorMessage?: string;\r\n cssClasses?: string;\r\n options: {value: string, text: string}[];\r\n onChange: (val: string) => void;\r\n value: string | undefined;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n}\r\n\r\nfunction DtvDropDown(props : Props){\r\n let arrClasses = ['control-group dtv-dropdown'];\r\n\r\n if (props.errorMessage) {\r\n arrClasses.push('with-error js-has-error');\r\n }\r\n if (props.cssClasses){\r\n arrClasses.push(props.cssClasses);\r\n }\r\n\r\n return \r\n}\r\n\r\nexport default DtvDropDown;","import * as React from 'react';\r\nimport { DtvStyledRadio } from 'dtv-shared/src/components/form';\r\nimport {useAppState} from \"../../overmind\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\n\r\nclass ChildWithNotifications extends Patient {\r\n Notifications?: number;\r\n}\r\n\r\ntype Props = {\r\n children: ChildWithNotifications[];\r\n prefix: string;\r\n suffix: string;\r\n selectedId: number | null;\r\n onChange: (patientId: number | null) => void;\r\n myNotifications?: number;\r\n disabled: boolean;\r\n}\r\n\r\nfunction ChildSelector({children, prefix, suffix, selectedId, onChange, myNotifications, disabled} : Props) {\r\n const state = useAppState();\r\n\r\n if (children.length === 0) {\r\n return null;\r\n }\r\n\r\n type radio = {\r\n PatientId: number | null;\r\n Label: string,\r\n Notifications: number | undefined;\r\n }\r\n\r\n let radios : radio[] = [];\r\n\r\n radios.push({\r\n PatientId: null,\r\n Label: prefix + \" \" + suffix,\r\n Notifications: myNotifications,\r\n })\r\n radios = radios.concat(children.map(c => ({\r\n PatientId: c.Id,\r\n Label: c.PossessiveFirstName(state.language.language) + \" \" + suffix,\r\n Notifications: c.Notifications,\r\n })));\r\n\r\n const rows = radios.map(r =>\r\n
    \r\n onChange(r.PatientId)}\r\n />\r\n {r.Notifications ? (
    {r.Notifications}
    ) : null}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n {rows}\r\n
    \r\n );\r\n}\r\n\r\nexport default ChildSelector;\r\n","import * as React from \"react\";\r\nimport Clinic from \"dtv-shared/src/api/my-pages/models/Clinic\";\r\n\r\ntype DoorCodeAndRoadReferenceAndDescriptionProps = {\r\n clinic: Clinic,\r\n lang: string,\r\n doorCodeTranslation: string,\r\n doorCode?: string\r\n}\r\n\r\nfunction DoorCodeAndRoadReferenceAndDescription(props: DoorCodeAndRoadReferenceAndDescriptionProps) {\r\n let roadRef = props.clinic.RoadReferenceSv;\r\n if (props.lang === 'en' && props.clinic.RoadReferenceEn) {\r\n roadRef = props.clinic.RoadReferenceEn;\r\n }\r\n\r\n let doorCode = '';\r\n if (props.clinic.DoorCode || props.doorCode) {\r\n doorCode = props.doorCodeTranslation + ': ' + (props.doorCode ?? props.clinic.DoorCode) + '.';\r\n }\r\n\r\n let doorCodeAndRoadReference;\r\n if (doorCode && roadRef) {\r\n doorCodeAndRoadReference = doorCode + ' ' + roadRef;\r\n } else if (doorCode) {\r\n doorCodeAndRoadReference = doorCode;\r\n } else {\r\n doorCodeAndRoadReference = roadRef ?? '';\r\n }\r\n\r\n let roadDesc = props.clinic.RoadDescriptionSv;\r\n if (props.lang === 'en' && props.clinic.RoadDescriptionEn) {\r\n roadDesc = props.clinic.RoadDescriptionEn;\r\n }\r\n\r\n if (doorCodeAndRoadReference && roadDesc) {\r\n return <>\r\n

    {doorCodeAndRoadReference}

    \r\n

    {roadDesc}

    \r\n \r\n }\r\n if (doorCodeAndRoadReference) {\r\n return

    {doorCodeAndRoadReference}

    ;\r\n }\r\n return

    {roadDesc}

    ;\r\n}\r\n\r\nexport default DoorCodeAndRoadReferenceAndDescription;","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {DtvInfoSection, DtvInfoSectionExpandable} from \"dtv-shared/src/components/form\";\r\nimport DoorCodeAndRoadReferenceAndDescription from \"../my-clinics/DoorCodeAndRoadReferenceAndDescription\";\r\n\r\nfunction ActiveBookings() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n return (\r\n
    \r\n {state.bookings.activeBookings.map(booking =>\r\n
    \r\n
    \r\n {booking.Employee.Name}/\r\n
    \r\n
    {booking.StartDateText(state.language.language)} {booking.StartTimeText(state.language.language)}
    \r\n
    \r\n { booking.Clinic.LocalizationTitleCleaned() }\r\n
    \r\n {booking.Treatment !== null ?
    {booking.Treatment.Name(state.language.language)}
    : null}\r\n
    {booking.Employee.TitleAndName(state.language.language)}
    \r\n
    \r\n
    \r\n
    \r\n actions.bookings.openEditBookingModal(booking.Id)} size={DtvButtonSize.Small} outline={DtvButtonOutline.ThinOutline}>{t('bookings:editBookingBtnLabel')}\r\n actions.bookings.openCancelBookingModal(booking.Id)} size={DtvButtonSize.Small} outline={DtvButtonOutline.ThinOutline}>{t('bookings:cancelBookingBtnLabel')}\r\n
    \r\n
    \r\n }\r\n title={t('bookings:addToMyCalendar')}\r\n href={booking.CalendarUrl}\r\n />\r\n }\r\n title={booking.Clinic.Address1 + \", \" + booking.Clinic.City}\r\n expanded={booking.AddressSectionExpanded}\r\n onExpandToggle={() => actions.bookings.addressSectionExpandToggle(booking.Id)}\r\n >\r\n \r\n {booking.Clinic.GoogleMapsUrl ?\r\n <>\r\n \r\n {t('bookings:openGoogleMapsBtn')}\r\n \r\n : null}\r\n \r\n }\r\n title={booking.Clinic.GetPhone(false)}\r\n href={'tel:'+booking.Clinic.GetPhone(true)}\r\n openNewTab\r\n />\r\n }\r\n title={booking.Clinic.Email}\r\n href={\"mailto:\"+booking.Clinic.Email}\r\n openNewTab\r\n />\r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nexport default ActiveBookings;\r\n","export default class NextStepAnswer {\r\n Id!: number;\r\n WishType!: string;\r\n Code_bk!: string;\r\n Order_bk!: number;\r\n Default_bk!: boolean;\r\n\r\n GetText(prefix: string) {\r\n return prefix + this.Code_bk;\r\n }\r\n}","export default class ReasonAnswer {\r\n Id!: number;\r\n Code_tr!: string;\r\n Order_bk!: number;\r\n Order_sc!: number;\r\n ShowSelfCaller!: boolean;\r\n\r\n GetText(prefix: string): string {\r\n return prefix + this.Code_tr;\r\n }\r\n\r\n constructor(id: number, code: string, order: number) {\r\n this.Id = id;\r\n this.Code_tr = code;\r\n this.Order_bk = 0;\r\n this.Order_sc = order;\r\n this.ShowSelfCaller = false;\r\n }\r\n}","export default class Treatment {\r\n NameSv!: string;\r\n NameEn!: string;\r\n\r\n Name(lang: string) {\r\n return lang === 'sv' ? this.NameSv : this.NameEn;\r\n }\r\n}","// https://github.com/typestack/class-transformer#working-with-nested-objects\r\nimport {Transform, Type} from 'class-transformer';\r\nimport Clinic from './Clinic';\r\nimport Employee from './Employee';\r\nimport Treatment from './Treatment';\r\nimport {capitalizeFirstLetter} from \"../../../functions/strings\";\r\nimport Patient from './Patient';\r\nimport {Dayjs} from \"dayjs\";\r\nimport {dateTimeStrToDayJs} from \"../../../functions/date\";\r\n\r\nexport default class Booking {\r\n Id!: number;\r\n Email!: string;\r\n PhoneNumber!: string;\r\n\r\n @Transform(({ value }) => dateTimeStrToDayJs(value))\r\n Start!: Dayjs;\r\n\r\n @Type(() => Clinic)\r\n Clinic!: Clinic;\r\n\r\n @Type(() => Employee)\r\n Employee!: Employee;\r\n\r\n @Type(() => Treatment)\r\n Treatment!: Treatment | null;\r\n\r\n @Type(() => Patient)\r\n Patient!: Patient;\r\n\r\n StartDateText(lang : string) {\r\n return capitalizeFirstLetter(this.Start.locale(lang).format('dddd D MMMM YYYY'));\r\n }\r\n StartDateShort(lang : string) {\r\n return this.Start.locale(lang).format('YYYY-MM-DD');\r\n }\r\n StartTimeText(lang: string) {\r\n return (lang === 'sv' ? 'kl ' : '') + this.Start.locale(lang).format('HH:mm');\r\n }\r\n GetStartMonthIn(lang : string) {\r\n return this.Start.locale(lang).format('MMMM');\r\n }\r\n}\r\n","import NextStepAnswer from \"../../general/models/NextStepAnswer\";\r\nimport ReasonAnswer from \"../../general/models/ReasonAnswer\";\r\nimport { Type } from \"class-transformer\";\r\nimport Booking from \"./Booking\"\r\n\r\nexport const enum CanCancel\r\n{\r\n CancelOK = \"CancelOK\",\r\n General = \"General\",\r\n TimeTooSoon = \"TimeTooSoon\",\r\n TreatmentNotCancelable = \"TreatmentNotCancelable\",\r\n TreatmentWithSerie = \"TreatmentWithSerie\",\r\n SpecialistClinic = \"SpecialistClinic\",\r\n MobileClinic = \"MobileClinic\",\r\n}\r\nexport const enum CanChange\r\n{\r\n EditOK = \"EditOK\",\r\n General = \"General\",\r\n TimeTooSoon = \"TimeTooSoon\",\r\n TreatmentNotEditable = \"TreatmentNotEditable\",\r\n TreatmentWithSerie = \"TreatmentWithSerie\",\r\n SpecialistClinic = \"SpecialistClinic\",\r\n MobileClinic = \"MobileClinic\",\r\n}\r\n\r\nexport default class BookingUpcoming extends Booking {\r\n CalendarUrl!: string;\r\n\r\n CanChange!: CanChange;\r\n CanCancel!: CanCancel;\r\n\r\n IsTimeRequiredByLaw!: boolean;\r\n MonthToYearIfRequired!: number;\r\n ForceDisableSnooze!: boolean;\r\n\r\n DoorCode!: string;\r\n\r\n @Type(() => ReasonAnswer)\r\n CancelReasonAnswers!: ReasonAnswer[];\r\n\r\n @Type(() => NextStepAnswer)\r\n CancelNextStepAnswers!: NextStepAnswer[];\r\n\r\n CanSnooze() {\r\n return this.CanChange === CanChange.EditOK && this.MonthToYearIfRequired > 1 && !this.ForceDisableSnooze;\r\n }\r\n}","import * as React from 'react';\r\nimport {DtvModal} from \"./DtvModal\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"../buttons\";\r\nimport DtvModalCloser, {DtvModalCloserStyle} from \"./DtvModalCloser\";\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"../icons\";\r\n\r\nexport const enum DtvMessagePopupStyle {\r\n Info = \"Info\",\r\n Error = \"Error\",\r\n}\r\ntype Props = {\r\n onClose: () => void;\r\n title: string;\r\n subTitle?: string | null;\r\n text: string;\r\n closeButtonText: string;\r\n style: DtvMessagePopupStyle;\r\n cssClasses?: string;\r\n}\r\n\r\nfunction DtvMessagePopup(props: Props) {\r\n const cssClasses = ['dtv-message-popup', props.style === DtvMessagePopupStyle.Info ? 'info' : 'error', props.cssClasses ?? ''];\r\n return (\r\n props.onClose()}>\r\n props.onClose()}/>\r\n {props.style === DtvMessagePopupStyle.Error ? : null}\r\n
    \r\n
    {props.title}
    \r\n {props.subTitle ?
    {props.subTitle}
    : null}\r\n
    {props.text}
    \r\n
    \r\n props.onClose()}\r\n block\r\n size={DtvButtonSize.SuperProminent}\r\n outline={DtvButtonOutline.ThinOutline}>\r\n {props.closeButtonText}\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default DtvMessagePopup;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {CanChange} from \"dtv-shared/src/api/my-pages/models/BookingUpcoming\";\r\nimport DtvMessagePopup, {DtvMessagePopupStyle} from \"dtv-shared/src/components/modals/DtvMessagePopup\";\r\n\r\nfunction EditBookingModal() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n if (state.bookings.editBooking === null || state.bookings.editBooking.CanChange === CanChange.EditOK) {\r\n return null;\r\n }\r\n\r\n let title = '';\r\n let text = 'general:callMain';\r\n switch(state.bookings.editBooking.CanChange) {\r\n case CanChange.General:\r\n title = 'bookings:canChangeGeneralTitle';\r\n break;\r\n case CanChange.TimeTooSoon:\r\n title = 'bookings:canChangeTimeTooSoonTitle';\r\n break;\r\n case CanChange.TreatmentNotEditable:\r\n title = 'bookings:canChangeTreatmentNotEditableTitle';\r\n break;\r\n case CanChange.TreatmentWithSerie:\r\n title = 'bookings:canChangeTreatmentWithSerieTitle';\r\n break;\r\n case CanChange.SpecialistClinic:\r\n title = 'bookings:canChangeSpecialistClinicTitle';\r\n text = 'bookings:canChangeSpecialistClinicText';\r\n break;\r\n case CanChange.MobileClinic:\r\n title = 'bookings:canChangeMobileClinicTitle';\r\n text = 'bookings:canChangeMobileClinicText';\r\n break;\r\n }\r\n return actions.bookings.closeEditBookingModal()}/>;\r\n}\r\n\r\nexport default EditBookingModal;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvModalFullScreenWithTopCloser} from \"dtv-shared/src/components/modals\";\r\nimport {DtvButton, DtvButtonColor, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {CanCancel} from \"dtv-shared/src/api/my-pages/models/BookingUpcoming\";\r\nimport DtvMessagePopup, {DtvMessagePopupStyle} from \"dtv-shared/src/components/modals/DtvMessagePopup\";\r\nimport {DtvDropDown, DtvRadioGroup} from \"dtv-shared/src/components/form\";\r\nimport { stat } from 'fs';\r\n\r\nfunction SectionRequiredByLaw() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n const booking = state.bookings.cancelBooking;\r\n if (booking === null) {\r\n throw new Error('booking cant be null here');\r\n }\r\n\r\n return
    \r\n
    \r\n
    {t('bookings:cancelBlockedLawTitle')}
    \r\n
    {t(state.bookings.selectedPatientIsMe ?\r\n 'bookings:cancelBlockedLawSubtitleMyself' :\r\n 'bookings:cancelBlockedLawSubtitleMyKid',\r\n {\r\n firstName: state.bookings.selectedPatient.FirstNamePossessive(state.language.language),\r\n phoneArea: state.common.phoneArea\r\n }\r\n )}
    \r\n
    \r\n
    \r\n actions.bookings.openEditBookingModal(booking.Id)}\r\n color={DtvButtonColor.Info}\r\n block\r\n size={DtvButtonSize.SuperProminent}>{t('bookings:changeTimeButtonLabel')}\r\n
    \r\n
    ;\r\n}\r\n\r\nfunction SectionSnooze() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n const booking = state.bookings.cancelBooking;\r\n if (booking === null) {\r\n throw new Error('cancelBooking was null');\r\n }\r\n\r\n return
    \r\n
    \r\n
    {t(state.bookings.selectedPatientIsMe ? 'bookings:ms1_snooze_myself_title' : 'bookings:ms1_snooze_mykid_title')}
    \r\n
    {t(state.bookings.selectedPatientIsMe ? 'bookings:ms1_snooze_myself_subtitle' : 'bookings:ms1_snooze_mykid_subtitle')}
    \r\n actions.bookings.setSelectedSnoozeOptionId(parseInt(val))}\r\n value={state.bookings.selectedSnoozeOptionId?.toString() ?? undefined}\r\n options={state.bookings.snoozeOptions.map(so => ({value: so.ID.toString(), text: so.GetText(state.language.language)}))}\r\n />\r\n actions.bookings.submitSnooze()}\r\n cssClasses=\"snooze-btn\"\r\n size={DtvButtonSize.SuperProminent}\r\n block\r\n color={DtvButtonColor.Info}>{t('bookings:main_snooze')}\r\n
    \r\n
    \r\n actions.bookings.noSnooze()}\r\n size={DtvButtonSize.SuperProminent}\r\n block>{t('bookings:ms1_no_cancel')}\r\n
    \r\n
    ;\r\n}\r\n\r\nfunction SectionCancel() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n const booking = state.bookings.cancelBooking;\r\n if (booking === null) {\r\n throw new Error('booking cant be null here');\r\n }\r\n\r\n return
    \r\n
    \r\n
    {t(state.bookings.selectedPatientIsMe ? 'bookings:ms1_confirm_cancel_title' : 'bookings:ms1_confirm_cancel_title_child', {firstName: state.bookings.selectedPatient.FirstNamePossessive(state.language.language)})}
    \r\n
    {t('bookings:ms1_confirm_cancel_sub_title')}
    \r\n
    \r\n\r\n actions.bookings.setCancelReasonId(parseInt(val))}\r\n errorMessage={t(state.bookings.cancelReasonError)}\r\n value={state.bookings.selectedReasonAnswerId?.toString() ?? ''}\r\n options={booking.CancelReasonAnswers.map(ra => ({ value: ra.Id.toString(), text: t(ra.GetText('bookings:cancel_')) }))} />\r\n {state.bookings.nextStepAnswers.length > 0 ?\r\n actions.bookings.setCancelNextStepId(parseInt(val))}\r\n value={state.bookings.selectedNextStepAnswerId?.toString() ?? ''}\r\n options={state.bookings.nextStepAnswers.map(ns => ({ value: ns.Id.toString(), text: t(ns.GetText('bookings:cancel_')) }))} />\r\n : null }\r\n
    \r\n
    \r\n actions.bookings.submitCancel()}\r\n cssClasses=\"btn-confirm\"\r\n color={DtvButtonColor.Info}\r\n size={DtvButtonSize.SuperProminent}\r\n fakeDisabled={state.bookings.disableCancelButton}>\r\n {t('bookings:ms1_confirm_cancel_yes')}\r\n \r\n actions.bookings.closeCancelBookingModal()}\r\n size={DtvButtonSize.SuperProminent}\r\n block>\r\n {t('bookings:snooze_2_cancel')}\r\n \r\n
    \r\n
    ;\r\n}\r\n\r\nfunction CancelBookingModal() {\r\n const state = useAppState();\r\n const actions = useActions();\r\n const { t } = useTranslation();\r\n\r\n const booking = state.bookings.cancelBooking;\r\n if (booking === null) {\r\n return null;\r\n }\r\n\r\n if ((!booking.CanSnooze() || state.bookings.noSnooze) && !booking.IsTimeRequiredByLaw && state.bookings.cancelBooking!.CanCancel !== CanCancel.CancelOK) {\r\n let title = '';\r\n let text = 'general:callMain';\r\n switch(state.bookings.cancelBooking!.CanCancel) {\r\n case CanCancel.General:\r\n title = 'bookings:canCancelGeneralTitle';\r\n break;\r\n case CanCancel.TimeTooSoon:\r\n title = 'bookings:canCancelTimeTooSoonTitle';\r\n break;\r\n case CanCancel.TreatmentNotCancelable:\r\n title = 'bookings:canCancelTreatmentNotCancelableTitle';\r\n break;\r\n case CanCancel.TreatmentWithSerie:\r\n title = 'bookings:canCancelTreatmentWithSerieTitle';\r\n break;\r\n case CanCancel.SpecialistClinic:\r\n title = 'bookings:canCancelSpecialistClinicTitle';\r\n text = 'bookings:canCancelSpecialistClinicText';\r\n break;\r\n case CanCancel.MobileClinic:\r\n title = 'bookings:canCancelMobileClinicTitle';\r\n text = 'bookings:canCancelMobileClinicText';\r\n break;\r\n }\r\n return actions.bookings.closeCancelBookingModal()}/>;\r\n }\r\n\r\n return actions.bookings.closeCancelBookingModal()}\r\n hasDiscreetDesktopCloser\r\n closeButtonText={t('general:close')}>\r\n {\r\n booking!.CanSnooze() && !state.bookings.noSnooze ?\r\n :\r\n (booking.IsTimeRequiredByLaw ?\r\n :\r\n )\r\n }\r\n ;\r\n}\r\n\r\nexport default CancelBookingModal;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvModalFullScreenWithTopCloser} from \"dtv-shared/src/components/modals\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\n\r\nfunction SnoozeConfirmModal() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n const snooze = state.bookings.confirmedSnoozedBooking;\r\n if (snooze === null) {\r\n return null;\r\n }\r\n\r\n return actions.bookings.closeSnoozeConfirmModal()}\r\n hasDiscreetDesktopCloser\r\n closeButtonText={t('general:close')}>\r\n {snooze.IsShort() ?\r\n
    \r\n
    \r\n
    {t('bookings:ms1_booking_snoozed_title')}
    \r\n
    {t(state.bookings.selectedPatientIsMe ?\r\n 'bookings:ms1_booking_snoozed_short_description_myself' :\r\n 'bookings:ms1_booking_snoozed_short_description_child', {\r\n firstName: state.bookings.selectedPatient.FirstName,\r\n firstNamePossessive: state.bookings.selectedPatient.FirstNamePossessive(state.language.language)\r\n })}
    \r\n
    \r\n {snooze.Employee.TitleAndName(state.language.language)}/\r\n
    \r\n
    {snooze.StartDateText(state.language.language)} {snooze.StartTimeText(state.language.language)}
    \r\n
    {snooze.Clinic.LocalizationTitleCleaned()}
    \r\n {snooze.Treatment !== null ?
    {snooze.Treatment.Name(state.language.language)}
    : null}\r\n
    {snooze.Employee.TitleAndName(state.language.language)}
    \r\n
    \r\n
    \r\n
    {t('bookings:ms1_booking_snoozed_under')}
    \r\n
    \r\n
    \r\n actions.bookings.closeSnoozeConfirmModal()}\r\n block\r\n size={DtvButtonSize.SuperProminent}\r\n outline={DtvButtonOutline.ThinOutline}>\r\n {t('bookings:main_close')}\r\n \r\n
    \r\n
    :\r\n
    \r\n
    \r\n
    {t('bookings:ms1_booking_snoozed_title')}
    \r\n
    {t('bookings:ms1_booking_snoozed_subtitle')}
    \r\n
    {snooze.IsFailed() ?\r\n t('bookings:snoozeFailedText') :\r\n t(state.bookings.selectedPatientIsMe ?\r\n 'bookings:ms1_booking_snoozed_long_description_myself' :\r\n 'bookings:ms1_booking_snoozed_long_description_child', {\r\n month: snooze.GetStartMonthIn(state.language.language),\r\n firstName: state.bookings.selectedPatient.FirstName,\r\n firstNamePossessive: state.bookings.selectedPatient.FirstNamePossessive(state.language.language)\r\n }\r\n )\r\n }
    \r\n
    \r\n
    \r\n actions.bookings.closeSnoozeConfirmModal()}\r\n block\r\n size={DtvButtonSize.SuperProminent}\r\n outline={DtvButtonOutline.ThinOutline}>\r\n {t('bookings:main_close')}\r\n \r\n
    \r\n
    }\r\n ;\r\n}\r\n\r\nexport default SnoozeConfirmModal;\r\n","import lookup from 'void-elements'\nconst attrRE = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g\n\nexport default function stringify(tag) {\n const res = {\n type: 'tag',\n name: '',\n voidElement: false,\n attrs: {},\n children: [],\n }\n\n const tagMatch = tag.match(/<\\/?([^\\s]+?)[/\\s>]/)\n if (tagMatch) {\n res.name = tagMatch[1]\n if (\n lookup[tagMatch[1]] ||\n tag.charAt(tag.length - 2) === '/'\n ) {\n res.voidElement = true\n }\n\n // handle comment tag\n if (res.name.startsWith('!--')) {\n const endIndex = tag.indexOf('-->')\n return {\n type: 'comment',\n comment: endIndex !== -1 ? tag.slice(4, endIndex) : '',\n }\n }\n }\n\n const reg = new RegExp(attrRE)\n let result = null\n for (;;) {\n result = reg.exec(tag)\n\n if (result === null) {\n break\n }\n\n if (!result[0].trim()) {\n continue\n }\n\n if (result[1]) {\n const attr = result[1].trim()\n let arr = [attr, '']\n\n if (attr.indexOf('=') > -1) {\n arr = attr.split('=')\n }\n\n res.attrs[arr[0]] = arr[1]\n reg.lastIndex--\n } else if (result[2]) {\n res.attrs[result[2]] = result[3].trim().substring(1, result[3].length - 1)\n }\n }\n\n return res\n}\n","import parseTag from './parse-tag'\n\nconst tagRE = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g\nconst whitespaceRE = /^\\s*$/\n\n// re-used obj for quick lookups of components\nconst empty = Object.create(null)\n\nexport default function parse(html, options) {\n options || (options = {})\n options.components || (options.components = empty)\n const result = []\n const arr = []\n let current\n let level = -1\n let inComponent = false\n\n // handle text at top level\n if (html.indexOf('<') !== 0) {\n var end = html.indexOf('<')\n result.push({\n type: 'text',\n content: end === -1 ? html : html.substring(0, end),\n })\n }\n\n html.replace(tagRE, function (tag, index) {\n if (inComponent) {\n if (tag !== '') {\n return\n } else {\n inComponent = false\n }\n }\n const isOpen = tag.charAt(1) !== '/'\n const isComment = tag.startsWith(''\n return buff\n }\n}\n\nexport default function (doc) {\n return doc.reduce(function (token, rootEl) {\n return token + stringify('', rootEl)\n }, '')\n}\n","import parse from './parse'\nimport stringify from './stringify'\n\nexport default {\n parse,\n stringify,\n}\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import * as React from 'react';\r\nimport {useAppState} from \"../../overmind\";\r\n\r\nfunction PhoneLink() {\r\n const state = useAppState();\r\n return {state.common.phoneArea};\r\n}\r\n\r\nexport default PhoneLink;","import * as React from 'react';\r\nimport {Trans, useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvModalFullScreenWithTopCloser} from \"dtv-shared/src/components/modals\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport PhoneLink from \"../general/PhoneLink\";\r\n\r\nfunction CancelConfirmModal() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n if (!state.bookings.showCancelConfirmModal) {\r\n return null;\r\n }\r\n\r\n return actions.bookings.closeCancelConfirmModal()}\r\n hasDiscreetDesktopCloser\r\n closeButtonText={t('general:close')}>\r\n
    \r\n
    \r\n
    {t(state.bookings.selectedPatientIsMe ? 'bookings:ms1_booking_cancelled_title' : 'bookings:ms1_booking_cancelled_title_child', {firstName: state.bookings.selectedPatient.FirstNamePossessive(state.language.language)})}
    \r\n {state.bookings.cancelBookingNextStepCode ?\r\n <>\r\n
    {t('bookings:ms1_booking_cancelled_subtitle_' + state.bookings.cancelBookingNextStepCode)}
    \r\n
    \r\n \r\n : null\r\n } \r\n
    \r\n
    \r\n actions.bookings.closeCancelConfirmModal()}\r\n block\r\n size={DtvButtonSize.SuperProminent}\r\n outline={DtvButtonOutline.ThinOutline}>\r\n {t('bookings:main_close')}\r\n \r\n
    \r\n
    \r\n ;\r\n}\r\n\r\nexport default CancelConfirmModal;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\n\r\nfunction CancelledBookings() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n return (\r\n
    \r\n {state.bookings.cancelledBookings.map(booking =>\r\n
    \r\n
    \r\n {booking.Employee.Name}/\r\n
    \r\n
    {t('bookings:cancelledTime')}
    \r\n
    {booking.StartDateText(state.language.language)} {booking.StartTimeText(state.language.language)}
    \r\n
    {booking.Clinic.LocalizationTitleCleaned()}
    \r\n
    {booking.Employee.TitleAndName(state.language.language)}
    \r\n
    \r\n
    \r\n actions.bookings.rebookBooking(booking.Id)}\r\n size={DtvButtonSize.Small}\r\n outline={DtvButtonOutline.ThinOutline}>{t('bookings:rebookBookingBtnLabel')}\r\n
    \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nexport default CancelledBookings;\r\n","import * as React from 'react';\r\nimport {DtvIconProps} from \"dtv-shared/src/components/icons/DtvIcon\";\r\nimport Card from \"./Card\";\r\n\r\ntype Props = {\r\n cssClasses?: string;\r\n icon?: React.ReactElement;\r\n children: React.ReactNode;\r\n withBtn?: boolean;\r\n}\r\n\r\nfunction StatusCard(props: Props) {\r\n const cssClassesArray = ['status-card'];\r\n\r\n if (props.cssClasses) {\r\n cssClassesArray.push(props.cssClasses);\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nexport default StatusCard;\r\n","import * as React from 'react';\r\nimport {useAppState} from \"../../overmind\";\r\n\r\nfunction PhoneSpan() {\r\n const state = useAppState();\r\n return {state.common.phoneArea};\r\n}\r\n\r\nexport default PhoneSpan;","import * as React from 'react';\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {Trans, useTranslation} from \"react-i18next\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport {Gender} from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport StatusCard from \"../general/StatusCard\";\r\nimport PhoneSpan from \"../general/PhoneSpan\";\r\n\r\nfunction NoPat() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n const me = state.listingStatus.selectedPatientIsMe;\r\n const selectedPatient = state.listingStatus.selectedPatient;\r\n\r\n if (state.callForm.open) {\r\n return null;\r\n }\r\n\r\n return }\r\n >\r\n
    { me ?\r\n t('listingStatus:noPatStrongText') :\r\n t('listingStatus:noPatStrongTextChild', {firstName: selectedPatient?.FirstName ?? ''})\r\n }
    \r\n
    \r\n \r\n
    \r\n actions.callForm.open()}\r\n outline={DtvButtonOutline.ThinOutline}>\r\n {\r\n me ?\r\n t('listingStatus:startCallingMeBtnLabel') :\r\n t((selectedPatient?.Gender() ?? Gender.Male) === Gender.Male ? 'listingStatus:startCallingBtnLabelMale' : 'listingStatus:startCallingBtnLabelFemale')\r\n }\r\n \r\n ;\r\n}\r\n\r\nexport default NoPat;","import * as React from 'react';\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {Trans, useTranslation} from \"react-i18next\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport {Gender} from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport StatusCard from \"../general/StatusCard\";\r\nimport PhoneSpan from \"../general/PhoneSpan\";\r\n\r\nfunction NoDRev() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n const me = state.listingStatus.selectedPatientIsMe;\r\n const selectedPatient = state.listingStatus.selectedPatient;\r\n\r\n return }\r\n >\r\n
    { me ?\r\n t('listingStatus:noDRevStrongText') :\r\n t('listingStatus:noDRevStrongTextChild', {firstName: selectedPatient!.FirstName})\r\n }
    \r\n
    \r\n \r\n
    \r\n actions.callForm.open()}\r\n outline={DtvButtonOutline.ThinOutline}>\r\n {\r\n me ?\r\n t('listingStatus:startCallingMeBtnLabel') :\r\n t(selectedPatient.Gender() === Gender.Male ? 'listingStatus:startCallingBtnLabelMale' : 'listingStatus:startCallingBtnLabelFemale')\r\n }\r\n \r\n ;\r\n}\r\n\r\nexport default NoDRev;","import * as React from 'react';\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useAppState} from \"../../overmind\";\r\nimport StatusCard from \"../general/StatusCard\";\r\n\r\nfunction Called() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n\r\n return }>\r\n
    {\r\n state.listingStatus.selectedPatientIsMe ?\r\n t('listingStatus:calledTitle') :\r\n t('listingStatus:calledTitleChild', {possessiveFirstName: state.listingStatus.selectedPatient.PossessiveFirstName(state.language.language)})\r\n }
    \r\n
    {\r\n state.listingStatus.selectedPatientIsMe ?\r\n t('listingStatus:calledText') :\r\n t('listingStatus:calledTextChild', {firstName: state.listingStatus.selectedPatient.FirstName})\r\n }
    \r\n
    ;\r\n}\r\n\r\nexport default Called;","import * as React from 'react';\r\nimport {useAppState} from \"../../overmind\";\r\nimport {DtvClinicSelect} from \"dtv-shared/src/components/form\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport Clinic from \"dtv-shared/src/api/my-pages/models/Clinic\";\r\n\r\nexport enum ClinicScope {\r\n AcceptsOnlineListings = \"AcceptsOnlineListings\",\r\n AcceptsOnlineListingsChildren = \"AcceptsOnlineListingsChildren\",\r\n}\r\n\r\ntype Props = {\r\n placeholderLabel?: string;\r\n showNearestLabel?: string;\r\n otherAreasLabel?: string;\r\n selectedClinicDataId: number | null;\r\n onChangeClinicDataId: (clinicDataId: number | null) => void;\r\n loadingText?: string;\r\n attemptNearbyDirectly?: boolean;\r\n positionErrorText?: string;\r\n labelText: string;\r\n styleV2?: boolean;\r\n disabled?: boolean,\r\n errorMessage?: string | null;\r\n clinicScope?: ClinicScope;\r\n cssClasses?: string;\r\n}\r\n\r\nfunction MyPagesClinicSelect(props: Props) {\r\n const state = useAppState();\r\n const { t } = useTranslation();\r\n\r\n if (state.clinics.loading) {\r\n return {}}\r\n loadingText={props.loadingText ?? t('clinicSelect:loadingText')}\r\n attemptNearbyDirectly={false}\r\n positionErrorText={props.positionErrorText ?? t('clinicSelect:positionErrorText')}\r\n labelText={props.labelText}\r\n errorMessage={props.errorMessage}\r\n disabled={true}\r\n cssClasses={props.cssClasses}\r\n />;\r\n }\r\n\r\n\r\n let clinics : Clinic[] | null = null;\r\n\r\n switch(props.clinicScope) {\r\n case ClinicScope.AcceptsOnlineListings:\r\n clinics = state.clinics.acceptsOnlineListings;\r\n break;\r\n case ClinicScope.AcceptsOnlineListingsChildren:\r\n clinics = state.clinics.acceptsOnlineListingsChildren;\r\n break;\r\n default:\r\n clinics = state.clinics.acceptsOnlineListings;\r\n break;\r\n }\r\n\r\n if (clinics === null) {\r\n throw new Error(\"clinics are null but not loading..\");\r\n }\r\n\r\n clinics = clinics.filter(clinic => clinic.Lat !== null && clinic.Lat !== undefined && clinic.Lat !== 0);\r\n\r\n //console.log('clinics', clinics);\r\n return (\r\n ({\r\n lat: clinic.Lat ?? 0,\r\n lng: clinic.Lng ?? 0,\r\n name: clinic.Name,\r\n localizationTitleFormatted: clinic.LocalizationTitleFormatted,\r\n id: clinic.ClinicDataId,\r\n areas: clinic.Areas.map(area => ({name: area.Name(state.language.language), order: area.Order})),\r\n }))}\r\n placeholderLabel={props.placeholderLabel ?? t('clinicSelect:placeholderLabel')}\r\n showNearestLabel={props.showNearestLabel ?? t('clinicSelect:showNearestLabel')}\r\n otherAreasLabel={props.otherAreasLabel ?? t('clinicSelect:otherAreasLabel')}\r\n selectedClinicId={props.selectedClinicDataId}\r\n onChangeClinicId={props.onChangeClinicDataId}\r\n loadingText={props.loadingText ?? t('clinicSelect:loadingText')}\r\n attemptNearbyDirectly={props.attemptNearbyDirectly ?? false}\r\n positionErrorText={props.positionErrorText ?? t('clinicSelect:positionErrorText')}\r\n labelText={props.labelText}\r\n errorMessage={props.errorMessage}\r\n disabled={props.disabled}\r\n cssClasses={props.cssClasses}\r\n />\r\n );\r\n}\r\n\r\nexport default MyPagesClinicSelect;\r\n","import {myPagesApi} from './myPagesApi';\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport enum PurposeEnum {\r\n AdultChangeDentist = \"AdultChangeDentist\",\r\n AdultChangeHygienist = \"AdultChangeHygienist\",\r\n KidChangeClinic = \"KidChangeClinic\",\r\n}\r\ntype ChangeListingStatusRequest = {\r\n Purpose: PurposeEnum;\r\n SSN: string | null;\r\n ToClinicDataId: number;\r\n ToEmployeeId: number | null;\r\n}\r\n\r\n\r\nexport const ChangeListingStatus = async (request: ChangeListingStatusRequest) : Promise => {\r\n const res = await myPagesApi.post(BaseResponse, 'ChangeListingStatus', {\r\n request: request,\r\n });\r\n\r\n return res;\r\n};\r\n\r\nexport const ChildChangeClinic = async (ssn: string | null, toClinicDataId: number) : Promise => {\r\n return await ChangeListingStatus({\r\n Purpose: PurposeEnum.KidChangeClinic,\r\n SSN: ssn,\r\n ToClinicDataId: toClinicDataId,\r\n ToEmployeeId: null,\r\n })\r\n};\r\n\r\nexport enum CallFormWhenCalled {\r\n Soon = \"Soon\",\r\n TwoThreeMonths = \"TwoThreeMonths\",\r\n ThreeSixMonths = \"ThreeSixMonths\",\r\n}\r\n\r\ntype CallMeFormRequest = {\r\n SSN: string;\r\n ToClinicDataId: number;\r\n Email: string | null;\r\n Mobile: string | null;\r\n SendReminderSMS: boolean;\r\n SendReminderEmail: boolean;\r\n SendRecallSMS: boolean;\r\n SendRecallEmail: boolean;\r\n SendRecallLetter: boolean | null;\r\n SendInfoSMS: boolean | null;\r\n SendInfoEmail: boolean | null;\r\n DentistId: number | null;\r\n WhenCalled: CallFormWhenCalled | null;\r\n}\r\n\r\nexport const CallMeForm = async (request: CallMeFormRequest) : Promise => {\r\n return await myPagesApi.post(BaseResponse, 'CallMeForm', {\r\n request: request,\r\n });\r\n};","import {derived} from \"overmind\";\r\nimport {config} from \"../index\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport {ValidateEmail, ValidateMobile, ValidationResult} from \"dtv-shared/src/functions/validation\";\r\nimport Employee from \"dtv-shared/src/api/my-pages/models/Employee\";\r\nimport {Canceler} from \"axios\";\r\nimport {CallFormWhenCalled} from \"dtv-shared/src/api/my-pages/listingStatus\";\r\n\r\nexport enum CallFormSelectDentist {\r\n Automatic = \"Automatic\",\r\n Manual = \"Manual\",\r\n}\r\n\r\ntype CallFormState = {\r\n open: boolean;\r\n submitAttempted: boolean;\r\n phone: string;\r\n email: string;\r\n sendReminderSMS: boolean | null;\r\n sendReminderEmail: boolean | null;\r\n sendRecallSMS: boolean | null;\r\n sendRecallEmail: boolean | null;\r\n sendRecallLetter: boolean | null;\r\n sendInfoSMS: boolean | null;\r\n sendInfoEmail: boolean | null;\r\n errorMessage: string | null;\r\n selectDentistAttempted: boolean;\r\n readonly validPhone: string;\r\n readonly errorPhone: string;\r\n readonly validEmail: string;\r\n readonly errorEmail: string;\r\n readonly validInputReminderSettings: string;\r\n readonly errorInputReminderSettings: string;\r\n readonly validInputRecallSettings: string;\r\n readonly errorInputRecallSettings: string;\r\n readonly validSelectedClinicDataId: string;\r\n readonly errorSelectedClinicDataId: string;\r\n readonly validSelectedDentistId: string;\r\n readonly errorSelectedDentistId: string;\r\n readonly errorSelectDentist: string;\r\n underLyingSelectedPatient: Patient | null;\r\n readonly selectedPatient: Patient;\r\n readonly selectedPatientIsMe: boolean;\r\n selectedClinicDataId: number | null;\r\n readonly isFormValid: boolean;\r\n readonly submitDisabled: boolean;\r\n submitting: boolean;\r\n readonly selectedDentistDisabled: boolean;\r\n selectDentist: CallFormSelectDentist;\r\n loadingDentists: boolean;\r\n dentists: Employee[];\r\n employeeSelectExpanded: boolean;\r\n selectedDentistId: number | null;\r\n loadingDentistsCanceler: Canceler | null;\r\n whenCalled: CallFormWhenCalled;\r\n readonly whenCalledDisabled: boolean;\r\n readonly hasFreeDental: boolean;\r\n}\r\n\r\nexport const initialCallFormState = (pat: Patient | null = null) => ({\r\n open: false,\r\n submitAttempted: false,\r\n phone: pat?.Mobile ?? '',\r\n email: pat?.Email ?? '',\r\n sendReminderSMS: pat?.PatientSettings?.SendReminderSMS ?? null,\r\n sendReminderEmail: pat?.PatientSettings?.SendReminderEmail ?? null,\r\n sendRecallSMS: pat?.PatientSettings?.SendRecallSMS ?? null,\r\n sendRecallEmail: pat?.PatientSettings?.SendRecallEmail ?? null,\r\n sendRecallLetter: pat?.PatientSettings?.SendRecallLetter ?? null,\r\n sendInfoSMS: pat?.PatientSettings?.SendInfoSMS ?? null,\r\n sendInfoEmail: pat?.PatientSettings?.SendInfoEmail ?? null,\r\n errorMessage: null,\r\n selectDentistAttempted: false,\r\n validPhone: derived((state: CallFormState) => {\r\n if (state.phone !== '' && state.phone === state.selectedPatient?.Mobile) {\r\n return '';\r\n }\r\n\r\n const valid = ValidateMobile(state.phone);\r\n switch (valid) {\r\n case ValidationResult.Empty:\r\n return 'listingStatus:callFormPhoneErrorEmpty';\r\n case ValidationResult.Invalid:\r\n return 'listingStatus:callFormPhoneErrorInvalid';\r\n case ValidationResult.Valid:\r\n return '';\r\n }\r\n\r\n return '';\r\n }),\r\n errorPhone: derived((state: CallFormState) => {\r\n if (!state.submitAttempted) {\r\n return '';\r\n }\r\n\r\n return state.validPhone;\r\n }),\r\n validEmail: derived((state: CallFormState, rootState: typeof config.state) => {\r\n if (state.email !== '' && state.email === state.selectedPatient?.Email) {\r\n return '';\r\n }\r\n\r\n const valid = ValidateEmail(state.email);\r\n switch (valid) {\r\n case ValidationResult.Empty:\r\n return 'listingStatus:callFormEmailErrorEmpty';\r\n case ValidationResult.Invalid:\r\n return 'listingStatus:callFormEmailErrorInvalid';\r\n case ValidationResult.Valid:\r\n return '';\r\n }\r\n\r\n return '';\r\n }),\r\n errorEmail: derived((state: CallFormState, rootState: typeof config.state) => {\r\n if (!state.submitAttempted) {\r\n return '';\r\n }\r\n\r\n return state.validEmail;\r\n }),\r\n validInputReminderSettings: derived((state: CallFormState) => {\r\n if (!state.sendReminderSMS && !state.sendReminderEmail) {\r\n return \"settings:error-patcom-selection\";\r\n }\r\n return '';\r\n }),\r\n errorInputReminderSettings: derived((state: CallFormState) => {\r\n if (!state.submitAttempted) {\r\n return '';\r\n }\r\n return state.validInputReminderSettings;\r\n }),\r\n validInputRecallSettings: derived((state: CallFormState) => {\r\n if (!state.sendRecallSMS && !state.sendRecallEmail) {\r\n return \"settings:error-patcom-selection\";\r\n }\r\n return '';\r\n }),\r\n errorInputRecallSettings: derived((state: CallFormState) => {\r\n if (!state.submitAttempted) {\r\n return '';\r\n }\r\n return state.validInputRecallSettings;\r\n }),\r\n validSelectedClinicDataId: derived((state: CallFormState, rootState: typeof config.state) => {\r\n if (!state.selectedClinicDataId) {\r\n return \"listingStatus:callFormErrorClinicSelect\";\r\n }\r\n return '';\r\n }),\r\n errorSelectedClinicDataId: derived((state: CallFormState) => {\r\n if (!state.submitAttempted) {\r\n return '';\r\n }\r\n return state.validSelectedClinicDataId;\r\n }),\r\n validSelectedDentistId: derived((state: CallFormState) => {\r\n if (state.selectDentist === CallFormSelectDentist.Manual && state.selectedDentistId === null) {\r\n return \"listingStatus:callFormErrorDentistSelect\";\r\n }\r\n return '';\r\n }),\r\n errorSelectedDentistId: derived((state: CallFormState) => {\r\n if (!state.submitAttempted) {\r\n return '';\r\n }\r\n return state.validSelectedDentistId;\r\n }),\r\n errorSelectDentist: derived((state: CallFormState) => {\r\n if (state.selectDentistAttempted && state.selectedDentistDisabled && !state.submitting) {\r\n return 'listingStatus:callFormErrorSelectDentist';\r\n }\r\n return '';\r\n }),\r\n underLyingSelectedPatient: pat ?? null,\r\n selectedPatient: derived((state: CallFormState, rootState: typeof config.state) => {\r\n return state.underLyingSelectedPatient ?? rootState.listingStatus.selectedPatient;\r\n }),\r\n selectedPatientIsMe: derived((state: CallFormState, rootState: typeof config.state) => {\r\n return rootState.listingStatus.selectedPatientIsMe;\r\n }),\r\n selectedClinicDataId: null, // Andrea and David decided it should never be preselected / 2022-09-20\r\n isFormValid: derived((state: CallFormState) => {\r\n return state.validInputRecallSettings === '' &&\r\n state.validInputReminderSettings === '' &&\r\n state.validSelectedClinicDataId === '' &&\r\n state.validPhone === '' &&\r\n state.validEmail === '' &&\r\n state.validSelectedDentistId === '';\r\n }),\r\n submitDisabled: derived((state: CallFormState) => {\r\n return !state.isFormValid || state.submitting;\r\n }),\r\n submitting: false,\r\n selectedDentistDisabled: derived((state: CallFormState) => {\r\n return state.submitting || state.selectedClinicDataId === null;\r\n }),\r\n selectDentist: CallFormSelectDentist.Automatic,\r\n loadingDentists: false,\r\n dentists: [],\r\n selectedDentistId: null,\r\n employeeSelectExpanded: true,\r\n loadingDentistsCanceler: null,\r\n whenCalled: CallFormWhenCalled.Soon,\r\n whenCalledDisabled: derived((state: CallFormState) => {\r\n return state.submitting;\r\n }),\r\n hasFreeDental: derived((state: CallFormState) => {\r\n return state.selectedPatient?.HasFreeDentalCare ?? false;\r\n }),\r\n})\r\n\r\nexport const state: CallFormState = initialCallFormState();","import {Canceler} from \"axios\";\r\n\r\nexport enum Language {\r\n sv = 'sv',\r\n en = 'en',\r\n}\r\n\r\ntype LanguageState = {\r\n language: Language;\r\n setLanguageCanceler: Canceler | null;\r\n}\r\n\r\nexport const state: LanguageState = {\r\n language: window.dtvLang ?? Language.sv,\r\n setLanguageCanceler: null,\r\n}","import * as React from 'react';\r\nimport {DtvEmployeeSelect} from \"dtv-shared/src/components/form\";\r\n\r\nimport Employee from \"dtv-shared/src/api/my-pages/models/Employee\";\r\nimport {useAppState} from \"../../overmind\";\r\nimport {Language} from \"../../overmind/language/language-state\";\r\n\r\ntype Props = {\r\n employees: Employee[];\r\n className?: string;\r\n selectedEmployeeId: number | null;\r\n showAllText: string;\r\n onChangeEmployeeId: (employeeId: number | null) => void;\r\n errorMessage?: string | null;\r\n expanded: boolean;\r\n setExpanded: (expanded: boolean) => void;\r\n}\r\nfunction MyPagesEmployeeSelect(props: Props) {\r\n const state = useAppState();\r\n\r\n return ({\r\n id: e.Id,\r\n title: state.language.language === Language.sv ? e.TitleSv : e.TitleEn,\r\n name: e.Name,\r\n imageUrl: e.ImageUrl()\r\n }))}\r\n className={props.className}\r\n selectedEmployeeId={props.selectedEmployeeId}\r\n showAllText={props.showAllText}\r\n onChangeEmployeeId={props.onChangeEmployeeId}\r\n errorMessage={props.errorMessage}\r\n expanded={props.expanded}\r\n setExpanded={props.setExpanded}\r\n />;\r\n}\r\n\r\nexport default MyPagesEmployeeSelect;\r\n","import * as React from 'react';\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport {\r\n DtvControlGroup,\r\n DtvFormMessageType,\r\n DtvFormMessageWithTitleAndText,\r\n DtvStyledCheckBox,\r\n DtvStyledRadio,\r\n TextInputV2\r\n} from \"dtv-shared/src/components/form\";\r\nimport {DtvButton, DtvButtonColor, DtvButtonSize, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\nimport MyPagesClinicSelect, {ClinicScope} from \"../general/MyPagesClinicSelect\";\r\nimport {DtvPreloader, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport {CallFormSelectDentist} from '../../overmind/call-form/call-form-state';\r\nimport MyPagesEmployeeSelect from \"../general/MyPagesEmployeeSelect\";\r\nimport {DtvModalFullScreenWithTopCloser} from \"dtv-shared/src/components/modals\";\r\nimport {CallFormWhenCalled} from \"dtv-shared/src/api/my-pages/listingStatus\";\r\nimport {Gender} from \"dtv-shared/src/api/my-pages/models/Patient\";\r\n\r\nfunction CallForm() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n if (!state.callForm.open) {\r\n return null;\r\n }\r\n\r\n const selectedPatient = state.callForm.selectedPatient;\r\n\r\n return actions.callForm.close()}>\r\n
    \r\n
    \r\n \r\n
    \r\n {state.callForm.hasFreeDental ?\r\n (state.callForm.selectedPatientIsMe ?\r\n t('listingStatus:callFormTopTitleChild') :\r\n t('listingStatus:callFormTopTitleChildName', {firstName: state.callForm.selectedPatient.FirstName})) :\r\n t('listingStatus:callFormTopTitleAdult')}\r\n
    \r\n
    \r\n {state.callForm.hasFreeDental ?\r\n (state.callForm.selectedPatientIsMe ?\r\n t('listingStatus:callFormTopTextChild') :\r\n t('listingStatus:callFormTopTextChildName'+(state.callForm.selectedPatient.Gender() === Gender.Male ? 'Male' : 'Female'), {firstNamePossessive: state.callForm.selectedPatient.FirstNamePossessive(state.language.language)})) :\r\n t('listingStatus:callFormTopTextAdult')}\r\n
    \r\n
    \r\n actions.callForm.changePhone(val)}\r\n type='tel'\r\n />\r\n actions.callForm.changeEmail(val)}\r\n type='email'\r\n />\r\n
    \r\n \r\n \r\n \r\n { selectedPatient.PatientSettings?.SendRecallLetter ?\r\n \r\n : null }\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n selectedPatient.CanConsentToReceivingPromotions ?\r\n \r\n \r\n \r\n : null\r\n }\r\n
    \r\n\r\n {!state.callForm.hasFreeDental ?\r\n \r\n {actions.callForm.changeWhenCalled(CallFormWhenCalled.Soon)}}\r\n disabled={state.callForm.whenCalledDisabled}\r\n />\r\n {actions.callForm.changeWhenCalled(CallFormWhenCalled.TwoThreeMonths)}}\r\n disabled={state.callForm.whenCalledDisabled}\r\n />\r\n {actions.callForm.changeWhenCalled(CallFormWhenCalled.ThreeSixMonths)}}\r\n disabled={state.callForm.whenCalledDisabled}\r\n />\r\n : null}\r\n\r\n actions.callForm.changeSelectedClinicDataId(clinicDataId)}\r\n errorMessage={t(state.callForm.errorSelectedClinicDataId)}\r\n clinicScope={state.callForm.hasFreeDental ? ClinicScope.AcceptsOnlineListingsChildren : ClinicScope.AcceptsOnlineListings}\r\n labelText={state.callForm.selectedPatientIsMe ? t('listingStatus:callFormSelectClinicLabel') : t('listingStatus:callFormSelectClinicLabel'+(state.callForm.selectedPatient.Gender() === Gender.Male ? 'Male' : 'Female'))}/>\r\n\r\n {!state.callForm.hasFreeDental ?\r\n \r\n {actions.callForm.changeSelectDentist(CallFormSelectDentist.Automatic)}}\r\n disabled={state.callForm.selectedDentistDisabled}\r\n onClick={() => actions.callForm.clickSelectDentist()}\r\n />\r\n {actions.callForm.changeSelectDentist(CallFormSelectDentist.Manual)}}\r\n disabled={state.callForm.selectedDentistDisabled}\r\n onClick={() => actions.callForm.clickSelectDentist()}\r\n />\r\n : null}\r\n\r\n {!state.callForm.hasFreeDental && state.callForm.selectDentist === CallFormSelectDentist.Manual ?\r\n (state.callForm.loadingDentists ? :\r\n actions.callForm.setEmployeeSelectExpanded(expanded)}\r\n employees={state.callForm.dentists}\r\n selectedEmployeeId={state.callForm.selectedDentistId}\r\n onChangeEmployeeId={dentistId => actions.callForm.changeSelectedDentistId(dentistId)}\r\n showAllText={t('listingStatus:callFormDentistSelectShowAllText')}\r\n errorMessage={t(state.callForm.errorSelectedDentistId)}\r\n />)\r\n : null}\r\n {state.callForm.errorMessage ?\r\n (}\r\n title={t('general:error-title')}\r\n text={t(state.callForm.errorMessage)}\r\n onDismiss={() => actions.callForm.dismissErrorMessage()}\r\n />) : null}\r\n\r\n actions.callForm.submit()}\r\n >{t('listingStatus:callFormSubmitBtnLabel')}\r\n
    \r\n ;\r\n}\r\n\r\nexport default CallForm;","import {Trans, useTranslation} from \"react-i18next\";\r\nimport {useAppState} from \"../../overmind\";\r\nimport {DtvIcon} from \"dtv-shared/src/components/icons\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\nimport * as React from \"react\";\r\nimport StatusCard from \"./StatusCard\";\r\nimport PhoneLink from \"./PhoneLink\";\r\n\r\n\r\nfunction BookNowCard() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n\r\n return } cssClasses={'book-now-card'} withBtn={state.bookNowCard.showButton}>\r\n
    {t(state.bookNowCard.title, {firstName: state.bookNowCard.selectedPatient?.FirstName ?? ''})}
    \r\n
    \r\n {state.bookNowCard.showButton ? {t(state.bookNowCard.buttonLabel)} : null}\r\n
    ;\r\n}\r\n\r\nexport default BookNowCard;","import * as React from 'react';\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useAppState} from \"../../overmind\";\r\nimport {Gender} from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport StatusCard from \"../general/StatusCard\";\r\n\r\nfunction EnlistWaiting() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n\r\n const me = state.listingStatus.selectedPatientIsMe;\r\n const selectedPatient = state.listingStatus.selectedPatient;\r\n return }\r\n >\r\n
    { me ?\r\n t('listingStatus:enlistWaitingTitle') :\r\n t('listingStatus:enlistWaitingTitleChild', {firstName: selectedPatient?.FirstName ?? ''})\r\n }
    \r\n
    {\r\n me ?\r\n t('listingStatus:enlistWaitingText') :\r\n t(selectedPatient.Gender() === Gender.Male ? 'listingStatus:enlistWaitingTextChildMale' : 'listingStatus:enlistWaitingTextChildFemale')\r\n }
    \r\n ;\r\n}\r\n\r\nexport default EnlistWaiting;","import * as React from 'react';\r\nimport {useAppState, useEffects} from '../../overmind';\r\nimport NoPat from \"../listing-status/NoPat\";\r\nimport NoDRev from \"../listing-status/NoDRev\";\r\nimport Called from \"../listing-status/Called\";\r\nimport {PatientListingDentistStatusEnum} from \"dtv-shared/src/api/my-pages/models/PatientListingStatus\";\r\nimport CallForm from \"../listing-status/CallForm\";\r\nimport BookNowCard from \"../general/BookNowCard\";\r\nimport EnlistWaiting from \"../listing-status/EnlistWaiting\";\r\n\r\n\r\nfunction BookingPageListingStatus() {\r\n const state = useAppState();\r\n\r\n const effects = useEffects();\r\n const pat = state.listingStatus.selectedPatient;\r\n\r\n /* TODO , remove this test-thing */\r\n //return <>;\r\n\r\n if (pat === null) {\r\n effects.log.logWarn({message: 'pat === null in BookingPageListingStatus'});\r\n return null;\r\n }\r\n\r\n switch (pat.PatientListingStatus.DentistStatus) {\r\n case PatientListingDentistStatusEnum.NoPat:\r\n return <>\r\n \r\n \r\n \r\n ;\r\n case PatientListingDentistStatusEnum.NoDRev:\r\n return <>\r\n \r\n \r\n \r\n ;\r\n case PatientListingDentistStatusEnum.Called:\r\n case PatientListingDentistStatusEnum.ChildListed:\r\n case PatientListingDentistStatusEnum.ChildWaitingMove:\r\n case PatientListingDentistStatusEnum.HasDentist:\r\n case PatientListingDentistStatusEnum.DentistWaiting:\r\n return <>\r\n \r\n \r\n ;\r\n case PatientListingDentistStatusEnum.ChildWaitingEnlist:\r\n case PatientListingDentistStatusEnum.EnlistWaiting:\r\n return <>\r\n \r\n \r\n ;\r\n default:\r\n effects.log.logError({message: 'Invalid BookingsPage ListingStatus: ' + pat.PatientListingStatus.DentistStatus})\r\n return null;\r\n }\r\n}\r\n\r\nexport default BookingPageListingStatus;","import PageHeader from \"./PageHeader\";\r\nimport MainMenu from \"../main-menu/MainMenu\";\r\nimport {DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport * as React from \"react\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useAppState} from \"../../overmind\";\r\n\r\ntype Props = {\r\n loading: boolean;\r\n sectionClassName: string;\r\n headerTitle: string;\r\n children: React.ReactNode;\r\n};\r\n\r\nfunction SubPageLayout(props: Props) {\r\n const state = useAppState();\r\n const { t } = useTranslation();\r\n const loading = props.loading || state.mainMenu.loading;\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {state.mainMenu.loading ? null : }\r\n
    \r\n
    \r\n
    \r\n {t('general:pageHeaderBackButtonLabel')}\r\n
    {props.headerTitle}
    \r\n
    \r\n {loading ?\r\n \r\n \r\n {t('general:loading')}\r\n :\r\n <>\r\n {props.children}\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SubPageLayout;","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useAppState, useEffects} from '../../overmind';\r\nimport ChildSelector from \"../general/ChildSelector\";\r\nimport ActiveBookings from \"./ActiveBookings\";\r\nimport EditBookingModal from \"./EditBookingModal\";\r\nimport CancelBookingModal from \"./CancelBookingModal\";\r\nimport SnoozeConfirmModal from \"./SnoozeConfirmModal\";\r\nimport CancelConfirmModal from \"./CancelConfirmModal\";\r\nimport CancelledBookings from \"./CancelledBookings\";\r\nimport { pageUrls } from '../../page-urls';\r\nimport BookingPageListingStatus from './BookingPageListingStatus';\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\n\r\n\r\nfunction BookingsPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const effects = useEffects();\r\n\r\n return (\r\n \r\n {state.bookings.loading ? null :\r\n <>\r\n { effects.page.router.goTo(pageUrls.bookings.url(patientId)) })}\r\n myNotifications={state.bookings.myNotifications}\r\n disabled={state.bookings.loading}\r\n />\r\n\r\n {state.bookings.children.length > 0 ?\r\n

    \r\n {state.bookings.selectedPatientsBookingsHeader}\r\n

    : null}\r\n\r\n {state.bookings.activeBookings.length > 0 ? : }\r\n {state.bookings.cancelledBookings.length > 0 ? : null}\r\n {state.bookings.activeBookings.length > 0 ? : null}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default BookingsPage;\r\n","import {useTranslation} from \"react-i18next\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport {\r\n DtvControlGroup, DtvFormMessageType,\r\n DtvFormMessageWithTitleAndText,\r\n DtvStyledCheckBox,\r\n TextInputV2\r\n} from \"dtv-shared/src/components/form\";\r\nimport MyPagesClinicSelect, {ClinicScope} from \"../general/MyPagesClinicSelect\";\r\nimport {DtvButton, DtvButtonColor, DtvButtonSize, DtvButtonType} from 'dtv-shared/src/components/buttons';\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\n\r\nfunction AddChildForm() {\r\n const {t} = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n return (\r\n
    \r\n
    {t('children:addChildTitle')}
    \r\n
    {t('children:addChildSubtitle')}
    \r\n
    \r\n actions.children.changeAddChildSSNInputValue(val)}\r\n errorMessage={t(state.children.addChildForm.errorInputSSN)}\r\n type='tel'\r\n />\r\n actions.children.changeAddChildMobileInputValue(val)}\r\n errorMessage={t(state.children.addChildForm.errorInputMobile)}\r\n type='tel'\r\n />\r\n actions.children.changeAddChildEmailInputValue(val)}\r\n errorMessage={t(state.children.addChildForm.errorInputEmail)}\r\n type='email'\r\n />\r\n
    \r\n
    \r\n
    {t('children:disclaimerTitle')}
    \r\n {t('children:disclaimerText')}\r\n
    \r\n\r\n
    \r\n \r\n
    {t('children:sendRecallTitle')}
    \r\n \r\n \r\n \r\n \r\n
    {t('children:sendReminderTitle')}
    \r\n \r\n \r\n \r\n
    \r\n\r\n {actions.children.changeAddChildSelectedClinicDataId(clinicDataId)}}\r\n clinicScope={ClinicScope.AcceptsOnlineListingsChildren}\r\n labelText={t('children:listAtClinicTitle')}\r\n errorMessage={t(state.children.addChildForm.errorInputClinicDataId)}/>\r\n\r\n actions.children.addChild()}\r\n />\r\n\r\n {state.children.errorMessage ?\r\n (}\r\n title={t('general:error-title')}\r\n text={t(state.children.errorMessage)}\r\n onDismiss={() => actions.children.dismissErrorMessage()}\r\n />) : null}\r\n\r\n
    \r\n \r\n {t('children:addChildNote', {phoneArea: state.common.phoneArea})}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default AddChildForm;","import {useTranslation} from \"react-i18next\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport {\r\n DtvControlGroup,\r\n DtvFormMessageType,\r\n DtvFormMessageWithTitleAndText,\r\n DtvStyledCheckBox,\r\n TextInputV2\r\n} from \"dtv-shared/src/components/form\";\r\nimport {\r\n DtvButton,\r\n DtvButtonColor,\r\n DtvButtonOutline,\r\n DtvButtonSize,\r\n DtvButtonType\r\n} from 'dtv-shared/src/components/buttons';\r\nimport {DtvModalFullScreenWithTopCloser} from \"dtv-shared/src/components/modals\";\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport MyPagesClinicSelect, {ClinicScope} from \"../general/MyPagesClinicSelect\";\r\nimport Card, {IconPosition} from \"../general/Card\";\r\nimport * as React from \"react\";\r\n\r\nfunction EditChildModal() {\r\n const {t} = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n return (\r\n state.children.selectedChild === null ? null :\r\n actions.children.closeEditChild()}\r\n closeButtonText={t('general:close')}\r\n >\r\n
    \r\n
    \r\n
    \r\n {t('children:editChildTitle', {firstName: state.children.selectedChild.FirstName})}\r\n
    \r\n
    \r\n
    {t('children:addressTitle')}
    \r\n
    {state.children.selectedChild.CoAddress}
    \r\n
    {state.children.selectedChild.Address}
    \r\n
    {state.children.selectedChild.PostalCode}
    \r\n
    {state.children.selectedChild.City}
    \r\n
    \r\n
    \r\n actions.children.changeEditChildMobileInputValue(val)}\r\n errorMessage={t(state.children.editChildForm.errorInputMobile)}\r\n type='tel'\r\n />\r\n actions.children.changeEditChildEmailInputValue(val)}\r\n errorMessage={t(state.children.editChildForm.errorInputEmail)}\r\n type='email'\r\n />\r\n
    \r\n
    \r\n
    {t('children:disclaimerTitle')}
    \r\n {t('children:disclaimerText')}\r\n
    \r\n
    \r\n \r\n { state.children.selectedChild.PatientSettings!.SendRecallLetter ?\r\n \r\n : null }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {state.children.selectedChild.IsChildListedOrWaiting ?\r\n }>\r\n
    {t('listingStatus:childListedListedAtLabel')}
    \r\n
    {state.children.selectedChild.PatientListingStatus.DentistClinic!.Name}
    \r\n actions.children.changeEditChildClinicDataId(clinicDataId)}\r\n clinicScope={ClinicScope.AcceptsOnlineListingsChildren}\r\n labelText={t('listingStatus:childListedSelectLabel')}/>\r\n {state.children.selectedChild.PatientListingStatus.ChildWaiting() ?\r\n
    {t('listingStatus:childListedWaiting')}
    : null}\r\n \r\n : null}\r\n
    \r\n
    \r\n {state.children.editChildForm.showSaveButton ?\r\n
    \r\n actions.children.saveChild()}\r\n />\r\n {state.children.errorMessage ?\r\n (}\r\n title={t('general:error-title')}\r\n text={t(state.children.errorMessage)}\r\n onDismiss={() => actions.children.dismissErrorMessage()}\r\n />) : null}\r\n
    :\r\n actions.children.closeEditChild()}>\r\n {t('general:close')}\r\n \r\n }\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default EditChildModal;","import {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvFormMessageType, DtvFormMessageWithTitleAndText, DtvInfoSection} from \"dtv-shared/src/components/form\";\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport AddChildForm from './AddChildForm';\r\nimport EditChildModal from './EditChildModal';\r\nimport {pageUrls} from '../../page-urls';\r\nimport {joinArray} from 'dtv-shared/src/functions/strings'\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {Gender} from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport CallForm from \"../listing-status/CallForm\";\r\n\r\nfunction ChildrenPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n return (\r\n \r\n {state.children.displayEditModal ?\r\n :\r\n <>{state.children.loading ?\r\n null :\r\n (<>\r\n {state.children.errorMessage ?\r\n (}\r\n title={t('general:error-title')}\r\n text={t(state.children.errorMessage)}\r\n onDismiss={() => actions.children.dismissErrorMessage()}\r\n />) : null}\r\n
    \r\n {state.children.children.map((child) => (\r\n
    \r\n
    \r\n
    \r\n
    {child.FullName()}
    \r\n
    {child.Pnr}
    \r\n
    \r\n \r\n
    \r\n {!child.IsChildListedOrWaiting ?\r\n
    \r\n
    {t('children:notListedStrongText', {firstName: child.FirstName})}
    \r\n
    {t(child.Gender() === Gender.Male ? 'children:notListedTextMale' : 'children:notListedTextFemale', {phoneArea: state.common.phoneArea})}
    \r\n actions.callForm.open(child)}\r\n size={DtvButtonSize.Small}\r\n outline={DtvButtonOutline.ThinOutline}>{t(child.Gender() === Gender.Male ? 'children:notListedButtonMale' : 'children:notListedButtonFemale')}\r\n
    \r\n : null}\r\n
    \r\n
    \r\n
    {t('children:listAtTitle')}
    \r\n
    {child.IsChildListedOrWaiting ? (child.PatientListingStatus.ListedAtClinic()?.Name ?? '') : '-'}
    \r\n
    \r\n
    \r\n
    {t('children:mobileTitle')}
    \r\n
    {(child.Mobile?.length ?? 0) > 0 ? child.Mobile : t('children:somethingMissing')}
    \r\n
    \r\n
    \r\n
    {t('children:emailTitle')}
    \r\n
    {(child.Email?.length ?? 0) > 0 ? child.Email : t('children:somethingMissing')}
    \r\n
    \r\n
    \r\n
    {t('children:sendRecallReminderTitle')}
    \r\n
    {\r\n child.IsChildListedOrWaiting ?\r\n (child.SendingRecallReminderBy().length > 0 ?\r\n t('children:sentByMethod', {method: joinArray(child.SendingRecallReminderBy().map(m => t('general:' + m)), ', ', t('general:and'))}) :\r\n t('children:notSent')) :\r\n '-'\r\n }
    \r\n
    \r\n
    \r\n }\r\n title={t('children:btnManageBookings')}\r\n href={child.IsChildListedOrWaiting === true || child.UnlistedChildHasUpcomingBookings === true ? pageUrls.bookings.url(child.Id) : undefined}\r\n />\r\n }\r\n title={t('children:btnInbox')}\r\n href={pageUrls.inbox.url(child.Id)}\r\n />\r\n }\r\n title={t('children:btnPreviousVisits')}\r\n href={pageUrls.journal.url(child.Id)}\r\n />\r\n }\r\n title={t('children:btnEditContact')}\r\n onClick={() => actions.children.editChild(child.Id!)}\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\nexport default ChildrenPage;","import { myPagesApi } from \"./myPagesApi\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport enum HealthDeclarationStatusEnum {\r\n NotPatient = \"NotPatient\",\r\n UpToDate = \"UpToDate\",\r\n Missing = \"Missing\",\r\n Expired = \"Expired\",\r\n}\r\n\r\nclass HealthPageResponse extends BaseResponse {\r\n HealthDeclarationStatus!: HealthDeclarationStatusEnum;\r\n HasActiveBookings!: boolean;\r\n}\r\n\r\nexport const HealthPage = async () : Promise => {\r\n return await myPagesApi.get(HealthPageResponse, 'HealthPage');\r\n}","import {useTranslation} from 'react-i18next';\r\nimport {useAppState} from '../../overmind';\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\nimport * as React from \"react\";\r\nimport {HealthDeclarationStatusEnum} from \"dtv-shared/src/api/my-pages/health\";\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\nimport StatusCard from \"../general/StatusCard\";\r\n\r\n\r\nfunction NoActiveBookingsCard() {\r\n const { t } = useTranslation();\r\n\r\n return }>\r\n
    {t('health:noActiveBookingsTitle')}
    \r\n
    {t('health:noActiveBookingsText')}
    \r\n ;\r\n}\r\n\r\ntype HealthCardProps = {\r\n healthDeclarationStatus: HealthDeclarationStatusEnum;\r\n hasActiveBookings: boolean;\r\n}\r\n\r\nfunction HealthCard(props:HealthCardProps) {\r\n const { t } = useTranslation();\r\n\r\n switch (props.healthDeclarationStatus) {\r\n case HealthDeclarationStatusEnum.Missing:\r\n if (!props.hasActiveBookings) {\r\n return ;\r\n }\r\n return }>\r\n
    {t('health:missingTitle')}
    \r\n
    {t('health:missingText')}
    \r\n {t('health:missingButtonLabel')}\r\n ;\r\n case HealthDeclarationStatusEnum.Expired:\r\n if (!props.hasActiveBookings) {\r\n return ;\r\n }\r\n return }>\r\n
    {t('health:expiredTitle')}
    \r\n
    {t('health:expiredText')}
    \r\n {t('health:expiredButtonLabel')}\r\n ;\r\n case HealthDeclarationStatusEnum.NotPatient:\r\n return ;\r\n case HealthDeclarationStatusEnum.UpToDate:\r\n if (props.hasActiveBookings) {\r\n return }>\r\n
    {t('health:upToDateHasBookingsTitle')}
    \r\n
    {t('health:upToDateHasBookingsText')}
    \r\n {t('health:upToDateHasBookingsButtonLabel')}\r\n ;\r\n }\r\n return }>\r\n
    {t('health:upToDateNoBookingsTitle')}
    \r\n
    {t('health:upToDateNoBookingsText')}
    \r\n ;\r\n }\r\n\r\n throw new Error(\"unknown health declaration status: \" + (props.healthDeclarationStatus ?? \"null\"));\r\n}\r\n\r\nfunction HealthPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n\r\n return (\r\n \r\n {state.health.loading ?\r\n null :\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nexport default HealthPage;","import * as React from 'react';\r\nimport {Trans, useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvButton, DtvButtonColor, DtvButtonSize, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\nimport PhoneLink from \"../general/PhoneLink\";\r\n\r\nfunction AtbPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n //const latestVisitDate = state.atb.latestVisitDate;\r\n const latestVisitDate = null; // disable for now because the messages conflict with the other messages. / 2024-12-20 roband\r\n return (\r\n \r\n {state.atb.loading ?\r\n null :\r\n <>\r\n {state.atb.testSystem ?
    \r\n
    \r\n actions.atb.setTestBirthYear(e.target.value)}/>
    \r\n
    \r\n actions.atb.setTestDateNow(e.target.value)}/>
    \r\n
    \r\n actions.atb.setTestLatestVisitDate(e.target.value)}/>
    \r\n \r\n\r\n

    \r\n Datenow: {state.atb.dateNow.format('YYYY-MM-DD')}
    \r\n yearnow: {state.atb.yearNow}
    \r\n birthdate: {state.atb.bankIdPatient?.BirthDate.format('YYYY-MM-DD')}
    \r\n agethisyear: {state.atb.ageThisYear}
    \r\n childmaxage: {state.common.childMaxAge}
    \r\n atbReceivedAlreadyThisYear: {state.atb.atbReceivedAlreadyThisYear ? 'true' : 'false'}
    \r\n

    \r\n
    : null}\r\n
    \r\n
    \r\n \r\n {state.atb.settings.showGraphics === null ? null :\r\n
    \r\n }\r\n
    \r\n

    {t(state.atb.settings.header)}

    \r\n {state.atb.settings.subHeader === null ? null :\r\n

    {t(state.atb.settings.subHeader, state.atb.settings.subHeaderParams ?? undefined)}

    \r\n }\r\n\r\n

    \r\n\r\n {latestVisitDate !== null && state.atb.settings.amountBasedOnLatestVisit > 0 ?\r\n

    \r\n

    \r\n

    : (\r\n state.atb.settings.subText2 !== null ?\r\n

    :\r\n null\r\n )\r\n }\r\n\r\n {state.atb.settings.showBookingButton ?\r\n {t('atb:goToBookingBtnLabel')} : null}\r\n\r\n {state.atb.readMore ?\r\n
    :\r\n
    actions.atb.readMore()}>{t('atb:readMoreBtnLabel')}
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nexport default AtbPage;","import { useState, useEffect } from 'react';\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper } from 'dtv-shared/src/components/preloader';\r\nimport { DtvFormMessageType, DtvFormMessageWithTitleAndText } from 'dtv-shared/src/components/form';\r\nimport { DtvIcon, DtvIconName } from 'dtv-shared/src/components/icons';\r\nimport { useEffects } from '../../overmind';\r\n\r\ntype Props = {\r\n xrayId: number;\r\n}\r\ntype XrayImageState = {\r\n error: string | null,\r\n loading: boolean,\r\n image: string,\r\n}\r\n\r\nfunction XrayImage(props: Props) {\r\n const {t} = useTranslation();\r\n const effects = useEffects();\r\n\r\n const [xray, setXray] = useState({error: null, loading: true, image: ''});\r\n\r\n useEffect(() =>\r\n {\r\n //ToDo there's probably a cleaner way to do this..\r\n //let stop = false;\r\n\r\n const updateXray = async () => {\r\n //if (stop) return;\r\n\r\n const result = await effects.api.journal.XrayImage(props.xrayId);\r\n setXray({error: result.ErrorMessage, loading: false, image: result.Image});\r\n // if (xray.loading) {\r\n // setTimeout(() => updateXray(), 2000);\r\n // }\r\n }\r\n\r\n updateXray();\r\n\r\n //stop refreshing\r\n // return function cleanup() {\r\n // stop = true;\r\n // }\r\n }, [effects.api.journal, props.xrayId]);\r\n\r\n return (\r\n xray.error?\r\n (}\r\n title={t('general:error-title')}\r\n text={t(xray.error)}\r\n />):\r\n xray.loading?\r\n (\r\n \r\n {t('journal:loadXrayImage')}\r\n ):\r\n ()\r\n );\r\n}\r\n\r\nexport default XrayImage;","import { useTranslation } from \"react-i18next\";\r\nimport { useActions, useAppState } from \"../../overmind\";\r\nimport {DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport { DtvModalFullScreenWithTopCloser } from \"dtv-shared/src/components/modals\";\r\nimport XrayImage from \"./XrayImage\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\n\r\nfunction XraysModal() {\r\n const {t} = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n return (\r\n state.journal.loading?\r\n \r\n \r\n {t('general:loading')}\r\n :\r\n actions.journal.closeXrayModal()}\r\n closeButtonText={t('general:close')}\r\n >\r\n
    \r\n {state.journal.selectedBooking!.Xrays.map(xray =>\r\n
    \r\n \r\n
    \r\n {xray.TeethNumbers}\r\n e.currentTarget.style.display='none'} />\r\n
    {xray.TemplateId === 71 || xray.Location === 'INGEN' ? 'Ospecifierat' : xray.Location}
    \r\n
    {t('journal:imageType', {context: xray.ImageTypeCode})}
    \r\n
    {xray.DateTakenText(state.language.language)}
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    {t('journal:xrayModalDisclaimer')}
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default XraysModal;","import {useTranslation} from \"react-i18next\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport {DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport {DtvModalFullScreenWithTopCloser} from \"dtv-shared/src/components/modals\";\r\nimport { DtvIcon, DtvIconName } from \"dtv-shared/src/components/icons\";\r\n\r\nfunction ReceiptModal() {\r\n const {t} = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n return (\r\n state.journal.loading?\r\n \r\n \r\n {t('general:loading')}\r\n :\r\n actions.journal.closeReceiptModal()}\r\n closeButtonText={t('general:close')}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    actions.journal.getReceiptPdf()}>\r\n \r\n
    PDF
    \r\n
    \r\n
    {t('journal:receiptTitle')}
    \r\n
    {t('journal:receiptSubtitle', {context: state.journal.selectedBooking!.PaymentReceipt!.ReceiptType})}
    \r\n
    \r\n
    {t('journal:receiptDate')}: {state.journal.selectedBooking!.StartDateShort(state.language.language)}
    \r\n
    {t('journal:receiptNumber')}: {state.journal.selectedBooking!.BillNumber}
    \r\n
    {t('journal:patientNumber')}: {state.login.bankIdPatient!.CustomerNo}
    \r\n
    \r\n
    \r\n
    {state.login.bankIdPatient!.FullName()}
    \r\n
    {state.login.bankIdPatient!.AddressInline()}
    \r\n
    \r\n
    \r\n
    {state.journal.selectedBooking!.PaymentReceipt!.PaidAt.Name}
    \r\n
    {state.journal.selectedBooking!.PaymentReceipt!.PaidAt.AddressInline()}
    \r\n
    {t('journal:clinicPhone')}: {state.journal.selectedBooking!.PaymentReceipt!.PaidAt.GetPhone(false)}
    \r\n
    {t('journal:clinicEmail')}: {state.journal.selectedBooking!.PaymentReceipt!.PaidAt.GetEmail()}
    \r\n
    \r\n
    \r\n
    Distriktstandvården Sverige AB
    \r\n {state.journal.selectedBooking!.PaymentReceipt!.PaidAt.OrgNo === null || state.journal.selectedBooking!.PaymentReceipt!.PaidAt.OrgNo === '' ?\r\n
    :\r\n
    Org.nr: {state.journal.selectedBooking!.PaymentReceipt!.PaidAt.OrgNo}.
    }\r\n
    \r\n
    \r\n {state.journal.selectedBooking!.PaymentReceipt!.JournalEntries.length > 0 ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.journal.selectedBooking!.PaymentReceipt!.JournalEntries.map((entry) =>\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
    {t('journal:receiptEntriesId')}{t('journal:receiptEntriesDesc')}{t('journal:receiptEntriesPriceRef')}{t('journal:receiptEntriesPrice')}
    {entry.TaskId}{entry.Description}{entry.PriceReference.toFixed(2)}{entry.PriceCharged.toFixed(2)}
     {t('journal:receiptSum')}{state.journal.selectedBooking!.PaymentReceipt!.SumPriceReference().toFixed(2)}{state.journal.selectedBooking!.PaymentReceipt!.SumPriceCharged().toFixed(2)}
     {t('journal:allowanceGeneral')} {state.journal.selectedBooking!.PaymentReceipt!.AllowanceGeneral.toFixed(2)}
     {t('journal:allowanceSpecial')} {state.journal.selectedBooking!.PaymentReceipt!.AllowanceSpecial.toFixed(2)}
     {t('journal:allowanceGovernment')} {state.journal.selectedBooking!.PaymentReceipt!.AllowanceGovernment.toFixed(2)}
     {t('journal:patientFees')} {state.journal.selectedBooking!.PaymentReceipt!.TotalToPay().toFixed(2)}
    \r\n : null}\r\n
    \r\n
    {state.journal.selectedBooking!.PaymentReceipt!.CustomerReceipt?.trim() ?? ''}
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default ReceiptModal;\r\n","import {DtvButton, DtvButtonColor, DtvButtonOutline, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\nimport {useTranslation} from \"react-i18next\"\r\nimport {useActions} from \"../../overmind\";\r\n\r\ntype Props = {\r\n status: string;\r\n bookingId: number;\r\n billNumber: number|null;\r\n invoiceNumber: number|null;\r\n}\r\n\r\nfunction BookingPaymentBlock(props: Props) {\r\n const {t} = useTranslation();\r\n\r\n const LinkButton = CreateLinkButton(props);\r\n\r\n return (\r\n props.status ?\r\n
    \r\n {t('journal:payment', {context: props.status})}\r\n {LinkButton}\r\n
    \r\n :null\r\n );\r\n}\r\n\r\nfunction CreateLinkButton(props: Props){\r\n const {t} = useTranslation();\r\n const actions = useActions();\r\n\r\n switch(props.status){\r\n case 'Clinic':\r\n case 'Paid':\r\n if (props.billNumber){\r\n return actions.journal.showReceiptModal(props.bookingId)}\r\n outline={DtvButtonOutline.ThinOutline}>\r\n {t('journal:viewBill', {context: props.status})}\r\n \r\n }\r\n break;\r\n\r\n case 'Unpaid':\r\n if (props.invoiceNumber){\r\n return actions.journal.showPaymentModal(props.bookingId)}\r\n color={DtvButtonColor.Info}>\r\n {t('journal:payBill')}\r\n ;\r\n }\r\n break;\r\n\r\n case 'Klarna':\r\n return actions.journal.showPaymentModal(props.bookingId)}\r\n href=\"https://app.klarna.com/login?market=se\"\r\n outline={DtvButtonOutline.ThinOutline}>\r\n {t('journal:viewBill', {context: props.status})}\r\n ;\r\n case 'InDebt':\r\n return \r\n mittarende.se\r\n ;\r\n }\r\n return null;\r\n}\r\n// function CreateBillLink(props: Props):string {\r\n// switch (props.status){\r\n// case 'Clinic'\r\n// }\r\n// }\r\n\r\nexport default BookingPaymentBlock;\r\n","import {useTranslation} from 'react-i18next';\r\nimport {useActions,useAppState, useEffects} from '../../overmind';\r\nimport {DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport {pageUrls} from '../../page-urls';\r\nimport {DtvInfoSection, DtvInfoSectionExpandable} from 'dtv-shared/src/components/form';\r\nimport ChildSelector from '../general/ChildSelector';\r\nimport XraysModal from './XraysModal';\r\nimport ReceiptModal from './ReceiptModal';\r\nimport BookingPaymentBlock from './BookingPaymentBlock';\r\nimport PaymentModal from './PaymentModal';\r\nimport * as React from \"react\";\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\nimport BookNowCard from \"../general/BookNowCard\";\r\n\r\nfunction JournalPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n const effects = useEffects();\r\n\r\n return (\r\n \r\n {\r\n state.journal.displayModalXray ?\r\n \r\n : state.journal.displayModalReceipt ?\r\n \r\n : state.journal.displayModalPayment ?\r\n actions.journal.closePaymentModal()} loading={state.journal.loading} html={state.journal.selectedBooking?.HtmlSnippet ?? ''}/>\r\n : <>{\r\n state.journal.loading ?\r\n null\r\n : <>\r\n { effects.page.router.goTo(pageUrls.journal.url(patientId)) })}\r\n myNotifications={state.journal.myNotifications}\r\n disabled={state.journal.loading}\r\n />\r\n {state.journal.children.length > 0 ?\r\n

    {state.journal.selectedPatientHeader}

    : null}\r\n
    \r\n {state.journal.previousBookings.length > 0 ?\r\n <>\r\n
    \r\n {state.journal.previousBookings.map((booking) =>\r\n
    \r\n
    \r\n
    \r\n
    {booking.Start.locale(state.language.language).format('LL')}
    \r\n
    {booking.Clinic.LocalizationTitleCleaned()}
    \r\n
    {booking.Employee.TitleAndName(state.language.language)}
    \r\n
    \r\n {booking.Employee.Name}/\r\n
    \r\n {!booking.PatientAttended ?\r\n
    {t('journal:noShow')}
    \r\n : state.journal.displayExtraInfo && booking.DisplayInfoSection() ?\r\n
    \r\n {booking.JournalEntries.length > 0 ?\r\n actions.journal.actionsSectionExpandToggle(booking.Id)}\r\n >\r\n {booking.JournalEntries.map(entry =>\r\n
    \r\n
    {entry.TaskId}
    \r\n
    {entry.Description}
    \r\n
    \r\n )}\r\n \r\n : null }\r\n {booking.Xrays.length > 0 ?\r\n actions.journal.showXrays(booking.Id)} />\r\n : null }\r\n
    \r\n : null\r\n }\r\n \r\n
    \r\n )}\r\n
    \r\n {state.journal.loadingMore?\r\n \r\n \r\n {t('journal:loadingMore')}\r\n \r\n : state.journal.showLoadMoreButton?\r\n
    actions.journal.getMoreBookings()}>\r\n {t('journal:showMore')}\r\n
    \r\n : null }\r\n \r\n :
    \r\n <>{\r\n state.journal.selectedPatientIsMe ?\r\n t('journal:noEntries') :\r\n t('journal:noEntriesChild', {firstName: state.journal.selectedPatient.FirstName})\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\nexport default JournalPage;","import {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport Card from \"../general/Card\";\r\nimport {DtvButton, DtvButtonColor, DtvButtonSize, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\n\r\nfunction PersonalOffersPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n return (\r\n \r\n {state.personalOffers.loading ?\r\n null :\r\n <>\r\n \r\n {t('personalOffers:parentTitle')}/\r\n
    {t('personalOffers:parentTitle')}
    \r\n
    {t('personalOffers:parentSubTitle')}
    \r\n
    \r\n {t('personalOffers:parentButtonLabel')}\r\n {state.personalOffers.conditionsExpanded ?\r\n
    {t('personalOffers:parentConditions')}
    :\r\n
    actions.personalOffers.expandConditions()}>{t('personalOffers:conditionsLabel')}
    }\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nexport default PersonalOffersPage;","import { useTranslation } from \"react-i18next\";\r\nimport { useActions, useAppState } from \"../../overmind\";\r\nimport {DtvModalFullScreenWithTopCloser} from \"dtv-shared/src/components/modals\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport {capitalizeFirstLetter} from \"dtv-shared/src/functions/strings\";\r\n\r\nfunction ShowMessageModal() {\r\n const {t} = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n return (\r\n state.inbox.selectedMessage !== null ?\r\n state.inbox.loading?\r\n (\r\n \r\n {t('general:loading')}\r\n ) :\r\n actions.inbox.closeMessage()}\r\n closeButtonText={t('general:close')}\r\n >\r\n
    \r\n
    \r\n {state.inbox.selectedMessage.From !== null?\r\n
    {t('inbox:messageFrom', {titleAndName: capitalizeFirstLetter(state.inbox.selectedMessage.From.TitleAndName(state.language.language))})}
    \r\n :null}\r\n
    {t('inbox:messageSubject', {subject: state.inbox.selectedMessage.Subject})}
    \r\n
    {t('inbox:messageDate', {date: state.inbox.selectedMessage.SendDate.locale(state.language.language).format('YYYY-MM-DD')})}
    \r\n
    actions.inbox.getPdf()}>\r\n \r\n
    PDF
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n :null\r\n );\r\n}\r\n\r\nexport default ShowMessageModal;","import {useTranslation} from 'react-i18next';\r\nimport {useActions,useAppState, useEffects} from '../../overmind';\r\nimport {DtvPreloader, DtvPreloaderCaption, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport ChildSelector from \"../general/ChildSelector\";\r\nimport { pageUrls } from '../../page-urls';\r\nimport {capitalizeFirstLetter} from \"dtv-shared/src/functions/strings\";\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\nimport ShowMessageModal from \"./ShowMessageModal\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\n\r\nfunction InboxPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n const effects = useEffects();\r\n\r\n return (\r\n \r\n {state.inbox.displayModal?\r\n :\r\n <>{state.inbox.loading ? null\r\n :\r\n <>\r\n { effects.page.router.goTo(pageUrls.inbox.url(patientId)) })}\r\n myNotifications={state.inbox.myNotifications}\r\n disabled={state.inbox.loading}\r\n />\r\n {state.inbox.children.length > 0 ?

    {state.inbox.selectedPatientHeader}

    : null}\r\n {state.inbox.messages.length === 0?\r\n
    \r\n
    {state.inbox.selectedPatientIsMe ?\r\n t('inbox:noMessagesFound') :\r\n t('inbox:noMessagesFoundChild', {firstName: state.inbox.selectedPatient.FirstName})\r\n }
    \r\n \r\n
    {t('inbox:itsEmpty')}
    \r\n
    :\r\n
    \r\n {state.inbox.messages.map(message =>\r\n actions.inbox.showMessage(message.Id)}\r\n >\r\n
    \r\n {message.IsRead ? null :
    }\r\n {message.SendDate.locale(state.language.language).format('LL')}\r\n
    \r\n
    {message.Subject}
    \r\n {message.From===null?null:\r\n
    {t('inbox:messageFrom', {titleAndName: capitalizeFirstLetter(message.From.TitleAndName(state.language.language))})}
    }\r\n {message.From===null?null:\r\n {message.From.Name}}\r\n
    \r\n )}\r\n {state.inbox.loadingMore?\r\n \r\n \r\n {t('inbox:loadingMore')}\r\n \r\n : state.inbox.showLoadMoreButton?\r\n actions.inbox.getMoreMessages()}>\r\n {t('inbox:showMore')}\r\n
    \r\n : null}\r\n
    \r\n }\r\n \r\n }\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default InboxPage;","import {Trans, useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport * as React from \"react\";\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport PhoneLink from \"../general/PhoneLink\";\r\n\r\nfunction ReferralPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n return (\r\n \r\n {state.referral.loading ? null :\r\n <>\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n

    {t('referral:refSubTitle')}

    \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t('referral:codeTitle')}

    \r\n {'dstv.se/kompis/'+state.referral.myReferralCode}\r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    {t('referral:callTitle')}
    \r\n
    \r\n\r\n
    {t('referral:yourCode', {code: state.referral.myReferralCode})}
    \r\n
    \r\n
    \r\n\r\n
    \r\n {state.referral.myBenefits>0?\r\n
    {state.referral.myBenefits}
    {t('referral:currency')}
    :null\r\n }\r\n

    {t('referral:myBenefitsTotal', {total: state.referral.myBenefits})}

    \r\n\r\n

    {t('referral:myBenefits', {count:state.referral.nbInvitations})}

    \r\n\r\n {state.referral.nbInvitations > 0?\r\n
    \r\n {state.referral.invitations.map(invitation => (\r\n
    \r\n
    \r\n \r\n
    {invitation.NameInvited}
    \r\n
    \r\n
    \r\n {invitation.IsClaimed?\r\n t('referral:benefitClaimed'):\r\n t('referral:benefitUnclaimed', {benefit:state.referral.benefitPerReferral})\r\n }\r\n
    \r\n
    \r\n ))}\r\n
    :null\r\n }\r\n
    \r\n\r\n
    actions.referral.toggleConditions()}>{(t('referral:conditionsLabel'))}
    \r\n {state.referral.conditionsExpanded ?\r\n
    \r\n
      \r\n {t('referral:conditions', {adultMinAge: state.common.adultMinAge}).split('\\n').map(item =>
    • {item}
    • )}\r\n
    \r\n
    :\r\n null}\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nexport default ReferralPage;","import {DtvInfoSection, DtvInfoSectionExpandable} from \"dtv-shared/src/components/form\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {capitalizeFirstLetter} from \"dtv-shared/src/functions/strings\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\nimport * as React from \"react\";\r\nimport {MyClinicState} from \"../../overmind/my-clinics/my-clinics-state\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport DoorCodeAndRoadReferenceAndDescription from \"./DoorCodeAndRoadReferenceAndDescription\";\r\n\r\ntype Props = {\r\n myClinic: MyClinicState;\r\n}\r\n\r\nfunction MyClinicsItem(props: Props) {\r\n const myClinic = props.myClinic;\r\n const { t } = useTranslation();\r\n const actions = useActions();\r\n const state = useAppState();\r\n\r\n return
    \r\n {myClinic.Name}/\r\n
    \r\n
    \r\n {myClinic.IsBookableOnline() && !state.myClinics.selectedPatient.HasFreeDentalCare ? }\r\n title={t('myClinics:bookTime')}\r\n href={myClinic.GetBookingUrl()}\r\n /> : null}\r\n }\r\n title={t('myClinics:openHours')}\r\n expanded={myClinic.OpenHoursSectionExpanded}\r\n onExpandToggle={() => actions.myClinics.openHoursSectionExpandToggle(myClinic.ClinicDataId)}\r\n >\r\n
    \r\n
    \r\n actions.myClinics.changeWeekBackward(myClinic.ClinicDataId)}>«\r\n {myClinic.selectedWeekName(state.date.dateNow)}\r\n {myClinic.SelectedWeekNumber < state.myClinics.max_number_weeks ?\r\n actions.myClinics.changeWeekForward(myClinic.ClinicDataId)}>» : null}\r\n
    \r\n {myClinic.selectedWeek(state.date.dateNow).map((day, idx) =>\r\n
    \r\n {day.Name(state.language.language)}\r\n {day.IsOpen ? day.OpenHours:t('myClinics:closed')}\r\n
    \r\n )}\r\n
    \r\n \r\n }\r\n title={myClinic.Address1 + ', ' + capitalizeFirstLetter(myClinic.City?.toLowerCase() ?? '')}\r\n expanded={myClinic.AddressSectionExpanded}\r\n onExpandToggle={() => actions.myClinics.addressSectionExpandToggle(myClinic.ClinicDataId)}\r\n >\r\n \r\n {myClinic.GoogleMapsUrl ?\r\n \r\n {t('myClinics:openGoogleMapsBtn')}\r\n : null }\r\n \r\n\r\n }\r\n title={myClinic.GetPhone(false)}\r\n href={'tel:' + myClinic.GetPhone(true)}\r\n openNewTab\r\n />\r\n }\r\n title={myClinic.GetEmail()}\r\n href={'mailto:' + myClinic.GetEmail()}\r\n openNewTab\r\n />\r\n
    \r\n
    ;\r\n}\r\n\r\nexport default MyClinicsItem;","import {useTranslation} from 'react-i18next';\r\nimport {useAppState, useEffects} from '../../overmind';\r\nimport ChildSelector from \"../general/ChildSelector\";\r\nimport {pageUrls} from '../../page-urls';\r\nimport BookingPageListingStatus from \"../bookings/BookingPageListingStatus\";\r\nimport * as React from \"react\";\r\nimport {PatientListingDentistStatusEnum} from \"dtv-shared/src/api/my-pages/models/PatientListingStatus\";\r\nimport MyClinicsItem from \"./MyClinicsItem\";\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\n\r\nfunction MyClinicsPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const effects = useEffects();\r\n\r\n return (\r\n \r\n {state.myClinics.loading ?\r\n null :\r\n <>\r\n { effects.page.router.goTo(pageUrls.myClinics.url(patientId)) }}\r\n disabled={state.myClinics.loading}\r\n />\r\n\r\n {state.myClinics.children.length > 0 ?
    {state.myClinics.selectedPatientHeader}
    : null}\r\n\r\n {state.myClinics.myClinics.length > 0 &&\r\n state.myClinics.selectedPatient.HasFreeDentalCare &&\r\n state.myClinics.selectedPatient.PatientListingStatus.DentistStatus === PatientListingDentistStatusEnum.NoPat ?\r\n : // Kid not in libretto\r\n (state.myClinics.myClinics.length === 0 ?\r\n : // Anyone with no clinics.\r\n <>\r\n {state.myClinics.myClinics.map(myClinic =>\r\n // Has clinics\r\n )}\r\n \r\n )}\r\n \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default MyClinicsPage;","import * as React from 'react';\r\nimport Card, {IconPosition} from '../general/Card';\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport MyPagesClinicSelect, {ClinicScope} from \"../general/MyPagesClinicSelect\";\r\nimport {DtvButton, DtvButtonColor, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {DtvFormMessage, DtvFormMessageDesignType, DtvFormMessageType} from \"dtv-shared/src/components/form\";\r\n\r\ntype ChildListedProps = {\r\n waiting?: boolean;\r\n}\r\nfunction ChildListed(props : ChildListedProps) {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n const selectedPatient = state.listingStatus.selectedPatient;\r\n\r\n const showSaveButton = !props.waiting && state.listingStatus.childListedHasPendingChange;\r\n\r\n return }>\r\n
    {t('listingStatus:childListedListedAtLabel')}
    \r\n
    {selectedPatient.PatientListingStatus.DentistClinic!.Name}
    \r\n actions.listingStatus.childListedChangeSelectedClinicDataId(clinicDataId)}\r\n disabled={state.listingStatus.childListedSubmitting || props.waiting}\r\n clinicScope={ClinicScope.AcceptsOnlineListingsChildren}\r\n labelText={t('listingStatus:childListedSelectLabel')}/>\r\n\r\n {props.waiting ?
    {t('listingStatus:childListedWaiting')}
    : null}\r\n\r\n {state.listingStatus.childListedError ? {t(state.listingStatus.childListedError)} : null}\r\n {showSaveButton ?\r\n actions.listingStatus.childListedChangeClinicSubmit()}\r\n disabled={state.listingStatus.childListedSubmitting}\r\n fakeDisabled={state.listingStatus.childListedSelectedClinicDataId === null}\r\n color={DtvButtonColor.Info}\r\n block\r\n size={DtvButtonSize.SuperProminent}\r\n cssClasses=\"submit-btn\"\r\n >\r\n {t(state.listingStatus.childListedSubmitting ? 'listingStatus:childListedSaveButtonSubmittingLabel' : 'listingStatus:childListedSaveButtonLabel')}\r\n : null}\r\n\r\n ;\r\n}\r\n\r\nexport default ChildListed;","import Employee from \"./models/Employee\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\nimport {Type} from \"class-transformer\";\r\nimport {myPagesApi} from \"./myPagesApi\";\r\nimport {CancelToken} from \"axios\";\r\n\r\nexport enum EmployeeTypeEnum {\r\n Dentist = \"Dentist\",\r\n Hygienist = \"Hygienist\",\r\n}\r\n\r\nexport class EmployeeWithClinicDataIds extends Employee {\r\n ClinicDataIds!: number[];\r\n}\r\n\r\nclass GetEmployeesWithClinicDataIdsResponse extends BaseResponse {\r\n @Type(() => EmployeeWithClinicDataIds)\r\n EmployeesWithClinicDataIds!: EmployeeWithClinicDataIds[];\r\n}\r\n\r\nexport const GetEmployeesWithClinicDataIds = async (employeeType: EmployeeTypeEnum, clinicDataId?: number | null, cancelToken?: CancelToken) : Promise => {\r\n return await myPagesApi.get(GetEmployeesWithClinicDataIdsResponse, 'GetEmployeesWithClinicDataIds?EmployeeType='+employeeType+(clinicDataId?'&ClinicDataId='+clinicDataId:''), {\r\n cancelToken\r\n });\r\n};\r\n","import {derived} from \"overmind\";\r\nimport {config} from \"../index\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport {EmployeeTypeEnum, EmployeeWithClinicDataIds} from \"dtv-shared/src/api/my-pages/employees\";\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport enum YourEmployeeSelectEmployee {\r\n Automatic = \"Automatic\",\r\n Manual = \"Manual\",\r\n}\r\n\r\ntype YourEmployeeState = {\r\n editorOpen: EmployeeTypeEnum | null;\r\n editorLoading: boolean;\r\n editorSelectedClinicDataId: number | null;\r\n editorSelectedEmployeeId: number | null;\r\n editorEmployeeSelectExpanded: boolean;\r\n readonly editorHasChangesToSave: boolean;\r\n editorSaving: boolean;\r\n editorSaveAttempted: boolean;\r\n employeesWithClinicDataIds: EmployeeWithClinicDataIds[];\r\n readonly availableEmployeesForSelectedClinic: EmployeeWithClinicDataIds[];\r\n readonly selectedEmployeeDisabled: boolean;\r\n selectEmployee: YourEmployeeSelectEmployee;\r\n readonly errorSelectEmployee: string;\r\n selectEmployeeAttempted: boolean;\r\n readonly validSelectedEmployeeId: string;\r\n readonly errorSelectedEmployeeId: string;\r\n readonly listingStatusClinicDataId: number | null;\r\n readonly listingStatusEmployeeId: number | null;\r\n readonly sameClinicEmployeeAutomatic: boolean;\r\n readonly showSaveButton: boolean;\r\n readonly saveButtonDisabled: boolean;\r\n readonly validForSaving: boolean;\r\n}\r\n\r\ntype ListingStatusState = {\r\n readonly selectedPatientIsMe: boolean;\r\n readonly selectedPatient: Patient;\r\n readonly childListedInitialClinicDataId: number | null;\r\n childListedSelectedClinicDataId: number | null;\r\n readonly childListedHasPendingChange: boolean;\r\n childListedSubmitting: boolean;\r\n childListedSubmitHasBeenAttempted: boolean;\r\n childListedSubmissionError: boolean;\r\n readonly childListedError: string | null;\r\n yourEmployee: {\r\n [key in EmployeeTypeEnum]: YourEmployeeState;\r\n }\r\n}\r\n\r\nexport const initialYourEmployeeState = () => ({\r\n editorOpen: null,\r\n editorLoading: false,\r\n editorSelectedClinicDataId: null,\r\n editorSelectedEmployeeId: null,\r\n editorEmployeeSelectExpanded: true,\r\n editorHasChangesToSave: derived((state: YourEmployeeState, rootState: typeof config.state) => {\r\n if (state.editorOpen === null) {\r\n return false;\r\n }\r\n\r\n // they didnt select clinic yet, nothing to save.\r\n if (!state.editorSelectedClinicDataId) {\r\n return false;\r\n }\r\n\r\n let listingStatusEmpId : number | null = state.editorOpen === EmployeeTypeEnum.Dentist ?\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.DentistEmployee?.Id ?? null) :\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.HygienistEmployee?.Id ?? null);\r\n let listingStatusClinicDataId : number | null = state.editorOpen === EmployeeTypeEnum.Dentist ?\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.DentistClinic?.ClinicDataId ?? null) :\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.HygienistClinic?.ClinicDataId ?? null);\r\n\r\n // they changed clinic! So 100% need to save.\r\n if (listingStatusClinicDataId !== state.editorSelectedClinicDataId) {\r\n\r\n }\r\n\r\n // they select same clinic and \"automatic\" so nothing to change!\r\n if (listingStatusClinicDataId === state.editorSelectedClinicDataId && !listingStatusEmpId) {\r\n return false;\r\n }\r\n\r\n\r\n switch (state.editorOpen) {\r\n case EmployeeTypeEnum.Dentist:\r\n\r\n return (rootState.listingStatus.selectedPatient.PatientListingStatus.DentistEmployee?.Id ?? null) !== state.editorSelectedEmployeeId ||\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.DentistClinic?.ClinicDataId ?? null) !== state.editorSelectedClinicDataId;\r\n case EmployeeTypeEnum.Hygienist:\r\n return (rootState.listingStatus.selectedPatient.PatientListingStatus.HygienistEmployee?.Id ?? null) !== state.editorSelectedEmployeeId ||\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.HygienistClinic?.ClinicDataId ?? null) !== state.editorSelectedClinicDataId;\r\n default:\r\n throw new Error(\"Invalid editor status: \" + state.editorOpen);\r\n }\r\n }),\r\n editorSaving: false,\r\n editorSaveAttempted: false,\r\n employeesWithClinicDataIds: [],\r\n availableEmployeesForSelectedClinic: derived((state: YourEmployeeState, rootState: typeof config.state) => {\r\n if (state.editorOpen === null) {\r\n return [];\r\n }\r\n if (state.editorSelectedClinicDataId === null) {\r\n return [];\r\n }\r\n let lst = state.employeesWithClinicDataIds.filter(emp => emp.ClinicDataIds.includes(state.editorSelectedClinicDataId!));\r\n\r\n const currentEmp = state.editorOpen === EmployeeTypeEnum.Dentist ? rootState.listingStatus.selectedPatient.PatientListingStatus.DentistEmployee : rootState.listingStatus.selectedPatient.PatientListingStatus.HygienistEmployee;\r\n\r\n if (currentEmp !== null && lst.filter(emp => emp.Id === currentEmp!.Id).length === 0) {\r\n const currentEmpWithClinicDataIds = new EmployeeWithClinicDataIds();\r\n currentEmpWithClinicDataIds.ClinicDataIds = [];\r\n currentEmpWithClinicDataIds.Id = currentEmp!.Id;\r\n currentEmpWithClinicDataIds.Name = currentEmp!.Name;\r\n currentEmpWithClinicDataIds.TitleSv = currentEmp!.TitleSv;\r\n currentEmpWithClinicDataIds.TitleEn = currentEmp!.TitleEn;\r\n currentEmpWithClinicDataIds.Image = currentEmp!.Image;\r\n\r\n lst.push(currentEmpWithClinicDataIds);\r\n }\r\n\r\n return lst;\r\n }),\r\n selectedEmployeeDisabled: derived((state: YourEmployeeState) => {\r\n return state.editorSaving || state.editorSelectedClinicDataId === null;\r\n }),\r\n selectEmployee: YourEmployeeSelectEmployee.Automatic,\r\n errorSelectEmployee: derived((state: YourEmployeeState) => {\r\n if (state.selectEmployeeAttempted && state.selectedEmployeeDisabled && !state.editorSaving) {\r\n return 'listingStatus:yourEmployeeEditorErrorSelectDentist';\r\n }\r\n return '';\r\n }),\r\n selectEmployeeAttempted: false,\r\n validSelectedEmployeeId: derived((state: YourEmployeeState) => {\r\n if (state.selectEmployee === YourEmployeeSelectEmployee.Manual && state.editorSelectedEmployeeId === null) {\r\n return state.editorOpen === EmployeeTypeEnum.Dentist ? 'listingStatus:yourEmployeeEditorErrorDentistSelect' : 'listingStatus:yourEmployeeEditorErrorHygienistSelect';\r\n }\r\n return '';\r\n }),\r\n errorSelectedEmployeeId: derived((state: YourEmployeeState) => {\r\n if (!state.editorSaveAttempted) {\r\n return '';\r\n }\r\n return state.validSelectedEmployeeId;\r\n }),\r\n listingStatusClinicDataId: derived((state: YourEmployeeState, rootState: typeof config.state) => {\r\n if (state.editorOpen === null) {\r\n return null;\r\n }\r\n\r\n return state.editorOpen === EmployeeTypeEnum.Dentist ?\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.DentistClinic?.ClinicDataId ?? null) :\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.HygienistClinic?.ClinicDataId ?? null);\r\n }),\r\n listingStatusEmployeeId: derived((state: YourEmployeeState, rootState: typeof config.state) => {\r\n if (state.editorOpen === null) {\r\n return null;\r\n }\r\n\r\n return state.editorOpen === EmployeeTypeEnum.Dentist ?\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.DentistEmployee?.Id ?? null) :\r\n (rootState.listingStatus.selectedPatient.PatientListingStatus.HygienistEmployee?.Id ?? null);\r\n }),\r\n sameClinicEmployeeAutomatic: derived((state: YourEmployeeState) => {\r\n return !!state.editorSelectedClinicDataId && state.listingStatusClinicDataId === state.editorSelectedClinicDataId && state.selectEmployee === YourEmployeeSelectEmployee.Automatic;\r\n }),\r\n showSaveButton: derived((state: YourEmployeeState) => {\r\n return !!state.editorSelectedClinicDataId;\r\n }),\r\n saveButtonDisabled: derived((state: YourEmployeeState) => {\r\n return state.selectEmployee === YourEmployeeSelectEmployee.Manual && !state.editorSelectedEmployeeId;\r\n }),\r\n validForSaving: derived((state: YourEmployeeState) => {\r\n return state.showSaveButton && !state.saveButtonDisabled;\r\n }),\r\n});\r\n\r\nexport const initialListingStatusState = (initialChildListedClinicDataId: number | null) => ({\r\n selectedPatientIsMe: derived((state: ListingStatusState, rootState: typeof config.state) => {\r\n if (rootState.page.current === Pages.Bookings) {\r\n return rootState.bookings.selectedPatientIsMe;\r\n }\r\n if (rootState.page.current === Pages.MyClinics) {\r\n return rootState.myClinics.selectedPatientIsMe;\r\n }\r\n if (rootState.page.current === Pages.Settings) {\r\n return true;\r\n }\r\n if (rootState.page.current === Pages.Children) {\r\n return false;\r\n }\r\n return true;\r\n }),\r\n selectedPatient: derived((state: ListingStatusState, rootState: typeof config.state) => {\r\n if (rootState.page.current === Pages.Bookings) {\r\n return rootState.bookings.selectedPatient;\r\n }\r\n if (rootState.page.current === Pages.MyClinics) {\r\n return rootState.myClinics.selectedPatient;\r\n }\r\n if (rootState.page.current === Pages.Children && rootState.children.selectedChild !== null) {\r\n return rootState.children.selectedChild;\r\n }\r\n\r\n if (rootState.login.bankIdPatient === null) {\r\n return new Patient();\r\n }\r\n\r\n return rootState.login.bankIdPatient;\r\n }),\r\n childListedInitialClinicDataId: derived((state: ListingStatusState, rootState: typeof config.state) => {\r\n return state.selectedPatient?.PatientListingStatus?.DentistClinic?.ClinicDataId ?? null;\r\n }),\r\n childListedSelectedClinicDataId: initialChildListedClinicDataId,\r\n childListedHasPendingChange: derived((state: ListingStatusState, rootState: typeof config.state) => {\r\n return state.childListedInitialClinicDataId !== state.childListedSelectedClinicDataId;\r\n }),\r\n childListedSubmitting: false,\r\n childListedSubmitHasBeenAttempted: false,\r\n childListedSubmissionError: false,\r\n childListedError: derived((state: ListingStatusState) => {\r\n if (state.childListedSubmitHasBeenAttempted && state.childListedSelectedClinicDataId === null) {\r\n return 'listingStatus:childListedNoClinicError'\r\n }\r\n if (state.childListedSubmissionError) {\r\n return 'listingStatus:childListedSubmitError';\r\n }\r\n return null;\r\n }),\r\n yourEmployee: {\r\n [EmployeeTypeEnum.Dentist]: initialYourEmployeeState(),\r\n [EmployeeTypeEnum.Hygienist]: initialYourEmployeeState(),\r\n },\r\n});\r\n\r\nexport const state: ListingStatusState = initialListingStatusState(null);","import * as React from 'react';\r\nimport Card from '../general/Card';\r\nimport {DtvIcon, DtvIconColor, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport Employee from \"dtv-shared/src/api/my-pages/models/Employee\";\r\nimport Clinic from \"dtv-shared/src/api/my-pages/models/Clinic\";\r\nimport {DtvButton, DtvButtonColor, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {EmployeeTypeEnum} from \"dtv-shared/src/api/my-pages/employees\";\r\nimport {\r\n DtvControlGroup,\r\n DtvStyledRadio\r\n} from \"dtv-shared/src/components/form\";\r\nimport MyPagesClinicSelect from \"../general/MyPagesClinicSelect\";\r\nimport {DtvModalFullScreenWithTopCloser} from \"dtv-shared/src/components/modals\";\r\nimport {YourEmployeeSelectEmployee} from \"../../overmind/listing-status/listing-status-state\";\r\nimport MyPagesEmployeeSelect from \"../general/MyPagesEmployeeSelect\";\r\n\r\ntype YourEmployeeProps = {\r\n waiting?: boolean;\r\n employeeType: EmployeeTypeEnum;\r\n};\r\nfunction YourDentist({waiting, employeeType}: YourEmployeeProps) {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n const selectedPatient = state.listingStatus.selectedPatient;\r\n\r\n if (selectedPatient === null) {\r\n throw new Error(\"selectedPatient is null!\");\r\n }\r\n\r\n let emp : Employee | null = null;\r\n let clinic : Clinic | null = null;\r\n\r\n switch (employeeType) {\r\n case EmployeeTypeEnum.Dentist:\r\n emp = selectedPatient.PatientListingStatus.DentistEmployee;\r\n clinic = selectedPatient.PatientListingStatus.DentistClinic;\r\n break;\r\n case EmployeeTypeEnum.Hygienist:\r\n emp = selectedPatient.PatientListingStatus.HygienistEmployee;\r\n clinic = selectedPatient.PatientListingStatus.HygienistClinic;\r\n break;\r\n default:\r\n throw new Error(\"Invalid employeeType: \" + employeeType);\r\n }\r\n\r\n if (clinic === null) {\r\n throw new Error(\"clinic is null!\");\r\n }\r\n\r\n return <>\r\n }\r\n >\r\n
    \r\n {emp !== null ? {emp.Name} : null}\r\n
    {t(employeeType === EmployeeTypeEnum.Dentist ? 'listingStatus:yourEmployeeDentist' : 'listingStatus:yourEmployeeHygienist')}
    \r\n
    {emp?.Name ?? t('listingStatus:yourEmployeeClinicSelectsForYou')}
    \r\n
    {t('listingStatus:yourEmployeeClinicLabel')}
    \r\n
    {clinic.Name}
    \r\n {waiting ? null :\r\n actions.listingStatus.yourEmployeeEditorOpen(employeeType)}\r\n disabled={state.listingStatus.yourEmployee[employeeType].editorLoading}\r\n outline={DtvButtonOutline.ThinOutline}>{t(state.listingStatus.yourEmployee[employeeType].editorLoading ? 'listingStatus:yourEmployeeEditButtonLabelLoading' : 'listingStatus:yourEmployeeEditButtonLabel')}}\r\n
    \r\n {waiting ?
    {t('listingStatus:yourEmployeeWaiting')}
    : null}\r\n \r\n {state.listingStatus.yourEmployee[employeeType].editorOpen ?\r\n actions.listingStatus.yourEmployeeEditorClose(employeeType)}>\r\n
    \r\n
    \r\n
    \r\n \r\n
    {t(employeeType === EmployeeTypeEnum.Dentist ? 'listingStatus:yourEmployeeModalTitle' : 'listingStatus:yourEmployeeModalTitleHyg')}
    \r\n
    {t(employeeType === EmployeeTypeEnum.Dentist ? 'listingStatus:yourEmployeeModalSubTitle' : 'listingStatus:yourEmployeeModalSubTitleHyg')}
    \r\n
    \r\n\r\n actions.listingStatus.yourEmployeeEditorChangeSelectedClinic({employeeType: employeeType, clinicDataId: clinicDataId})}/>\r\n\r\n \r\n {actions.listingStatus.yourEmployeeEditorChangeSelectEmployee({employeeType: employeeType, val: YourEmployeeSelectEmployee.Automatic})}}\r\n disabled={state.listingStatus.yourEmployee[employeeType].selectedEmployeeDisabled}\r\n onClick={() => actions.listingStatus.yourEmployeeEditorClickSelectEmployee(employeeType)}\r\n />\r\n {actions.listingStatus.yourEmployeeEditorChangeSelectEmployee({employeeType: employeeType, val: YourEmployeeSelectEmployee.Manual})}}\r\n disabled={state.listingStatus.yourEmployee[employeeType].selectedEmployeeDisabled}\r\n onClick={() => actions.listingStatus.yourEmployeeEditorClickSelectEmployee(employeeType)}\r\n />\r\n \r\n\r\n {state.listingStatus.yourEmployee[employeeType].selectEmployee === YourEmployeeSelectEmployee.Manual ?\r\n actions.listingStatus.yourEmployeeEditorEmployeeSelectSetExpanded({employeeType: employeeType, expanded: expanded})}\r\n employees={state.listingStatus.yourEmployee[employeeType].availableEmployeesForSelectedClinic}\r\n selectedEmployeeId={state.listingStatus.yourEmployee[employeeType].editorSelectedEmployeeId}\r\n onChangeEmployeeId={empId => actions.listingStatus.yourEmployeeEditorChangeSelectedEmployeeId({employeeType: employeeType, empId: empId})}\r\n showAllText={t('listingStatus:callFormDentistSelectShowAllText')}\r\n errorMessage={t(state.listingStatus.yourEmployee[employeeType].errorSelectedEmployeeId)}\r\n />\r\n : null}\r\n
    \r\n
    \r\n {state.listingStatus.yourEmployee[employeeType].showSaveButton ?\r\n actions.listingStatus.yourEmployeeEditorSave(employeeType)} disabled={state.listingStatus.yourEmployee[employeeType].editorSaving}>\r\n {t(state.listingStatus.yourEmployee[employeeType].editorSaving ? 'listingStatus:yourEmployeeEditorBtnSaving' : 'listingStatus:yourEmployeeEditorBtnSave')}\r\n :\r\n actions.listingStatus.yourEmployeeEditorClose(employeeType)}>{t('general:close')}\r\n }\r\n
    \r\n
    \r\n
    \r\n : null}\r\n ;\r\n}\r\n\r\nexport default YourDentist;","import * as React from 'react';\r\nimport {useAppState, useEffects} from '../../overmind';\r\nimport NoPat from \"../listing-status/NoPat\";\r\nimport NoDRev from \"../listing-status/NoDRev\";\r\nimport Called from \"../listing-status/Called\";\r\nimport {\r\n PatientListingDentistStatusEnum,\r\n PatientListingHygienistStatusEnum\r\n} from \"dtv-shared/src/api/my-pages/models/PatientListingStatus\";\r\nimport ChildListed from \"../listing-status/ChildListed\";\r\nimport YourEmployee from \"../listing-status/YourEmployee\";\r\nimport {EmployeeTypeEnum} from \"dtv-shared/src/api/my-pages/employees\";\r\nimport CallForm from \"../listing-status/CallForm\";\r\nimport EnlistWaiting from \"../listing-status/EnlistWaiting\";\r\n\r\nfunction DentistStatus() {\r\n const state = useAppState();\r\n const effects = useEffects();\r\n\r\n const pat = state.login.bankIdPatient;\r\n\r\n if (pat === null) {\r\n effects.log.logWarn({message: 'pat === null in DentistStats'});\r\n return null;\r\n }\r\n switch (pat!.PatientListingStatus.DentistStatus) {\r\n case PatientListingDentistStatusEnum.NoPat:\r\n return <>\r\n \r\n \r\n ;\r\n case PatientListingDentistStatusEnum.NoDRev:\r\n return <>\r\n \r\n \r\n ;\r\n case PatientListingDentistStatusEnum.Called:\r\n return ;\r\n case PatientListingDentistStatusEnum.ChildListed:\r\n return ;\r\n case PatientListingDentistStatusEnum.ChildWaitingMove:\r\n return ;\r\n case PatientListingDentistStatusEnum.ChildWaitingEnlist:\r\n case PatientListingDentistStatusEnum.EnlistWaiting:\r\n return ;\r\n case PatientListingDentistStatusEnum.HasDentist:\r\n return ;\r\n case PatientListingDentistStatusEnum.DentistWaiting:\r\n return ;\r\n default:\r\n effects.log.logError({message: 'Invalid SettingsPage ListingStatus: ' + pat!.PatientListingStatus.DentistStatus})\r\n return null;\r\n }\r\n}\r\n\r\nfunction HygienistStatus() {\r\n const state = useAppState();\r\n const effects = useEffects();\r\n\r\n const pat = state.login.bankIdPatient!;\r\n\r\n if (pat === null) {\r\n effects.log.logWarn({message: 'pat === null in HygienistStatus'});\r\n return null;\r\n }\r\n switch (pat.PatientListingStatus.HygienistStatus) {\r\n case PatientListingHygienistStatusEnum.NoHygienist:\r\n return null;\r\n case PatientListingHygienistStatusEnum.HasHygienist:\r\n return ;\r\n case PatientListingHygienistStatusEnum.WaitingHygienist:\r\n return \r\n default:\r\n effects.log.logError({message: 'Invalid SettingsPage HygienistStatus ListingStatus: ' + pat!.PatientListingStatus.HygienistStatus})\r\n return null;\r\n }\r\n}\r\n\r\nfunction SettingsPageListingStatus() {\r\n return <>\r\n \r\n \r\n ;\r\n}\r\n\r\nexport default SettingsPageListingStatus;","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {\r\n DtvControlGroup,\r\n DtvStyledCheckBox,\r\n TextInputV2\r\n} from \"dtv-shared/src/components/form\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport {DtvButton, DtvButtonColor, DtvButtonSize, DtvButtonType} from 'dtv-shared/src/components/buttons';\r\nimport MainMenuItem from \"../main-menu/MainMenuItem\";\r\nimport {pageUrls} from \"../../page-urls\";\r\nimport SettingsPageListingStatus from \"./SettingsPageListingStatus\";\r\nimport SubPageLayout from \"../general/SubPageLayout\";\r\n\r\nfunction SettingsPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n return (\r\n \r\n {state.settings.loading ?\r\n null :\r\n (<>\r\n
    \r\n
    {t('settings:myContactTitle')}
    \r\n
    \r\n
    {t('settings:addressTitle')}
    \r\n
    {state.login.bankIdPatient?.FullName()}
    \r\n
    {state.login.bankIdPatient?.Address}
    \r\n {state.login.bankIdPatient?.CoAddress ?
    {state.login.bankIdPatient?.CoAddress}
    : null}\r\n
    {state.login.bankIdPatient?.PostalCode} {state.login.bankIdPatient?.City}
    \r\n
    \r\n {state.settings.showForm ?\r\n <>\r\n
    \r\n actions.settings.changeEditSettingsMobileInputValue(val)}\r\n errorMessage={t(state.settings.editSettingsForm.errorInputMobile)}\r\n type='tel'\r\n />\r\n actions.settings.changeEditSettingsEmailInputValue(val)}\r\n errorMessage={t(state.settings.editSettingsForm.errorInputEmail)}\r\n type='email'\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n { state.login.bankIdPatient?.PatientSettings?.SendRecallLetter ?\r\n \r\n : null }\r\n \r\n \r\n \r\n \r\n \r\n\r\n {state.settings.showInfoSection ? /* hide from children */\r\n \r\n \r\n \r\n : null}\r\n
    \r\n {state.settings.showSaveButton ? /* only show save button when there's changes to be saved. */\r\n actions.settings.saveSettings()}\r\n /> : null}\r\n : null}\r\n
    \r\n \r\n {state.login.bankIdPatient!.CanSeeChildrenPage(state.date.dateNow) ?
    \r\n }\r\n label={t('mainMenu:menuItemChildrenLabel', {context: state.settings.displayContextChildren})}\r\n subLabel={t('mainMenu:menuItemChildrenSubLabel', {context: state.settings.displayContextChildren})}\r\n notifications={0}\r\n alert={state.mainMenu.hasUnlistedChildren}\r\n href={pageUrls.children.url()}\r\n />\r\n
    : null}\r\n )\r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default SettingsPage;\r\n","import {overmind} from \"../index\";\r\nimport MainMenuPage from \"../components/main-menu/MainMenuPage\";\r\nimport BookingsPage from \"../components/bookings/BookingsPage\";\r\nimport ChildrenPage from \"../components/children/ChildrenPage\";\r\nimport HealthPage from \"../components/health/HealthPage\";\r\nimport AtbPage from \"../components/atb/AtbPage\";\r\nimport JournalPage from \"../components/journal/JournalPage\";\r\nimport PersonalOffersPage from \"../components/personal-offers/PersonalOffersPage\";\r\nimport InboxPage from \"../components/inbox/InboxPage\";\r\nimport ReferralPage from \"../components/referral/ReferralPage\";\r\nimport MyClinicsPage from \"../components/my-clinics/MyClinicsPage\";\r\nimport SettingsPage from \"../components/settings/SettingsPage\";\r\n\r\nexport enum Pages {\r\n Front = \"front\",\r\n Bookings = \"bookings\",\r\n Children = \"children\",\r\n Settings = \"settings\",\r\n MyClinics = \"myClinics\",\r\n Referral = 'referral',\r\n Inbox = \"inbox\",\r\n PersonalOffers = \"personalOffers\",\r\n Journal = \"journal\",\r\n Atb = \"atb\",\r\n Health = \"health\",\r\n}\r\n\r\nconst URL_PREFIX = '/mina-sidor';\r\n\r\nconst pageUrls = {\r\n [Pages.Front]: {\r\n route: '/',\r\n url: () => '/',\r\n page: Pages.Front,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showFrontPage,\r\n getPageComponent: () => MainMenuPage,\r\n },\r\n [Pages.Bookings]: {\r\n route: '/hantera-bokningar/:child_id?',\r\n url: (child_id?: number | null) => URL_PREFIX+'/hantera-bokningar'+(child_id ? '/'+child_id : ''),\r\n page: Pages.Bookings,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showBookingsPage,\r\n getPageComponent: () => BookingsPage,\r\n },\r\n [Pages.Children]: {\r\n route: '/mina-barn',\r\n url: () => URL_PREFIX+'/mina-barn',\r\n page: Pages.Children,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showChildrenPage,\r\n getPageComponent: () => ChildrenPage,\r\n },\r\n [Pages.Settings]: {\r\n route: '/inställningar',\r\n url: () => URL_PREFIX+'/inställningar',\r\n page: Pages.Settings,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showSettingsPage,\r\n getPageComponent: () => SettingsPage,\r\n },\r\n [Pages.MyClinics]: {\r\n route: '/min-klinik/:child_id?',\r\n url: (child_id?: number | null) => URL_PREFIX+'/min-klinik'+(child_id ? '/'+child_id : ''),\r\n page: Pages.MyClinics,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showMyClinicsPage,\r\n getPageComponent: () => MyClinicsPage,\r\n },\r\n [Pages.Referral]: {\r\n route: '/bjud-in-en-kompis',\r\n url: () => URL_PREFIX+'/bjud-in-en-kompis',\r\n page: Pages.Referral,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showReferralPage,\r\n getPageComponent: () => ReferralPage,\r\n },\r\n [Pages.Inbox]: {\r\n route: '/inbox/:child_id?',\r\n url: (child_id?: number | null) => URL_PREFIX+'/inbox'+(child_id ? '/'+child_id : ''),\r\n page: Pages.Inbox,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showInboxPage,\r\n getPageComponent: () => InboxPage,\r\n },\r\n [Pages.PersonalOffers]: {\r\n route: '/personliga-erbjudanden',\r\n url: () => URL_PREFIX+'/personliga-erbjudanden',\r\n page: Pages.PersonalOffers,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showPersonalOffersPage,\r\n getPageComponent: () => PersonalOffersPage,\r\n },\r\n [Pages.Journal]: {\r\n route: '/tidigare-besök/:child_id?',\r\n url: (child_id?: number | null) => URL_PREFIX+'/tidigare-besök'+(child_id ? '/'+child_id : ''),\r\n page: Pages.Journal,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showJournalPage,\r\n getPageComponent: () => JournalPage,\r\n },\r\n [Pages.Atb]: {\r\n route: '/mitt-tandvårdsbidrag',\r\n url: () => URL_PREFIX+'/mitt-tandvårdsbidrag',\r\n page: Pages.Atb,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showAtbPage,\r\n getPageComponent: () => AtbPage,\r\n },\r\n [Pages.Health]: {\r\n route: '/hälsodeklaration',\r\n url: () => URL_PREFIX+'/hälsodeklaration',\r\n page: Pages.Health,\r\n getRouteCallback: (actions: typeof overmind.actions) => actions.page.showHealthPage,\r\n getPageComponent: () => HealthPage,\r\n },\r\n}\r\n\r\nexport { pageUrls }","import {Context} from '.';\r\nimport {Pages, pageUrls} from '../page-urls';\r\nimport {UnexpectedLogoutError} from \"./login/login-state\";\r\nimport {BaseResponse} from \"dtv-shared/src/api/my-pages/responses/BaseResponse\";\r\nimport {Status} from \"dtv-shared/src/api/my-pages/responses/BaseResponse\";\r\nimport {Payload} from \"./page/page-actions\";\r\n\r\n/* this can also be added to each namespace if we want... we could run this from the page/page-actions.ts ..\r\nmaybe it makes more sense to have it there..?! Robert A 20210724 */\r\nexport const onInitializeOvermind = ({ actions, effects, state }: Context) => {\r\n actions.date.keepTime();\r\n\r\n effects.language.setLanguage(state.language.language);\r\n effects.api.myPagesApi.initialize(() => {\r\n actions.login.resetInactivityTimer();\r\n }, async (resp: BaseResponse, fetchMenu: boolean, fetchPatient: boolean) => {\r\n if (resp.Success) {\r\n if (fetchMenu && fetchPatient) {\r\n await Promise.all([actions.page._loadMainMenuInBackground(), actions.page._loadBankIdPatient()]);\r\n }\r\n } else {\r\n switch(resp.ResponseStatus) {\r\n case Status.LoggedOut:\r\n actions.login.unexpectedlyLoggedOut();\r\n throw UnexpectedLogoutError;\r\n case Status.UserError:\r\n break;\r\n default:\r\n throw new Error(resp.ResponseStatus + \": \" + (resp.ErrorMessage ?? \"\"));\r\n }\r\n }\r\n });\r\n\r\n actions.clinics.getClinicList();\r\n\r\n let routes : {[key:string]: (payload : Payload) => Promise} = {};\r\n\r\n for (const [, value] of Object.entries(pageUrls)) {\r\n routes[value.route] = value.getRouteCallback(actions);\r\n }\r\n effects.page.router.initialize(routes);\r\n\r\n if (!state.login.loggedIn && state.page.current !== Pages.Front) {\r\n effects.page.router.redirect('/');\r\n }\r\n\r\n actions.login.startInactivityTimer();\r\n}\r\n","import {derived} from \"overmind\";\r\nimport {config} from \"../index\";\r\n\r\ntype CommonState = {\r\n readonly phoneArea: string;\r\n readonly phoneAreaOnlyDigits: string;\r\n readonly phoneAreaHref: string;\r\n childMaxAge: number;\r\n readonly adultMinAge: number;\r\n}\r\n\r\nif (typeof window.childMaxAge !== 'number') {\r\n throw new Error('window.childMaxAge is not a number');\r\n}\r\nexport const initialCommonState = () => ({\r\n phoneArea: derived((state: CommonState, rootState: typeof config.state) => {\r\n const pat = rootState.login?.bankIdPatient;\r\n\r\n if (typeof pat?.PhoneArea !== 'string' || pat.PhoneArea.length < 3) {\r\n return \"010-550 15 00\";\r\n }\r\n\r\n return pat.PhoneArea;\r\n }),\r\n phoneAreaOnlyDigits: derived((state: CommonState) => {\r\n return state.phoneArea.replace(/\\D/g,'');\r\n }),\r\n phoneAreaHref: derived((state: CommonState) => {\r\n return 'tel:'+state.phoneAreaOnlyDigits;\r\n }),\r\n childMaxAge: window.childMaxAge,\r\n adultMinAge: derived((state: CommonState) => {\r\n return state.childMaxAge + 1;\r\n }),\r\n})\r\n\r\nexport const state: CommonState = initialCommonState()","const getElementScrollingElement = ($el : JQuery) : JQuery | null => {\r\n if ($el.length === 0) {\r\n return null;\r\n }\r\n\r\n let $parent = $el.parent();\r\n while(true) {\r\n if ($parent.length < 1) {\r\n return null;\r\n }\r\n const parent = $parent.get(0);\r\n if (parent!.scrollHeight > parent!.clientHeight) {\r\n return $parent;\r\n }\r\n $parent = $parent.parent();\r\n }\r\n}\r\n\r\nconst scrollElementToElement = (scrollElement : HTMLElement | Window & typeof globalThis, $el : JQuery, behavior : ScrollBehavior | undefined = undefined ) => {\r\n if ($el.length > 0) {\r\n const top = $el?.first()?.position()?.top ?? 0;\r\n scrollElementToPosition(scrollElement, top, behavior);\r\n }\r\n}\r\n\r\nconst scrollElementToPosition = (scrollElement : HTMLElement | Window & typeof globalThis, position: number, behavior : ScrollBehavior | undefined = undefined) => {\r\n scrollElement.scrollTo({\r\n top: position,\r\n behavior: behavior ?? 'smooth'\r\n });\r\n}\r\n\r\nexport const scrollWindowToTop = (behavior : ScrollBehavior | undefined = undefined) => {\r\n scrollElementToPosition(window, 0, behavior);\r\n}\r\n\r\n\r\nexport const scrollToError = () => {\r\n setTimeout(() => {\r\n let $el = jQuery('.js-has-error');\r\n\r\n const $scrollingElement = getElementScrollingElement($el);\r\n\r\n const scrollElement = $scrollingElement === null ? window : $scrollingElement.get(0);\r\n\r\n scrollElementToElement(scrollElement!, $el);\r\n }, 50);\r\n}","import {ErrorInfo} from \"react\";\r\nimport {overmind} from \"../../index\";\r\n\r\nexport enum ErrorLevel {\r\n Info = \"Info\",\r\n Warn = \"Warn\",\r\n Error = \"Error\",\r\n Debug = \"Debug\",\r\n}\r\n\r\ninterface BaseLogParams {\r\n message?: string;\r\n errorCode?: string;\r\n error?: Error;\r\n errorInfo?: ErrorInfo;\r\n}\r\n\r\ninterface LogParams extends BaseLogParams {\r\n level: ErrorLevel;\r\n}\r\n\r\nexport const log = async ({level, message, errorCode, error, errorInfo}: LogParams) => {\r\n console.log(level + (message ? \": \" + message : ''), error);\r\n await overmind.effects.api.log.Log({level,message,errorCode, error, errorInfo});\r\n}\r\n\r\nexport const logError = async(params: BaseLogParams) => {\r\n await log({level: ErrorLevel.Error, ...params});\r\n}\r\n\r\nexport const logWarn = async(params: BaseLogParams) => {\r\n await log({level: ErrorLevel.Warn, ...params});\r\n}\r\n\r\nexport const logInfo = async(params: BaseLogParams) => {\r\n await log({level: ErrorLevel.Info, ...params});\r\n}\r\n\r\nexport const logDebug = async(params: BaseLogParams) => {\r\n await log({level: ErrorLevel.Debug, ...params});\r\n}","import {ErrorInfo} from \"react\";\r\n\r\nexport type ErrorState = {\r\n error: Error | null;\r\n errorInfo: ErrorInfo | null;\r\n reloadingPage: boolean;\r\n}\r\n\r\nexport const state: ErrorState = {\r\n error: null,\r\n errorInfo: null,\r\n reloadingPage: false,\r\n}\r\n\r\n","import { Context } from '..';\r\nimport {ErrorInfo} from \"react\";\r\n\r\nexport const setError = async ({ state, effects }: Context, {error, errorInfo}: {error: Error, errorInfo: ErrorInfo|null}) => {\r\n try {\r\n state.error.error = error;\r\n state.error.errorInfo = errorInfo;\r\n\r\n effects.analytics.DtvGA('my-pages-error', 'my-pages-set-error');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-set-error');\r\n\r\n await effects.log.logError({error: error, errorInfo: errorInfo ?? undefined});\r\n\r\n } catch {}\r\n};\r\n\r\nexport const reloadPage = ({ state, effects }: Context) => {\r\n state.error.reloadingPage = true;\r\n effects.page.reloadPage();\r\n}","import {Pages} from \"../../page-urls\";\r\n\r\ntype PageState = {\r\n current: Pages | null;\r\n}\r\n\r\nexport const state: PageState = {\r\n current: null,\r\n};","export default class SnoozeOption {\r\n ID!: number;\r\n Text_sv!: string;\r\n Text_en!: string;\r\n Order_Display!: number;\r\n Required_Max_Months_Allowed!: number;\r\n Is_Default!: number;\r\n GetText(lang: string) {\r\n return lang === 'sv' ? this.Text_sv : this.Text_en;\r\n }\r\n}","import {myPagesApi} from './myPagesApi';\r\nimport { Type } from \"class-transformer\";\r\nimport ReasonAnswer from \"../general/models/ReasonAnswer\";\r\nimport NextStepAnswer from \"../general/models/NextStepAnswer\";\r\nimport SnoozeOption from \"./models/SnoozeOption\";\r\nimport Patient from \"./models/Patient\";\r\nimport BookingUpcoming from './models/BookingUpcoming';\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class BookingChild extends Patient {\r\n Notifications!: number;\r\n}\r\n\r\nexport class BookingsPageResponse extends BaseResponse {\r\n @Type(() => BookingChild)\r\n Children!: BookingChild[];\r\n\r\n @Type(() => BookingUpcoming)\r\n ActiveBookings!: BookingUpcoming[];\r\n\r\n @Type(() => BookingUpcoming)\r\n CancelledBookings!: BookingUpcoming[];\r\n\r\n MyNotifications!: number;\r\n \r\n @Type(() => SnoozeOption)\r\n SnoozeOptions!: SnoozeOption[];\r\n}\r\n\r\nexport const BookingsPage = async (patientId: number | null) : Promise => {\r\n const res = await myPagesApi.get(BookingsPageResponse, 'read-only/BookingsPage'+(patientId!==null?'?PatientId='+patientId:''));\r\n\r\n /*if (process.env.NODE_ENV === 'development') {\r\n res.ActiveBookings[0].CanChange = CanChange.General;\r\n //res.ActiveBookings[0].CanCancel = CanCancel.TreatmentWithSerie;\r\n }*/\r\n\r\n return res;\r\n};\r\n\r\nexport class BookingEditResponse extends BaseResponse {\r\n RedirectTo!: string;\r\n}\r\n\r\nexport const BookingEdit = async (bookingId: number) : Promise => {\r\n return await myPagesApi.post(BookingEditResponse, 'BookingEdit', {\r\n request: {\r\n BookingId: bookingId\r\n }\r\n }, undefined, true);\r\n}\r\n\r\nexport enum SnoozeStatus {\r\n Failed = 'Failed',\r\n Short = 'Short',\r\n Long = 'Long',\r\n}\r\n\r\nexport class BookingSnoozeResponse extends BaseResponse {\r\n @Type(() => BookingsPageResponse)\r\n BookingsPageResponse!: BookingsPageResponse;\r\n\r\n SnoozeStatus!: SnoozeStatus;\r\n\r\n @Type(() => BookingUpcoming)\r\n NewBooking!: BookingUpcoming;\r\n}\r\n\r\nexport const BookingSnooze = async (bookingId: number, snoozeOptionId: number, patientId: number | null) : Promise => {\r\n return await myPagesApi.post(BookingSnoozeResponse, 'BookingSnooze', {\r\n request: {\r\n BookingId: bookingId,\r\n SnoozeOptionId: snoozeOptionId,\r\n PatientId: patientId,\r\n }\r\n });\r\n}\r\n\r\nexport class BookingCancelResponse extends BaseResponse {\r\n @Type(() => BookingsPageResponse)\r\n BookingsPageResponse!: BookingsPageResponse;\r\n\r\n BookingCancelNextStepCode!: string;\r\n}\r\n\r\nexport const BookingCancel = async (bookingId: number, patientId: number | null, reasonId: number, nextStepId : number) : Promise => {\r\n /*if (process.env.NODE_ENV === 'development') {\r\n const resp = new BookingCancelResponse();\r\n resp.ResponseStatus = Status.UserError;\r\n resp.Success = false;\r\n resp.ErrorMessage = \"error_ms1_unknown\";\r\n return resp;\r\n }*/\r\n return await myPagesApi.post(BookingCancelResponse, 'BookingCancel', {\r\n request: {\r\n BookingId: bookingId,\r\n PatientId: patientId,\r\n ReasonId: reasonId,\r\n NextStepId: nextStepId,\r\n }\r\n });\r\n}\r\n\r\nexport enum RebookStatus {\r\n General = \"General\",\r\n Treatment = \"Treatment\",\r\n Specialist = \"Specialist\",\r\n Mobile = \"Mobile\",\r\n Serie = \"Serie\",\r\n}\r\nexport class BookingRebookResponse extends BaseResponse {\r\n RedirectTo!: string;\r\n RebookStatus!: RebookStatus | null;\r\n}\r\n\r\nexport const BookingRebook = async (bookingId: number) : Promise => {\r\n /*if (process.env.NODE_ENV === 'development') {\r\n const resp = new BookingRebookResponse();\r\n resp.ResponseStatus = Status.UserError;\r\n resp.Success = false;\r\n resp.RebookStatus = RebookStatus.Treatment;\r\n return resp;\r\n }*/\r\n return await myPagesApi.post(BookingRebookResponse, 'BookingRebook', {\r\n request: {\r\n BookingId: bookingId\r\n }\r\n }, undefined, true);\r\n}","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _toArray(r) {\n return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nexport { _toArray as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof(options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = options.lng || this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","export const generalSv = {\r\n kidSelectorMina: \"Mina\",\r\n kidSelectorMin: \"Min\",\r\n loading: \"Laddar...\",\r\n pageHeaderBackButtonLabel: \"« tillbaka\",\r\n save : \"spara\",\r\n saveChange: \"Spara ändring\",\r\n saveChanges: \"Spara ändringar\",\r\n cancel: \"avboka\",\r\n close : \"stäng\",\r\n loadingClinics: \"Laddar kliniker...\",\r\n sms: \"sms\",\r\n email: \"e-post\",\r\n letter: \"brev\",\r\n and: \"och\",\r\n 'error-title': 'Fel',\r\n callMain: 'Ring {{phoneArea}}',\r\n readMore: 'Läs mer',\r\n selectOption: 'Välj ett alternativ',\r\n}\r\n\r\nexport const generalEn = {\r\n kidSelectorMina: \"My\",\r\n kidSelectorMin: \"My\",\r\n loading:\"Loading...\",\r\n pageHeaderBackButtonLabel: \"« back\",\r\n save : \"save\",\r\n saveChange: \"Save change\",\r\n saveChanges: \"Save changes\",\r\n cancel: \"cancel\",\r\n close : \"close\",\r\n loadingClinics: \"Loading clinics...\",\r\n sms: \"sms\",\r\n email: \"email\",\r\n letter: \"letter\",\r\n and: \"and\",\r\n 'error-title': 'Error',\r\n callMain: 'Call {{phoneArea}}',\r\n readMore: 'Read more',\r\n selectOption: 'Select an option',\r\n}","// https://react.i18next.com/\r\nimport i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\n\r\nimport { generalSv, generalEn } from \"./general-translations\";\r\nimport { loginSv, loginEn } from \"./login-translations\";\r\nimport {mainMenuEn, mainMenuSv} from \"./main-menu-translations\";\r\nimport {bookingsEn, bookingsSv} from \"./bookings-translations\";\r\nimport {childrenEn, childrenSv} from \"./children-translations\";\r\nimport {errorEn, errorSv} from './error-translations';\r\nimport {clinicSelectEn, clinicSelectSv } from \"./clinic-select-translations\";\r\nimport {settingsEn, settingsSv} from \"./settings-translations\";\r\nimport {myClinicsSv,myClinicsEn} from \"./my-clinics-translations\";\r\nimport {referralSv,referralEn} from \"./referral-translations\";\r\nimport {inboxSv,inboxEn} from \"./inbox-translations\";\r\nimport {personalOffersSv,personalOffersEn} from \"./personal-offers-translations\";\r\nimport {journalSv,journalEn} from \"./journal-translations\";\r\nimport {atbSv, atbEn} from './atb-translations';\r\nimport {healthSv, healthEn} from './health-translations';\r\nimport {listingStatusEn, listingStatusSv} from \"./listing-status-translations\";\r\nimport {pageHeaderEn, pageHeaderSv} from \"./page-header-translations\";\r\nimport {bookNowCardSv, bookNowCardEn} from './book-now-card-translations';\r\n\r\n// the translations\r\n// (tip move them in a JSON file and import them,\r\n// or even better, manage them via a UI: https://react.i18next.com/guides/multiple-translation-files#manage-your-translations-with-a-management-gui)\r\nconst resources = {\r\n sv: {\r\n general: generalSv,\r\n login: loginSv,\r\n mainMenu: mainMenuSv,\r\n bookings: bookingsSv,\r\n children: childrenSv,\r\n settings: settingsSv,\r\n error: errorSv,\r\n clinicSelect: clinicSelectSv,\r\n myClinics: myClinicsSv,\r\n referral: referralSv,\r\n inbox: inboxSv,\r\n personalOffers: personalOffersSv,\r\n journal: journalSv,\r\n atb: atbSv,\r\n health: healthSv,\r\n listingStatus: listingStatusSv,\r\n pageHeader: pageHeaderSv,\r\n bookNowCard: bookNowCardSv,\r\n },\r\n en: {\r\n general: generalEn,\r\n login: loginEn,\r\n mainMenu: mainMenuEn,\r\n bookings: bookingsEn,\r\n children: childrenEn,\r\n settings: settingsEn,\r\n error: errorEn,\r\n clinicSelect: clinicSelectEn,\r\n myClinics: myClinicsEn,\r\n referral: referralEn,\r\n inbox: inboxEn,\r\n personalOffers: personalOffersEn,\r\n journal: journalEn,\r\n atb: atbEn,\r\n health: healthEn,\r\n listingStatus: listingStatusEn,\r\n pageHeader: pageHeaderEn,\r\n bookNowCard: bookNowCardEn,\r\n }\r\n};\r\n\r\ni18n\r\n .use(initReactI18next) // passes i18n down to react-i18next\r\n .init({\r\n resources,\r\n lng: \"sv\", // language to use, more information here: https://www.i18next.com/overview/configuration-options#languages-namespaces-resources\r\n // you can use the i18n.changeLanguage function to change the language manually: https://www.i18next.com/overview/api#changelanguage\r\n // if you're using a language detector, do not define the lng option\r\n\r\n interpolation: {\r\n escapeValue: false // react already safes from xss\r\n },\r\n react: {\r\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p', 'span'],\r\n }\r\n });\r\n\r\nexport default i18n;","export const loginSv = {\r\n checkGrandIDSession: \"Loggar in...\",\r\n title: \"Ändra eller avboka en tid?\",\r\n title2: \"Logga in på Mina sidor\",\r\n checklistTitle: \"På Mina sidor kan du även bl a:\",\r\n checklistItem1: \"hantera bokningar åt dina barn\",\r\n checklistItem2: \"lämna din hälsodeklaration\",\r\n checklistItem3: \"se kvitton och röntgenbilder\",\r\n checklistItem4: \"se meddelanden och handlingar\",\r\n checklistItem5: \"se vad du får i tandvårdsbidrag\",\r\n SSNPlaceholder: \"Personnummer\",\r\n SSNPlaceholderSmall: \"Personnummer (ÅÅMMDD-XXXX)\",\r\n SSNLabel: \"Verifiera dig med Mobilt BankID\",\r\n btnPhoneHeader: \"Vill du ringa oss istället?\",\r\n btnPhoneText: \"Du når oss på {{phoneArea}}\",\r\n btnListHeader: \"Inte patient hos oss ännu?\",\r\n btnListText: \"Anmäl dig för regelbundna kallelser\",\r\n submitButtonLabel: \"Logga in på mina sidor\",\r\n validationErrorInvalid: \"Ogiltigt personnummer\",\r\n validationErrorEmpty: \"Du måste skriva personnummer\",\r\n submitErrorGeneralTitle: \"Något krånglade\",\r\n submitErrorGeneralText: \"Försök logga in igen\",\r\n submitErrorAlreadyInProgressText: \"Vänta en stund och försök igen\",\r\n submitErrorDeniedTitle: \"Du kan inte logga in på mina sidor\",\r\n submitErrorDeniedText: \"Ring oss på {{phoneArea}}\",\r\n pendingMainText: \"Loggar in med BankID\",\r\n pendingMainTextOtherDevice: \"Logga in med BankID\",\r\n pendingSubTextOtherDevice: 'Starta BankID-appen på din mobila enhet och läs av QR-koden.',\r\n pendingButtonLabel: \"Öppna på denna enhet\",\r\n pendingCancel: \"Avbryt\",\r\n pendingBackBtnLabel: 'Tillbaka',\r\n expiredTitle: \"Inloggningen tog för lång tid\",\r\n expiredText: \"Ingen fara. Logga bara in på nytt.\",\r\n expiredButtonLabel: \"Logga in igen\",\r\n loggedOutDueToInactivityTitle: \"Du har blivit utloggad på grund av inaktivitet\",\r\n loggedOutDueToInactivityText: \"Ingen fara. Logga bara in på nytt.\",\r\n loggedOutDueToInactivityButtonLabel: \"Logga in igen\",\r\n logout: \"Logga ut\",\r\n loggingOut: \"Loggar ut...\",\r\n verifyLabel: 'Verifiera dig med BankID',\r\n thisDeviceMobileBtnLabel: 'Öppna BankID',\r\n thisDeviceDesktopBtnLabel: 'BankID på denna enhet',\r\n otherDeviceMobileBtnLabel: 'Använd BankID på annan enhet',\r\n otherDeviceDesktopBtnLabel: 'BankID med QR-kod',\r\n}\r\n\r\nexport const loginEn = {\r\n checkGrandIDSession: \"Logging in...\",\r\n title: \"Change or cancel an appointment?\",\r\n title2: \"Login to My pages\",\r\n checklistTitle: \"On My pages you can also:\",\r\n checklistItem1: \"manage appointments for your children\",\r\n checklistItem2: \"declare your health status\",\r\n checklistItem3: \"see receipts and x-rays\",\r\n checklistItem4: \"see messages and documents\",\r\n checklistItem5: \"see your social dental allowance\",\r\n SSNPlaceholder: \"Personal ID number\",\r\n SSNPlaceholderSmall: \"Personal ID number (YYMMDD-XXXX)\",\r\n SSNLabel: \"Verify yourself with Mobile BankID\",\r\n btnPhoneHeader: \"Want to call us instead?\",\r\n btnPhoneText: \"You reach us on {{phoneArea}}\",\r\n btnListHeader: \"Not a patient with us yet?\",\r\n btnListText: \"Sign up for regular check-ups\",\r\n submitButtonLabel: \"Login to My pages\",\r\n validationErrorInvalid: \"Invalid Personal ID number\",\r\n validationErrorEmpty: \"Personal ID number is required\",\r\n submitErrorGeneralTitle: \"Something went wrong\",\r\n submitErrorGeneralText: \"Try logging in again\",\r\n submitErrorAlreadyInProgressText: \"Wait a moment before trying again\",\r\n submitErrorDeniedTitle: \"You can't log in to My pages\",\r\n submitErrorDeniedText: \"Call us on {{phoneArea}}\",\r\n pendingMainText: \"Logging in with BankID\",\r\n pendingMainTextOtherDevice: \"Log in with BankID\",\r\n pendingSubTextOtherDevice: 'Start the BankID app on your mobile device and scan the QR code.',\r\n pendingButtonLabel: \"Open on this device\",\r\n pendingCancel: \"Cancel\",\r\n pendingBackBtnLabel: 'Go back',\r\n expiredTitle: \"Login timed out\",\r\n expiredText: \"No problem. Just login again.\",\r\n expiredButtonLabel: \"Login again\",\r\n loggedOutDueToInactivityTitle: \"You have been logged out due to inactivity\",\r\n loggedOutDueToInactivityText: \"No problem. Just login again.\",\r\n loggedOutDueToInactivityButtonLabel: \"Login again\",\r\n logout: \"Log out\",\r\n loggingOut: \"Logging out...\",\r\n verifyLabel: 'Verify yourself with BankID',\r\n thisDeviceMobileBtnLabel: 'Open BankID',\r\n thisDeviceDesktopBtnLabel: 'BankID on this device',\r\n otherDeviceMobileBtnLabel: 'Use BankID on another device',\r\n otherDeviceDesktopBtnLabel: 'BankID with QR code',\r\n}","export const mainMenuSv = {\r\n name: \"Hej {{name}}!\",\r\n loading: \"Laddar...\",\r\n logout: \"Logga ut\",\r\n loggingOut: \"Loggar ut...\",\r\n menuItemBookingsLabel : \"Hantera bokningar\",\r\n menuItemBookingsSubLabel : \"Boka, ändra eller avboka tid\",\r\n menuItemJournalLabel:\"Tidigare besök\",\r\n menuItemJournalSubLabel:\"Kvitton och röntgenbilder\",\r\n menuItemJournalSubLabelFreeDental:\"Besök och röntgenbilder\",\r\n menuItemChildrenLabel_none:\"Lägg till barn\",\r\n menuItemChildrenSubLabel_none:\"Lista för barntandvård\",\r\n menuItemChildrenLabel_some:\"Mina Barn\",\r\n menuItemChildrenSubLabel_some:\"Överblick och inställningar\",\r\n menuItemSettingsLabel:\"Inställningar\",\r\n menuItemSettingsSubLabel:\"Kontaktuppgifter och personliga val\",\r\n menuItemMyClinicsLabel:\"Min klinik\",\r\n menuItemMyClinicsLabelPlural:\"Mina kliniker\",\r\n menuItemMyClinicsSubLabel:\"Hitta hit eller kontakta oss\",\r\n menuItemReferralLabel:\"Bjud in en kompis\",\r\n menuItemReferralSubLabel:\"Båda får 250 kronor till godo\",\r\n menuItemInboxLabel:\"Inbox\",\r\n menuItemInboxSubLabel:\"Information och handlingar\",\r\n menuItemPersonalOffersLabel:\"Personliga erbjudanden\",\r\n menuItemPersonalOffersSubLabel:\"Kampanjer och erbjudanden\",\r\n menuItemAtbLabel:\"Mitt tandvårdsbidrag\",\r\n menuItemAtbSubLabel:\"Se vad du får i bidrag\",\r\n menuItemHealthLabel:\"Hälsodeklaration\",\r\n menuItemHealthSubLabel:\"Allmänt hälsotillstånd och mediciner\",\r\n settingsMissingNotificationTitle: \"Komplettera dina kontaktuppgifter\",\r\n settingsMissingNotificationText: \"Det är viktigt för oss att kunna nå dig både via e-post och telefon.\",\r\n settingsMissingNotificationButtonLabel: \"Åtgärda\",\r\n unpaidTreatmentTitle: 'Du har en obetald behandling',\r\n unpaidTreatmentText: 'I nästa steg får du välja om du vill betala allt nu eller dela upp det.',\r\n unpaidTreatmentButtonLabel: 'Betala',\r\n unpaidTreatmentMultipleTitle: 'Du har flera obetalda behandlingar',\r\n unpaidTreatmentMultipleText: 'I nästa steg får du välja om du vill betala allt nu eller dela upp det.',\r\n unpaidTreatmentMultipleButtonLabel: 'Åtgärda',\r\n referralUpgradeNotificationWithAmountTitle: 'Bjud in en kompis har blivit ännu bättre',\r\n referralUpgradeNotificationWithAmountText: 'Nu får du och din kompis 250 kr vardera istället för 150 kr. Ditt innestående saldo höjs dessutom, bra va?',\r\n referralUpgradeNotificationWithoutAmountTitle: 'Bjud in en kompis har blivit ännu bättre',\r\n referralUpgradeNotificationWithoutAmountText: 'Nu får du och din kompis 250 kr vardera istället för 150 kr, bra va?',\r\n referralNewNotificationPluralTitle: 'Dina kompisar har besökt oss',\r\n referralNewNotificationPluralText: 'Bra jobbat! Ditt tillgodohavande har uppdaterats.',\r\n referralNewNotificationSingularTitle: 'Din kompis har besökt oss',\r\n referralNewNotificationSingularText: 'Bra jobbat! Ditt tillgodohavande har uppdaterats.',\r\n}\r\n\r\nexport const mainMenuEn = {\r\n name: \"Hi {{name}}!\",\r\n loading: \"Loading...\",\r\n logout: \"Log out\",\r\n loggingOut: \"Logging out...\",\r\n menuItemBookingsLabel : \"Manage bookings\",\r\n menuItemBookingsSubLabel : \"Book, change or cancel appointment\",\r\n menuItemJournalLabel:\"Previous visits\",\r\n menuItemJournalSubLabel:\"Receipts and X-rays\",\r\n menuItemJournalSubLabelFreeDental:\"Visits and X-rays\",\r\n menuItemChildrenLabel_none:\"Add child\",\r\n menuItemChildrenSubLabel_none:\"List for dental care\",\r\n menuItemChildrenLabel_some:\"My children\",\r\n menuItemChildrenSubLabel_some:\"Overview and settings\",\r\n menuItemSettingsLabel:\"Settings\",\r\n menuItemSettingsSubLabel:\"Contact information and personal choices\",\r\n menuItemMyClinicsLabel:\"My clinic\",\r\n menuItemMyClinicsLabelPlural:\"My clinics\",\r\n menuItemMyClinicsSubLabel:\"Find or contact us\",\r\n menuItemReferralLabel:\"Refer a friend\",\r\n menuItemReferralSubLabel:\"Both receive a SEK 250 discount\",\r\n menuItemInboxLabel:\"Inbox\",\r\n menuItemInboxSubLabel:\"Information and documents\",\r\n menuItemPersonalOffersLabel:\"Personal offers\",\r\n menuItemPersonalOffersSubLabel:\"Promotions and offers\",\r\n menuItemAtbLabel:\"My dental allowance\",\r\n menuItemAtbSubLabel:\"See how much you get\",\r\n menuItemHealthLabel:\"Health declaration\",\r\n menuItemHealthSubLabel:\"General state of health and medication\",\r\n settingsMissingNotificationTitle: \"Complete your contact details\",\r\n settingsMissingNotificationText: \"It is important for us to be able to reach you on both email and phone.\",\r\n settingsMissingNotificationButtonLabel: \"Fix\",\r\n unpaidTreatmentTitle: 'You have an unpaid treatment',\r\n unpaidTreatmentText: 'In the next step you get to choose if you want to pay everything now or make a payment plan.',\r\n unpaidTreatmentButtonLabel: 'Pay',\r\n unpaidTreatmentMultipleTitle: 'You have unpaid treatments',\r\n unpaidTreatmentMultipleText: 'In the next step you get to choose if you want to pay everything now or make a payment plan.',\r\n unpaidTreatmentMultipleButtonLabel: 'Fix',\r\n referralUpgradeNotificationWithAmountTitle: 'Refer a friend just got better',\r\n referralUpgradeNotificationWithAmountText: 'Now you and your friend get SEK 250 each instead of SEK 150. Your remaining balance is also raised, nice right?',\r\n referralUpgradeNotificationWithoutAmountTitle: 'Refer a friend just got better',\r\n referralUpgradeNotificationWithoutAmountText: 'Now you and your friend get SEK 250 each instead of SEK 150, nice right?',\r\n referralNewNotificationPluralTitle: 'Your friends have visited us',\r\n referralNewNotificationPluralText: 'Good job! Your balance has been updated.',\r\n referralNewNotificationSingularTitle: 'Your friend has visited us',\r\n referralNewNotificationSingularText: 'Good job! Your balance has been updated.',\r\n}","export const bookingsSv = {\r\n pageTitle : \"Hantera bokningar\",\r\n pageKidSelectorSuffix: \"bokningar\",\r\n editBookingBtnLabel: \"Ändra tid\",\r\n cancelBookingBtnLabel: \"Avboka tid\",\r\n addToMyCalendar: \"Lägg till i min kalender\",\r\n openGoogleMapsBtn: 'Öppna Google Maps',\r\n doorCode: 'Portkod',\r\n editModalCancel: 'Avbryt',\r\n editModalOk: 'Ok',\r\n editModalConfirm: 'Ja, ändra denna tid',\r\n confirmChangeTitle : 'Är du säker på att du vill ändra denna tid?',\r\n cancelBlockedLawTitle: 'Besöket går inte att avboka',\r\n cancelBlockedLawSubtitleMyself: 'Barnets tandläkarbesök är obligatoriskt vilket innebär att du inte kan avboka online. Däremot går det bra att ändra till en tid som passar eller ringa oss på {{phoneArea}}.',\r\n cancelBlockedLawSubtitleMyKid: '{{firstName}} tandläkarbesök är obligatoriskt vilket innebär att du inte kan avboka online. Däremot går det bra att ändra till en tid som passar eller ringa oss på {{phoneArea}}.',\r\n changeTimeButtonLabel: 'Ändra Tid',\r\n ms1_confirm_cancel_title: 'Du är på väg att avboka din tid',\r\n ms1_confirm_cancel_title_child: 'Du är på väg att avboka {{firstName}} tid',\r\n ms1_confirm_cancel_sub_title: 'Vill du berätta varför?',\r\n ms1_snooze_myself_title: 'Vill du snooza ditt besök?',\r\n ms1_snooze_mykid_title: 'Vill du snooza besöket?',\r\n ms1_snooze_myself_subtitle: 'Lite mycket just nu? Snooza ditt besök så kallar vi dig igen när det lättat lite i din kalender.',\r\n ms1_snooze_mykid_subtitle: 'Lite mycket just nu? Snooza besöket så kallar vi er igen när det lättat lite i kalendern.',\r\n ms1_confirm_no: 'Avbryt',\r\n ms1_confirm_cancel_reason: 'Välj anledning för avbokning',\r\n ms1_confirm_cancel_reason_error: 'Välj ett alternativ',\r\n ms1_confirm_cancel_next_step: 'Jag vill bli kallad inom',\r\n ms1_confirm_cancel_yes: 'Bekräfta avbokning',\r\n ms1_snooze_myself_question: 'Jag vill komma till er om ungefär',\r\n ms1_snooze_mykid_question: 'Skjut fram besöket ungefär',\r\n main_snooze: 'Snooze',\r\n ms1_no_cancel: 'Nej, jag vill avboka',\r\n ms1_booking_snoozed_title: 'Tiden är nu snoozad',\r\n ms1_booking_snoozed_subtitle: 'Du kan luta dig tillbaka!',\r\n ms1_booking_snoozed_short_description_myself: 'Vi har skjutit upp ditt besök. Du har en ny tid reserverad. Vi skickar en bekräftelse på e-post och/eller sms.',\r\n ms1_booking_snoozed_short_description_child: 'Vi har skjutit upp {{firstNamePossessive}} besök. {{firstName}} har en ny tid reserverad. Vi skickar en bekräftelse på e-post och/eller sms.',\r\n ms1_booking_snoozed_long_description_myself: 'Vi har skjutit upp ditt besök. Du har en tid reserverad i {{month}}. Vi skickar en påminnelse i god tid innan med tid och datum.',\r\n ms1_booking_snoozed_long_description_child: 'Vi har skjutit upp {{firstNamePossessive}} besök. {{firstName}} har en tid reserverad i {{month}}. Vi skickar en påminnelse i god tid innan med tid och datum.',\r\n ms1_booking_snoozed_under: 'Tiden går att ändra, avboka eller snooza igen senast 24 timmar innan besöket.',\r\n main_your: 'ditt',\r\n main_close: 'Stäng',\r\n ms1_booking_cancelled_title: 'Din tid är nu avbokad',\r\n ms1_booking_cancelled_title_child: '{{firstName}} tid är nu avbokad',\r\n ms1_booking_cancelled_subtitle_next_0_1: 'Du kan luta dig tillbaka',\r\n ms1_booking_cancelled_description_next_0_1: 'Vi kommer att höra av oss till dig snart',\r\n ms1_booking_cancelled_subtitle_next_2_3: 'Du kan luta dig tillbaka',\r\n ms1_booking_cancelled_description_next_2_3: 'Vi kommer att höra av oss inom 2-3 månader.',\r\n ms1_booking_cancelled_subtitle_next_4_6: 'Du kan luta dig tillbaka',\r\n ms1_booking_cancelled_description_next_4_6: 'Vi kommer att höra av oss inom 4-6 månader.',\r\n ms1_booking_cancelled_subtitle_next_far: 'Du kan luta dig tillbaka',\r\n ms1_booking_cancelled_description_next_far: 'Vi kommer att höra av oss inom 7 månader',\r\n ms1_booking_cancelled_subtitle_next_self: 'Hoppas vi hörs igen!',\r\n ms1_booking_cancelled_description_next_self: 'Du kan enkelt boka en ny tid via Mina sidor eller genom att ringa <0>010-550 15 00.',\r\n cancelledTime: 'Avbokad tid:',\r\n rebookBookingBtnLabel: 'Återuppta med ny tid',\r\n rebookBookingErrorTitle: 'Bokningen kunde inte återupptas',\r\n //'listedAtClinic': 'Du är listad hos Distriktstandvården {{clinicName}} och kallas regelbundet för undersökningar',\r\n //'listedAtClinicChild': '{{firstName}} är listad hos Distriktstandvården {{clinicName}} och kallas regelbundet för undersökningar',\r\n //'notListedAtClinicTitle': 'Du får inga regelbundna kallelser till undersökningar hos oss',\r\n //'notListedAtClinicText': 'Vi tar gärna hand om dig! Klicka dig vidare eller ring <0>phone link för att bli vår patient.',\r\n //'notListedAtClinicTitleChild': '{{firstName}} får inga regelbundna kallelser till undersökningar hos oss',\r\n //'notListedAtClinicTextChild': 'Vi tar gärna hand om {{firstName}}! Klicka dig vidare eller ring <0>phone link för att {{firstName}} ska bli vår patient.',\r\n //'startCallingMeBtnLabel': 'Börja kalla mig',\r\n //'startCallingChildBtnLabel': 'Börja kalla {{firstName}}',\r\n canChangeGeneralTitle: 'Bokningen kan inte ändras via Mina sidor',\r\n canChangeTimeTooSoonTitle: 'Bokningar inom 24 timmar kan inte ändras via Mina sidor',\r\n canChangeTreatmentNotEditableTitle: 'Bokningen för denna behandling kan inte ändras via Mina sidor',\r\n canChangeTreatmentWithSerieTitle: 'Bokningar som tillhör en serie kan inte ändras via Mina sidor',\r\n canChangeSpecialistClinicTitle: 'Bokningar på specialistkliniken kan inte ändras via Mina sidor',\r\n canChangeSpecialistClinicText: 'Ring 08-597 602 50.',\r\n canChangeMobileClinicTitle: 'Bokningar för mobil tandvård kan inte ändras via Mina sidor',\r\n canChangeMobileClinicText: 'Ring 08-767 08 00.',\r\n canCancelGeneralTitle: 'Tiden kan inte avbokas via Mina sidor',\r\n canCancelTimeTooSoonTitle: 'Tider inom 24 timmar kan inte avbokas via Mina sidor',\r\n canCancelTreatmentNotCancelableTitle: 'Denna behandling kan inte avbokas via Mina sidor',\r\n canCancelTreatmentWithSerieTitle: 'Tider som tillhör en serie kan inte avbokas via Mina sidor',\r\n canCancelSpecialistClinicTitle: 'Tider på specialistkliniken kan inte avbokas via Mina sidor',\r\n canCancelSpecialistClinicText: 'Ring 08-597 602 50.',\r\n canCancelMobileClinicTitle: 'Tider för mobil tandvård kan inte avbokas via Mina sidor',\r\n canCancelMobileClinicText: 'Ring 08-767 08 00.',\r\n rebookGeneralTitle: 'Bokningen kan inte återupptas via Mina sidor',\r\n rebookTreatmentTitle: 'Denna behandling kan inte återupptas via Mina sidor',\r\n rebookSerieTitle: 'Bokningar som tillhör en serie kan inte återupptas via Mina sidor',\r\n rebookSpecialistTitle: 'Bokningen kan inte återupptas via Mina sidor',\r\n rebookSpecialistText: 'Ring 08-597 602 50 för att boka en tid på specialistkliniken.',\r\n rebookMobileTitle: 'Bokningen kan inte återupptas via Mina sidor',\r\n rebookMobileText: 'Ring 08-767 08 00 gällande bokningar för mobil tandvård.',\r\n snooze_2_cancel: 'Avbryt',\r\n snoozeFailedText: 'Vi återkommer med en ny tid.',\r\n cancelReasonTooLongError: 'Du har skrivit för många tecken. Max {{max}} tecken. Du har skrivit {{length}} tecken.',\r\n cancelInputError: 'Vänligen välj en anledning till avbokningen och när du vill bli kontaktad.',\r\n cancel_reason_moved: 'Flyttat',\r\n cancel_reason_illness: 'Sjukdom',\r\n cancel_reason_financial: 'Ekonomiska skäl',\r\n cancel_reason_changed_dentist: 'Bytt tandläkare',\r\n cancel_reason_travel: 'Bortrest',\r\n cancel_reason_bad_time: 'Tiden passar inte',\r\n cancel_reason_no_need: 'Ej behov av tandvård just nu',\r\n cancel_reason_listed_elsewhere: 'Listad hos annan vårdgivare',\r\n cancel_next_0_1: '1 månad',\r\n cancel_next_2_3: '2-3 månader',\r\n cancel_next_4_6: '4-6 månader',\r\n cancel_next_far: 'Längre fram',\r\n cancel_next_self: 'Jag vill kontakta er själv',\r\n}\r\n\r\nexport const bookingsEn = {\r\n pageTitle : \"Manage bookings\",\r\n pageKidSelectorSuffix: \"bookings\",\r\n editBookingBtnLabel: \"Change time\",\r\n cancelBookingBtnLabel: \"Cancel time\",\r\n addToMyCalendar: \"Add to my calendar\",\r\n openGoogleMapsBtn: 'Open Google Maps',\r\n doorCode: 'Door code',\r\n editModalCancel: 'Cancel',\r\n editModalOk: 'Ok',\r\n editModalConfirm: 'Yes, modify this appointment',\r\n confirmChangeTitle : 'Are you sure that you want to modify this appointment?',\r\n cancelBlockedLawTitle: 'This appointment can\\'t be cancelled',\r\n cancelBlockedLawSubtitleMyself: 'Your dental care appointment is legally required and can\\'t be cancelled online. You can change it to a time that fits or call us at {{phoneArea}}.',\r\n cancelBlockedLawSubtitleMyKid: '{{firstName}} dental care appointment is legally required and can\\'t be cancelled online. You can change it to a time that fits or call us at {{phoneArea}}.',\r\n changeTimeButtonLabel: 'Change Time',\r\n ms1_confirm_cancel_title: 'You are about to cancel your appointment',\r\n ms1_confirm_cancel_title_child: 'You are about to cancel {{firstName}} appointment',\r\n ms1_confirm_cancel_sub_title: 'Do you wanna tell us why?',\r\n ms1_snooze_myself_title: 'Do you want to snooze your appointment?',\r\n ms1_snooze_mykid_title: 'Do you want to snooze the appointment?',\r\n ms1_snooze_myself_subtitle: 'Alot right now? Snooze your appointment and we will call you when you have more time.',\r\n ms1_snooze_mykid_subtitle: 'Alot right now? Snooze the appointment and we will call you when you have more time.',\r\n ms1_confirm_no: 'Cancel',\r\n ms1_confirm_cancel_reason: 'Do you wanna tell us why?',\r\n ms1_confirm_cancel_reason_error: 'Select a reason',\r\n ms1_confirm_cancel_next_step: 'I would like to receive a new appointment notice in',\r\n ms1_confirm_cancel_yes: 'Confirm cancellation',\r\n ms1_snooze_myself_question: 'I want to visit you in about',\r\n ms1_snooze_mykid_question: 'Postpone the appointment roughly',\r\n main_snooze: 'Snooze',\r\n ms1_no_cancel: 'No, I want to cancel',\r\n ms1_booking_snoozed_title: 'The appointment is now snoozed',\r\n ms1_booking_snoozed_subtitle: 'You can sit back and relax!',\r\n ms1_booking_snoozed_short_description_myself: 'We have postponed your appointment. You have a new time reserved. We will send a confirmation over email and/or sms.',\r\n ms1_booking_snoozed_short_description_child: 'We have postponed {{firstNamePossessive}} appointment. {{firstName}} has a new time reserved. We will send a confirmation over email and/or sms.',\r\n ms1_booking_snoozed_long_description_myself: 'We have postponed your appointment. Your new time is in {{month}}. You will get a reminder well before your next appointment.',\r\n ms1_booking_snoozed_long_description_child: 'We have postponed {{firstNamePossessive}} appointment. {{firstNamePossessive}} new time is in {{month}}. You will get a reminder well before your next appointment.',\r\n ms1_booking_snoozed_under: 'The appointment can be changed, cancelled or snoozed again up to 24 hours before the appointment time.',\r\n main_your: 'your',\r\n main_close: 'Close',\r\n ms1_booking_cancelled_title: 'Your appointment is now cancelled',\r\n ms1_booking_cancelled_title_child: '{{firstName}} appointment is now cancelled',\r\n ms1_booking_cancelled_subtitle_next_0_1: 'You can sit back and relax!',\r\n ms1_booking_cancelled_description_next_0_1: 'We will be in touch soon',\r\n ms1_booking_cancelled_subtitle_next_2_3: 'You can sit back and relax!',\r\n ms1_booking_cancelled_description_next_2_3: 'We will be in touch within 2-3 month',\r\n ms1_booking_cancelled_subtitle_next_4_6: 'You can sit back and relax!',\r\n ms1_booking_cancelled_description_next_4_6: 'We will be in touch within 4-6 months',\r\n ms1_booking_cancelled_subtitle_next_far: 'You can sit back and relax!',\r\n ms1_booking_cancelled_description_next_far: 'We will be in touch within 7 months',\r\n ms1_booking_cancelled_subtitle_next_self: 'Hope to hear from you again!',\r\n ms1_booking_cancelled_description_next_self: 'You can easily make a new appointment through My pages or by calling <0>010-550 15 00.',\r\n cancelledTime: 'Cancelled appointment:',\r\n rebookBookingBtnLabel: 'Re-book with new time',\r\n rebookBookingErrorTitle: 'The appointment could not be Re-booked',\r\n //'listedAtClinic': 'You are listed at Distriktstandvården {{clinicName}} and get called regurarly for examinations',\r\n //'listedAtClinicChild': '{{firstName}} is listed at Distriktstandvården {{clinicName}} and gets called regurarly for examinations',\r\n //'notListedAtClinicTitle': 'You are not getting regular calls for examinations with us',\r\n //'notListedAtClinicText': 'We would like to take care of you! Click ahead or call <0>phone link to become our patient.',\r\n //'notListedAtClinicTitleChild': '{{firstName}} is not getting regular calls for examinations with us',\r\n //'notListedAtClinicTextChild': 'We would like to take care of {{firstName}}! Click ahead or call <0>phone link to get {{firstName}} to become our patient.',\r\n //'startCallingMeBtnLabel': 'Start calling me',\r\n //'startCallingChildBtnLabel': 'Start calling {{firstName}}',\r\n canChangeGeneralTitle: 'This booking can not be changed through My pages',\r\n canChangeTimeTooSoonTitle: 'Bookings within 24 hours can not be changed through My pages',\r\n canChangeTreatmentNotEditableTitle: 'The booking for this treatment can not be changed through My pages',\r\n canChangeTreatmentWithSerieTitle: 'Bookings that belong to a series can not be changed through My pages',\r\n canChangeSpecialistClinicTitle: 'Bookings at a specialist clinic can not be changed through My pages',\r\n canChangeSpecialistClinicText: 'Call 08-597 602 50.',\r\n canChangeMobileClinicTitle: 'Bookings at the mobile clinic can not be changed through My pages',\r\n canChangeMobileClinicText: 'Call 08-767 08 00.',\r\n canCancelGeneralTitle: 'The appointment can not be cancelled through My pages',\r\n canCancelTimeTooSoonTitle: 'Bookings within 24 hours can not be cancelled through My pages',\r\n canCancelTreatmentNotCancelableTitle: 'The booking for this treatment can not be cancelled through My pages',\r\n canCancelTreatmentWithSerieTitle: 'Bookings that belong to a series can not be cancelled through My pages',\r\n canCancelSpecialistClinicTitle: 'Bookings at a specialist clinic can not be cancelled through My pages',\r\n canCancelSpecialistClinicText: 'Call 08-597 602 50.',\r\n canCancelMobileClinicTitle: 'Bookings at the mobile clinic can not be cancelled through My pages',\r\n canCancelMobileClinicText: 'Call 08-767 08 00.',\r\n rebookGeneralTitle: 'This booking can not be rebooked through My pages',\r\n rebookTreatmentTitle: 'This treatment can not be rebooked through My pages',\r\n rebookSerieTitle: 'Bookings that belong to a series can not be rebooked through My pages',\r\n rebookSpecialistTitle: 'This booking can not be rebooked through My pages',\r\n rebookSpecialistText: 'Call 08-597 602 50 to make an appointment at specialist clinic.',\r\n rebookMobileTitle: 'This booking can not be rebooked through My pages',\r\n rebookMobileText: 'Call 08-767 08 00 to make appointments for mobile dental care.',\r\n snooze_2_cancel: 'Cancel',\r\n snoozeFailedText: 'We will get back to you with a new appointment.',\r\n cancelReasonTooLongError: 'The reason can not be longer than {{max}} characters. You have typed {{length}} characters.',\r\n cancelInputError: 'Please select a reason for the cancellation and when you\\'d like to be contacted.',\r\n cancel_reason_moved: 'Moved',\r\n cancel_reason_illness: 'Illness',\r\n cancel_reason_financial: 'Financial reasons',\r\n cancel_reason_changed_dentist: 'Changed dentist',\r\n cancel_reason_travel: 'Traveling',\r\n cancel_reason_bad_time: 'The time is not suitable',\r\n cancel_reason_no_need: 'No need for dental care right now',\r\n cancel_reason_listed_elsewhere: 'Listed with another healthcare provider',\r\n cancel_next_0_1: '1 month',\r\n cancel_next_2_3: '2-3 months',\r\n cancel_next_4_6: '4-6 months',\r\n cancel_next_far: 'Further ahead',\r\n cancel_next_self: 'I want to contact you myself',\r\n}\r\n","export const childrenSv = {\r\n pageTitle : \"Mina barn\",\r\n listAtTitle : \"Listad på distriktstandvården\",\r\n mobileTitle : \"Mobilnummer för kontakt\",\r\n emailTitle : \"E-post för kontakt\",\r\n btnManageBookings : \"Hantera bokningar\",\r\n btnInbox : \"Inbox\",\r\n btnPreviousVisits : \"Tidigare besök\",\r\n btnEditContact : \"Redigera kontaktuppgifter\",\r\n addChildTitle : \"Lägg till barn\",\r\n addChildSubtitle : \"Här kan du som vårdnadshavare lista ditt barn hos Distriktstandvården.\",\r\n ssnPlaceholder : \"Barnets personnummer\",\r\n ssnPlaceholderSmall : \"Barnets personnummer (ÅÅMMDD-XXXX)\",\r\n mobilePlaceholder : \"Mobilnummer för kontakt\",\r\n emailPlaceholder : \"E-post för kontakt\",\r\n sendRecallReminderTitle: \"Kallelser och påminnelser\",\r\n sendReminderTitle : \"Påminnelser\",\r\n sendRecallTitle : \"Kallelser\",\r\n sendCommunicationsTitle: \"Kallelser och påminnelser\",\r\n notSent: \"Skickas inte\",\r\n sentByMethod: \"Skickas som {{method}}\",\r\n sendMethod: \"Skicka som {{method}}\",\r\n sendMethodSMS : \"Skicka som sms\",\r\n sendMethodEmail : \"Skicka som e-post\",\r\n sendMethodLetter : \"Skicka som brev\",\r\n listAtClinicTitle : \"Klinik som barnet ska listas på\",\r\n btnAddChild : \"Lägg till barn\",\r\n addChildNote : \"OBS! Om du lägger till ett barn som inte har besökt Distriktstandvården tidigare kommer barnet automatiskt att listas och börja kallas för regelbundna undersökningar. Om du enbart eftersöker akut tandvård ring oss på {{phoneArea}}.\",\r\n editChildTitle : \"Redigera kontaktuppgifter för {{firstName}}\",\r\n addressTitle : \"Folkbokföringsadress\",\r\n \"error-empty-ssn\" : \"Skriv in ditt barns personnummer\",\r\n \"error-wrong-ssn\" : \"Felaktigt personnummer\",\r\n \"error-empty-mobile\" : \"Fyll i ditt mobilnummer\",\r\n \"error-wrong-mobile\" : \"Ange ett korrekt mobilnummer\",\r\n \"error-empty-email\" : \"Fyll i din e-postadress\",\r\n \"error-wrong-email\" : \"Ange en korrekt e-postadress\",\r\n \"error-patcom-selection\" : \"Du måste välja något.\",\r\n \"error-unauthorized\" : \"Kan inte bekräfta att du är vårdnadshavare.\",\r\n \"error-already-listed\" : \"Barnet är redan tillagt.\",\r\n \"error-over-18\" : \"Det går inte att lägga till någon som är över 18.\",\r\n \"error-no-clinic\" : \"Du måste välja en klinik\",\r\n \"error-list-full\" : \"Det finns redan 2 vårdnadshavare registrerade på barnet\",\r\n disclaimerTitle: \"Vem kan se dessa kontaktuppgifter?\",\r\n disclaimerText: \"Uppgifterna sparas i journalen tillhörande barnet. På Mina sidor visas uppgifterna delvis maskerade. Både barn och vårdnadshavare kan ändra kontaktuppgifterna med Mobilt BankID.\",\r\n somethingMissing: '(saknas)',\r\n 'error-clinic-selection': 'Du måste välja klinik',\r\n deleteBtnInitialize: 'Radera barn',\r\n deleteBtnConfirm: 'Är du säker på att du vill ta bort barnet? Tryck igen',\r\n notListedStrongText: '{{firstName}} får inga regelbundna kallelser till undersökningar hos oss',\r\n notListedTextMale: 'Vi tar gärna hand om honom! Klicka dig vidare eller ring {{phoneArea}} för att välja klinik.',\r\n notListedTextFemale: 'Vi tar gärna hand om henne! Klicka dig vidare eller ring {{phoneArea}} för att välja klinik.',\r\n notListedButtonMale: 'börja kalla honom',\r\n notListedButtonFemale: 'börja kalla henne',\r\n}\r\n\r\nexport const childrenEn = {\r\n pageTitle : \"My children\",\r\n listAtTitle : \"Listed at Distriktstandvården\",\r\n mobileTitle : \"Mobile number for contact\",\r\n emailTitle : \"Email for contact\",\r\n btnManageBookings : \"Manage bookings\",\r\n btnInbox : \"Inbox\",\r\n btnPreviousVisits : \"Previous visits\",\r\n btnEditContact : \"Edit contact information\",\r\n addChildTitle : \"Add child\",\r\n addChildSubtitle : \"Here, you as a guardian, can list your children with Distriktstandvården.\",\r\n ssnPlaceholder : \"Personal number\",\r\n ssnPlaceholderSmall : \"Personal number (YYMMDD-XXXX)\",\r\n mobilePlaceholder : \"Mobile number for contact\",\r\n emailPlaceholder : \"Email for contact\",\r\n sendRecallReminderTitle: \"Recalls and reminders\",\r\n sendReminderTitle : \"Reminders\",\r\n sendRecallTitle : \"Recalls\",\r\n sendCommunicationsTitle: \"Recalls and reminders\",\r\n notSent: \"Not sent\",\r\n sentByMethod: \"Sent by {{method}}\",\r\n sendMethod: \"Send by {{method}}\",\r\n sendMethodSMS : \"Send by sms\",\r\n sendMethodEmail : \"Send by email\",\r\n sendMethodLetter : \"Send a letter\",\r\n listAtClinicTitle : \"Clinic where the child should be listed\",\r\n btnAddChild : \"Add child\",\r\n addChildNote : \"NOTE! If you add a child who has not visited the Distriktstandvården before, the child will automatically be listed and start being called for regular examinations. If you only seek emergency dental care, call us on {{phoneArea}}.\",\r\n editChildTitle : \"Edit contact for {{firstName}}\",\r\n addressTitle : \"Population registry address\",\r\n \"error-empty-ssn\" : \"Enter the child's SSN\",\r\n \"error-wrong-ssn\" : \"Enter a valid SSN\",\r\n \"error-empty-mobile\" : \"Enter a mobile number\",\r\n \"error-wrong-mobile\" : \"Enter a valid mobile number\",\r\n \"error-empty-email\" : \"Enter an email address\",\r\n \"error-wrong-email\" : \"Enter a valid email address\",\r\n \"error-patcom-selection\" : \"You need to select something.\",\r\n \"error-unauthorized\" : \"The system can not confirm you as a custodian\",\r\n \"error-already-listed\" : \"Already added to the list\",\r\n \"error-over-18\" : \"Can not add anyone over 18 years old\",\r\n \"error-no-clinic\" : \"You must select a clinic\",\r\n \"error-list-full\" : \"There are already 2 custodians registered on the child\",\r\n disclaimerTitle: \"Who can view these contact details?\",\r\n disclaimerText: \"The details are stored in the childs journal. The details are displayed partially masked on My Pages. Children and care takers can change the contact details using their Mobile BankID.\",\r\n somethingMissing: '(missing)',\r\n 'error-clinic-selection': 'You must select clinic',\r\n deleteBtnInitialize: 'Delete child',\r\n deleteBtnConfirm: 'Are you sure that you want to delete the child? Push again',\r\n notListedStrongText: '{{firstName}} does not get regular calls for examinations with us',\r\n notListedTextMale: 'We would happily take care of him! Click down below or call {{phoneArea}} to select a clinic.',\r\n notListedTextFemale: 'We would happily take care of her! Click down below or call {{phoneArea}} to select a clinic.',\r\n notListedButtonMale: 'start calling him',\r\n notListedButtonFemale: 'start calling her',\r\n}","export const settingsSv = {\r\n pageTitle : 'Inställningar',\r\n myContactTitle : 'Mina kontaktuppgifter',\r\n addressTitle : \"Folkbokföringsadress\",\r\n mobilePlaceholder : \"Mobilnummer\",\r\n emailPlaceholder : \"E-post\",\r\n sendReminderTitle : \"Påminnelser\",\r\n sendRecallTitle : \"Kallelser\",\r\n sendInfoTitle : \"Nyheter och erbjudanden\",\r\n sendMethodSMS : \"Skicka som sms\",\r\n sendMethodEmail : \"Skicka som e-post\",\r\n sendMethodLetter : \"Skicka som brev\",\r\n \"error-empty-ssn\" : \"Skriv in ditt barns personnummer\",\r\n \"error-wrong-ssn\" : \"Felaktigt personnummer\",\r\n \"error-empty-mobile\" : \"Fyll i ditt mobilnummer\",\r\n \"error-wrong-mobile\" : \"Ange ett korrekt mobilnummer\",\r\n \"error-empty-email\" : \"Fyll i din e-post\",\r\n \"error-wrong-email\" : \"Ange en korrekt e-post\",\r\n \"error-patcom-selection\" : \"Du måste välja något.\",\r\n saveChanges: \"Spara ändring\",\r\n saveChangesPlural: \"Spara ändringar\",\r\n listedAt: \"Listad på distriktstandvården\",\r\n updateListedAt: \"Ändra klinik för att få kallelser dit istället\",\r\n}\r\n\r\nexport const settingsEn = {\r\n pageTitle : 'Settings',\r\n myContactTitle : 'My contact details',\r\n addressTitle : \"Population registry address\",\r\n mobilePlaceholder : \"Mobile number\",\r\n emailPlaceholder : \"Email\",\r\n sendReminderTitle : \"Reminders\",\r\n sendRecallTitle : \"Recalls\",\r\n sendInfoTitle : \"News and promotions\",\r\n sendMethodSMS : \"Send by sms\",\r\n sendMethodEmail : \"Send by email\",\r\n sendMethodLetter : \"Send by letter\",\r\n \"error-empty-ssn\" : \"Enter your child's SSN\",\r\n \"error-wrong-ssn\" : \"Invalid SSN\",\r\n \"error-empty-mobile\" : \"Enter a mobile number\",\r\n \"error-wrong-mobile\" : \"Enter a valid mobile number\",\r\n \"error-empty-email\" : \"Enter your email\",\r\n \"error-wrong-email\" : \"Enter a valid email\",\r\n \"error-patcom-selection\" : \"You need to select something.\",\r\n saveChanges: \"Save change\",\r\n saveChangesPlural: \"Save changes\",\r\n listedAt: \"Listed at the clinic\",\r\n updateListedAt: \"Change clinic to get recalls there instead\",\r\n}","export const errorSv = {\r\n unexpectedError: \"Oväntat fel\",\r\n reloadingPageBtn: \"Laddar om sidan...\",\r\n reloadPageBtn: \"Ladda om sidan\",\r\n errorPageText: 'Ojdå, något gick fel!',\r\n errorPageSubText: 'Ladda om sidan på nytt och försök igen.',\r\n}\r\n\r\nexport const errorEn = {\r\n unexpectedError: \"Unexpected error\",\r\n reloadingPageBtn: \"Reloading the page...\",\r\n reloadPageBtn : \"Reload the page\",\r\n errorPageText: 'Oops, something went wrong!',\r\n errorPageSubText: 'Reload the page and try again.',\r\n}","export const clinicSelectSv = {\r\n placeholderLabel : \"Välj klinik\",\r\n showNearestLabel: \"Visa närmaste klinik\",\r\n otherAreasLabel: \"Övrigt\",\r\n loadingText: \"Vänta...\",\r\n positionErrorText: \"Fel uppstod när din GPS position skulle hämtas. Det gör inget, du kan välja klinik ändå.\",\r\n}\r\n\r\nexport const clinicSelectEn = {\r\n placeholderLabel : \"Select clinic\",\r\n showNearestLabel: \"Show nearest clinic\",\r\n otherAreasLabel: \"Other\",\r\n loadingText: \"Wait...\",\r\n positionErrorText: \"An error occurred during retrieval of your GPS-position. No problem, you can still select a clinic.\",\r\n}","export const myClinicsSv = {\r\n pageTitle : 'Min klinik',\r\n pageTitlePlural : 'Mina kliniker',\r\n pageChildSelectorSuffix: 'klinik',\r\n pageChildSelectorSuffixPlural: 'kliniker',\r\n bookTime: 'Boka tid',\r\n openHours: 'Öppettider',\r\n thisWeek: 'Öppet i veckan',\r\n nextWeek: 'Nästa vecka',\r\n week: 'Vecka',\r\n closed: 'Stängt',\r\n doorCode: 'Portkod',\r\n noDoorCode: 'Ingen portkod krävs',\r\n openGoogleMapsBtn: 'Öppna Google Maps',\r\n}\r\n\r\nexport const myClinicsEn = {\r\n pageTitle : 'My clinic',\r\n pageTitlePlural : 'My clinics',\r\n pageChildSelectorSuffix: 'clinic',\r\n pageChildSelectorSuffixPlural: 'clinics',\r\n bookTime: 'Make an appointment',\r\n openHours: 'Open hours',\r\n thisWeek: 'Open this week',\r\n nextWeek: 'Next week',\r\n week: 'Week',\r\n closed: 'Closed',\r\n doorCode: 'Door code',\r\n noDoorCode: 'No door code required',\r\n openGoogleMapsBtn: 'Open Google Maps',\r\n}","export const referralSv = {\r\n pageTitle : 'Bjud in en kompis',\r\n refTitle : 'Bjud in en kompis eller flera
    Gå billigare till tandläkaren',\r\n refSubTitle : 'För varje kompis som besöker oss får både du och kompisen 250 kr till godo. Om tio kompisar besöker oss får du alltså tandvård motsvarande 2500 kr.',\r\n refDescription : 'Gäller en eller precis hur många kompisar som helst förutsatt att de fyllt {{adultMinAge}} år och inte besökt oss förut. Summan registreras i samband med kompisens första besök.

    Meddela din tandläkare att du vill använda ditt tillgodohavande i samband med ditt besök.',\r\n codeTitle : 'Här är din inbjudningslänk:',\r\n codeDescription : 'Dina kompisar bokar sitt första besök via din inbjudningslänk.',\r\n callTitle: 'Vill din kompis ringa istället?',\r\n callDescription: 'Föredrar din kompis att boka via telefon går det också bra. Då ringer de <0>phone link och uppger din inbjudningskod.',\r\n yourCode: 'Din inbjudningskod: {{code}}',\r\n shareTitle : '…eller bokar via din personliga länk',\r\n shareDescription : 'Dina kompisar kan också boka en tid via din personliga länk. Då behöver de inte komma ihåg någon kod, den registeras automatiskt.',\r\n shareEmail : 'Maila länk',\r\n shareFacebook : 'Dela länk på facebook',\r\n myBenefitsCircle : '{{benefit}} kr',\r\n myBenefitsTotal : 'Ditt tillgodohavande är {{total}} kronor',\r\n myBenefits_zero : 'Inga kompisar du bjudit in har besökt oss.',\r\n myBenefits_one : 'En kompis du bjudit in har besökt oss.',\r\n myBenefits_other : '{{count}} kompisar du bjudit in har besökt oss.',\r\n myBenefitsListTitle : 'dina fullföljda inbjudningar',\r\n benefitClaimed : 'Bonus redan utnyttjad',\r\n benefitUnclaimed : '{{benefit}} kronor',\r\n conditionsLabel: 'Villkor och information',\r\n conditions: 'För att kunna ta del av värvningsprogrammet ska du fylla {{adultMinAge}} år under innevarande kalenderår. Den som blir värvad ska inte ha besökt oss under de senaste fyra åren.\\n' +\r\n 'Både den som värvar och den som blir värvad får tandvård motsvarande 250 kr. Den som blir värvad meddelar att hen blivit värvad i samband med sitt första besök. Tillgodohavandet för den som värvar registreras i samband med att den du värvat gjort sitt första besök.\\n' +\r\n 'Tillgodohavanden kan utnyttjas i kombination med det allmänna tandvårdsbidraget.\\n' +\r\n 'Tillgodohavanden kan utnyttjas i kombination med övriga rabatter och erbjudanden såsom Sista minuten såvida inget annat meddelas.\\n' +\r\n 'Tillgodohavanden kan utnyttjas som delbetalning av samtliga behandlingar såvida inget annat meddelas. Ditt tillgodohavande kan utnyttjas i steg om 250 kr (250 kr, 500 kr, 750 kr osv). Har du ett större tillgodohavande än 250 kr avgör du själv hur många steg om 250 kr du vill utnyttja som delbetalning. Tillgodohavanden kan inte betalas ut som kontanter.\\n' +\r\n 'Patient ansvarar för att uppmärksamma tandläkaren om att de vill nyttja sitt tillgodohavande innan faktura skapas eller betalning sker (vi kan inte korrigera rabatter i efterhand).\\n' +\r\n 'Värvningsprogrammet gäller på samtliga av Distriktstandvårdens kliniker.\\n' +\r\n 'Det finns ingen övre gräns på hur många kompisar som kan värvas eller hur stort tillgodohavanden du kan ha.\\n' +\r\n 'Distriktstandvården förbehåller sig rätten att i framtiden ändra villkoren för programmet. Vi kommer att meddela dig vid väsentliga förändringar.',\r\n currency: 'kronor'\r\n}\r\n\r\nexport const referralEn = {\r\n pageTitle : 'Refer a friend',\r\n refTitle : 'Refer a friend or several
    Go cheaper to the dentist',\r\n refSubTitle : 'For each friend who visits us, both you and the friend get SEK 250. If ten friends visit us, you will get dental care corresponding to SEK 2500.',\r\n refDescription : 'Applies to one or exactly how many friends as long as they are {{adultMinAge}} years old and have not visited us before. The amount is registered in connection with the friend\\'s first visit.
    Notify your dentist that you want to use your benefit in connection with your visit.',\r\n codeTitle : 'Here is your invitation link:',\r\n codeDescription : 'Your friends book their first visit via your invitation link.',\r\n callTitle: 'Does your friend want to call instead?',\r\n callDescription: 'If your friend prefers to book by phone, that\\'s fine too. Then they call <0>phone link and state your invitation code.',\r\n yourCode: 'Your invitation code: {{code}}',\r\n shareTitle : '…or books via your personal link',\r\n shareDescription : 'Your friends can also book an appointment via your personal link. Then they do not need to remember any code, it is registered automatically.',\r\n shareEmail : 'Email link',\r\n shareFacebook : 'Share link on facebook',\r\n myBenefitsCircle : '{{benefit}} SEK',\r\n myBenefitsTotal : 'Your benefit is SEK {{total}}',\r\n myBenefits_zero : 'No friends you have invited have visited us.',\r\n myBenefits_one : 'One friend you have invited has visited us.',\r\n myBenefits_other : '{{count}} friends you have invited have visited us.',\r\n myBenefitsListTitle : 'your completed invitations',\r\n benefitClaimed : 'Benefit already used',\r\n benefitUnclaimed : 'SEK {{benefit}}',\r\n conditionsLabel: 'Terms and information',\r\n conditions: 'To be able to take part in the referral program, you must be {{adultMinAge}} years old during the current calendar year. The one who is referred must not have visited us during the last four years.\\n' +\r\n 'Both the one who refers and the one who is referred receive dental care corresponding to SEK 250. The one who is referred informs the dentist that he or she has been referred in connection with the first visit. The value for the one who refers is registered when the one who is referred has made his or her first visit.\\n' +\r\n 'The value can be used in combination with the general dental care allowance.\\n' +\r\n 'The value can be used in combination with other discounts and offers such as Last Minute, unless otherwise stated.\\n' +\r\n 'The value can be used as partial payment for all treatments unless otherwise stated. Your value can be used in steps of SEK 250 (SEK 250, SEK 500, SEK 750 etc). If you have a larger value than SEK 250, you decide for yourself how many steps of SEK 250 you want to use as partial payment. The value cannot be paid out in cash.\\n' +\r\n 'The patient is responsible for informing the dentist that he or she wants to use the value before the invoice is created or payment is made (we cannot correct discounts afterwards).\\n' +\r\n 'The referral program is valid at all of Distriktstandvården\\'s clinics.\\n' +\r\n 'You can refer an unlimited amount of friends. The amount of the value that you can accumulate is also unlimited.\\n' +\r\n 'Distriktstandvården reserves the right to change the terms of the program in the future. We will notify you of any material changes.',\r\n currency: 'SEK'\r\n}","export const inboxSv = {\r\n pageTitle : 'Inbox',\r\n pageChildSelectorSuffix: 'meddelanden',\r\n noMessagesFound: 'Du har inga meddelanden',\r\n noMessagesFoundChild: '{{firstName}} har inga meddelanden',\r\n messageFrom: 'Från: {{titleAndName}}',\r\n messageSubject: 'Ämne: {{subject}}',\r\n messageDate: 'Datum: {{date}}',\r\n showMore: 'Ladda fler meddelanden',\r\n loadingMore: 'Laddar fler meddelanden',\r\n itsEmpty: 'Här var det tomt!',\r\n}\r\n\r\nexport const inboxEn = {\r\n pageTitle : 'Inbox',\r\n pageChildSelectorSuffix: 'messages',\r\n noMessagesFound: 'You have no messages',\r\n noMessagesFoundChild: '{{firstName}} has no messages',\r\n messageFrom: 'From: {{titleAndName}}',\r\n messageSubject: 'Subject: {{subject}}',\r\n messageDate: 'Date: {{date}}',\r\n showMore: 'Load more messages',\r\n loadingMore: 'Loading more messages',\r\n itsEmpty: 'No messages',\r\n}","export const personalOffersSv = {\r\n pageTitle: 'Personliga erbjudanden',\r\n conditionsLabel: 'Villkor för erbjudandet',\r\n parentTitle: 'Hej förälder!',\r\n parentSubTitle: 'Gå till tandläkaren och betala nästan inget alls',\r\n parentContent: '

    Ovidusda nditat qui aborporerum quae eumene labora int landi odis ius ' +\r\n 'autatem repelis rerci num estescidunt que lici nobis esequamus repuda volore pore laborro ' +\r\n 'vitibus dolor autaerum repro ium etus sae vidis quost magnien itassim ilibusciae. Alitat.

    ' +\r\n '

    Du har fått ett nytt bidrag!
    ' +\r\n 'Endesti del in consedipic torro berionem quate consed ut quia nimposto et excest earum haris aut perecus sin porporehenis' +\r\n '

    ',\r\n parentButtonLabel: 'Gå till onlinetidboken',\r\n parentConditions: 'autatem repelis rerci num estescidunt que lici nobis esequamus repuda volore pore laborro',\r\n}\r\n\r\nexport const personalOffersEn = {\r\n pageTitle : 'Personal offers',\r\n conditionsLabel: 'Offer conditions',\r\n parentTitle: 'Hi parent!',\r\n parentSubTitle: 'Go to the dentist and pay almost nothing',\r\n parentContent: '

    Ovidusda nditat qui aborporerum quae eumene labora int landi odis ius ' +\r\n 'autatem repelis rerci num estescidunt que lici nobis esequamus repuda volore pore laborro ' +\r\n 'vitibus dolor autaerum repro ium etus sae vidis quost magnien itassim ilibusciae. Alitat.

    ' +\r\n '

    You have received new something!
    ' +\r\n 'Endesti del in consedipic torro berionem quate consed ut quia nimposto et excest earum haris aut perecus sin porporehenis' +\r\n '

    ',\r\n parentButtonLabel: 'Go to online booking',\r\n parentConditions: 'autatem repelis rerci num estescidunt que lici nobis esequamus repuda volore pore laborro',\r\n}","export const journalSv = {\r\n pageTitle : 'Tidigare besök',\r\n pageChildSelectorSuffix: 'tidigare besök',\r\n noPreviousVisitsFound: 'Inga tidigare besök',\r\n showMore: 'Ladda fler besök',\r\n loadingMore: 'Laddar fler besök...',\r\n btnActions: 'Åtgärder',\r\n btnXrays: 'Röntgenbilder',\r\n payment_Contact:'Vi återkommer om betalning',\r\n payment_Unpaid:'Ej betald',\r\n payment_InDebt:'Inkassokrav',\r\n payment_Clinic:'Betald',\r\n payment_Paid:'Betald',\r\n payment_Klarna:'Betalning via Klarna',\r\n payBill:'Betala',\r\n viewBill_Clinic:'Visa kvitto',\r\n viewBill_Paid:'Visa faktura',\r\n viewBill_Klarna:'Besök klarna',\r\n 'preparing-image': 'Förbereder röntgenbild...',\r\n imageType: 'Okänd',\r\n imageType_4916: 'Allmän (SC)',\r\n imageType_4918: 'Intraoral röntgen (IO)',\r\n imageType_4920: 'Endoskopi (VL)',\r\n imageType_4921: 'Tomografisk (CT)',\r\n imageType_4922: 'Mikroskopi (VL)',\r\n imageType_4923: 'Cephalometric (DX)',\r\n imageType_4924: 'Panoramaröntgen (DX)',\r\n imageType_4925: 'General (DX)',\r\n imageType_4927: 'Skalle (DX)',\r\n imageType_4929: 'Photography (VL)',\r\n imageType_32767: 'Okänd',\r\n loadXrayImage: 'Din röntgenbild laddas...',\r\n 'load-xray-error': 'Oväntat fel vid hämtning av röntgen. Var god försök igen senare.',\r\n receiptTitle: 'Kontantfaktura',\r\n receiptSubtitle_2000: 'Kontant',\r\n receiptSubtitle_2100: 'Kort',\r\n receiptDate: 'Datum',\r\n receiptNumber: 'Kvitto nr',\r\n patientNumber: 'Patient nr',\r\n clinicPhone: 'Telefon',\r\n clinicEmail: 'E-post',\r\n receiptEntriesId: 'Åtg',\r\n receiptEntriesDesc: 'Beskrivning',\r\n receiptEntriesPriceRef: 'Ref pris',\r\n receiptEntriesPrice: 'Behandl pris',\r\n receiptSum: 'Summa',\r\n allowanceGeneral: 'Allmänt tandvårdsbidrag',\r\n allowanceSpecial: 'Särskilt tandvårdsbidrag',\r\n allowanceGovernment: 'Statligt tandvårdsstöd',\r\n patientFees: 'PATIENTAVGIFT',\r\n noEntries: 'Du har inga tidigare besök',\r\n noEntriesChild: '{{firstName}} har inga tidigare besök',\r\n noShow: 'Uteblivet besök',\r\n xrayModalDisclaimer: 'Med reservation för att bilderna och/eller dess tilläggsinformation redovisas fel',\r\n alreadyPaidModalTitle: 'Hej, vi har redan fått betalning.',\r\n alreadyPaidModalText: 'Var god ladda om sidan senare och kontrollera.',\r\n}\r\n\r\nexport const journalEn = {\r\n pageTitle : 'Previous visits',\r\n pageChildSelectorSuffix: 'previous visits',\r\n noPreviousVisitsFound: 'No previous visits',\r\n showMore: 'Load more visits',\r\n loadingMore: 'Loading more visits...',\r\n btnActions: 'Actions',\r\n btnXrays: 'X-rays',\r\n payment_Contact:'We will get back to you',\r\n payment_Unpaid:'Not paid',\r\n payment_InDebt:'Debt collection',\r\n payment_Clinic:'Paid',\r\n payment_Paid:'Paid',\r\n payment_Klarna:'Paid via Klarna',\r\n payBill:'Pay now',\r\n viewBill_Clinic:'View receipt',\r\n viewBill_Paid:'View invoice',\r\n viewBill_Klarna:'Go to Klarna',\r\n imageType: 'Unknown',\r\n imageType_4916: 'Sec. Capture (SC)',\r\n imageType_4918: 'Intra Oral X-ray (IO)',\r\n imageType_4920: 'Endoscopy (VL)',\r\n imageType_4922: 'Microscopy (VL)',\r\n imageType_4924: 'Panoramic (DX)',\r\n imageType_4923: 'Cephalometric (DX)',\r\n imageType_4925: 'General (DX)',\r\n imageType_4927: 'Skull (VL)',\r\n imageType_4929: 'Photography (VL)',\r\n imageType_4921: 'Tomographic (CT)',\r\n imageType_32767: 'Unknown',\r\n loadXrayImage: 'Your xray is loading...',\r\n 'load-xray-error': 'An error has occured while trying to get your xray.. Please try again later.',\r\n receiptTitle: 'Cash Invoice',\r\n receiptSubtitle_2000: 'Cash',\r\n receiptSubtitle_2100: 'Card',\r\n receiptDate: 'Date',\r\n receiptNumber: 'Receipt nr',\r\n patientNumber: 'Patient nr',\r\n clinicPhone: 'Phone',\r\n clinicEmail: 'Email',\r\n receiptEntriesId: 'No',\r\n receiptEntriesDesc: 'Description',\r\n receiptEntriesPriceRef: 'Price Ref.',\r\n receiptEntriesPrice: 'Price charged',\r\n receiptSum: 'Sum',\r\n allowanceGeneral: 'General dental care allowance',\r\n allowanceSpecial: 'Special dental care allowance',\r\n allowanceGovernment: 'Dental support financed by government',\r\n patientFees: 'Patient fees',\r\n noEntries: 'You have no previous visits',\r\n noEntriesChild: '{{firstName}} has no previous visits',\r\n noShow: 'Missed appointment',\r\n xrayModalDisclaimer: 'With reservations for images and their information being displayed wrong',\r\n alreadyPaidModalTitle: 'Hello, we have already received payment.',\r\n alreadyPaidModalText: 'Please refresh the page and check later.',\r\n}","export const atbSv = {\r\n pageTitle: \"Mitt tandvårdsbidrag\",\r\n freeHeader: \"Du går gratis till tandläkaren\",\r\n freeSubText: \"

    Tandvården är gratis t o m året du fyller {{childMaxAge}} år. Din tandläkare kallar dig för regelbundna undersökningar.

    \" +\r\n \"

    För akut tandvård och estetiska behandlingar är du välkommen att ringa oss på <0>phone link

    \",\r\n firstAtbSoon: 'Snart får du ditt första bidrag!',\r\n timeToVisitQuestion: 'Dags att gå till tandläkaren?',\r\n canHave: 'Du kan ha {{amount}} kronor i bidrag',\r\n adultMinAgeBeforeJuly1SubText: '

    Du gick gratis till tandläkaren t.o.m. året du fyllde 19 år. Fortsättningsvis kommer du att få ett årligt tandvårdsbidrag från Försäkringskassan på 600 kronor. Du får ditt första bidrag 1 juli.

    ',\r\n adultMinAgeAfterJuly1SubText: '

    Du är under 24 år och får därför 600 kronor i årligt tandvårdsbidrag från Försäkringskassan. 1 juli i år fick du ditt första bidrag. Ett bidrag kan sparas i två år.

    ',\r\n adultMinAgePlus1BeforeJuly1SubText: '

    Du är under 24 år och får därför 600 kronor i årligt tandvårdsbidrag från Försäkringskassan. Förra året fick du ditt första bidrag. I juli i år får du ytterligare 600 kronor. Ett bidrag kan sparas i två år.

    ',\r\n under24SubText: '

    Du är under 24 år och får därför 600 kronor i årligt tandvårdsbidrag från Försäkringskassan. Ett bidrag kan sparas i två år, du kan alltså ha totalt 1200 kronor innestående.

    ',\r\n age23AfterJuly1stSubText: '

    Du är 20-23 år och får därför 600 kronor i årligt tandvårdsbidrag från Försäkringskassan. Ett bidrag kan sparas i två år, du kan alltså ha totalt 1200 kronor innestående. Fortsättningsvis kommer du få 300 kronor per år.

    ',\r\n age24BeforeJuly1stSubText: '

    Du fyller 24 år i år och kommer fr o m 1 juli få 300 kronor i årligt tandvårdsbidrag. Däremot fick du 600 kronor t o m det år du fyllde 23. Ett bidrag kan sparas i två år, du kan alltså ha totalt 1200 kronor innestående.

    ',\r\n age24AfterJuly1stSubText: '

    Du fyller 24 år i år och får 300 kronor i årligt tandvårdsbidrag. Däremot fick du 600 kronor per år t o m det år du fyllde 23. Ett bidrag kan sparas i två år, du kan alltså ha totalt 900 kronor innestående.

    ',\r\n age25BeforeJuly1stSubText: '

    Du fyller 25 år i år och får sedan förra året 300 kronor i årligt tandvårdsbidrag. Däremot fick du 600 kronor det år du fyllde 23. Ett bidrag kan sparas i två år, du kan alltså ha totalt 900 kronor innestående varav 600 kronor förfaller 1 juli.

    ',\r\n under65SubText: '

    Du är 24-64 år och får därför 300 kronor i årligt tandvårdsbidrag från Försäkringskassan. Ett bidrag kan sparas i två år, du kan alltså ha totalt 600 kronor innestående.

    ',\r\n age65BeforeJuly1stSubText: '

    Du fyller 65 år i år och kommer fr o m 1 juli få 600 kronor i årligt tandvårdsbidrag. Däremot fick du 300 kronor t o m det år du fyllde 64. Ett bidrag kan sparas i två år, du kan alltså ha totalt 600 kronor innestående.

    ',\r\n age65AfterJuly1stSubText: '

    Du fyller 65 år i år får 600 kronor i årligt tandvårdsbidrag. Däremot fick du 300 kronor t o m det år du fyllde 64. Ett bidrag kan sparas i två år, du kan alltså ha totalt 900 kronor innestående.

    ',\r\n age66BeforeJuly1stSubText: '

    Du fyller 66 år i år och får sedan 1 juli förra året 600 kronor i årligt tandvårdsbidrag. Däremot fick du 300 kronor det år du fyllde 64. Ett bidrag kan sparas i två år, du kan alltså ha totalt 900 kronor innestående varav 300 kronor förfaller 1 juli.

    ',\r\n over65SubText: '

    Du är över 65 år och får därför 600 kronor i årligt tandvårdsbidrag från Försäkringskassan. Ett bidrag kan sparas i två år, du kan alltså ha totalt 1200 kronor innestående.

    ',\r\n goToBookingBtnLabel: 'Gå till onlinebokningen',\r\n readMoreBtnLabel: 'Läs mer om tandvårdsbidraget',\r\n readMoreContent: '
    Så fungerar tandvårdsbidraget
    ' +\r\n '
      ' +\r\n '
    • Det allmänna tandvårdsbidraget, ATB, är ett bidrag från Försäkringskassan som du får för att underlätta dina tandvårdskostnader.
    • ' +\r\n '
    • Bidraget delas ut varje år den 1 juli från och med det år du fyller {{adultMinAge}}.
    • ' +\r\n '
    • Ett bidrag kan som längst sparas i två år innan det ersätts av ett nytt. Om du låter det gå fler än två år mellan besöken går du därför miste om ditt ena bidrag.
    • ' +\r\n '
    • Bidraget uppgår till maximalt 600 kronor eller 1 200 kronor beroende på din ålder. Är du {{adultMinAge}}–23 år eller 65 år och äldre är ditt tandvårdsstöd 600 kronor/år och är du 24–64 år ligger bidraget på 300 kronor/år.
    • ' +\r\n '
    • Du behöver inte ansöka om bidraget. Det delas ut automatiskt och det finns registrerat hos tandläkaren.
    • ' +\r\n '
    • Bidraget går ej att använda vid betalning av estetiska behandlingar.
    • ' +\r\n '
    • Bidraget bestäms och regleras i regeringsbudgeten och är samma för alla tandvårdsgivare som är anslutna till Försäkringskassan.
    • ' +\r\n '
    • Till och med året du fyller {{childMaxAge}} år går du kostnadsfritt till tandläkaren.
    • ' +\r\n '
    ',\r\n latestVisitBlock: '

    Gå inte miste om nåt!
    Ditt senaste besök hos oss var {{latestVisitDate}}. Om du inte har besökt någon annan tandläkare sedan dess och är ansluten till Försäkringskassan så kan du ha {{amountBasedOnLatestVisit}} kronor i tandvårdsbidrag varav {{nextExpiresAmount}} kronor förfaller {{nextExpiresDate}}.

    ',\r\n latestVisitBlockSame: '

    Gå inte miste om nåt!
    Ditt senaste besök hos oss var {{latestVisitDate}}. Om du inte har besökt någon annan tandläkare sedan dess och är ansluten till Försäkringskassan så kan du ha {{amountBasedOnLatestVisit}} kronor i tandvårdsbidrag som förfaller {{nextExpiresDate}}.

    ',\r\n trans2025_21_22_beforeJuly1st: '

    Du går inte längre gratis till tandläkaren. Fortsättningsvis kommer du att få ett årligt tandvårdsbidrag från Försäkringskassan på 600 kronor. Du får ditt första bidrag 1 juli.

    ',\r\n trans2025_23_beforeJuly1st: '

    Du går inte längre gratis till tandläkaren, men du kommer få 600 kronor i tandvårdsbidrag 1 juli. Från och med nästa år får du 300 kronor per år.

    ',\r\n trans2025_21_23_afterJuly1st: '

    Du är under 24 år och får därför 600 kronor i årligt tandvårdsbidrag från Försäkringskassan. 1 juli i år fick du ditt första bidrag. Ett bidrag kan sparas i två år.

    ',\r\n trans2025_24_beforeJuly1st: '

    Du går inte längre gratis till tandläkaren. Fortsättningsvis kommer du att få ett årligt tandvårdsbidrag från Försäkringskassan på 300 kronor. Du får ditt första bidrag 1 juli.

    ',\r\n trans2025_24_afterJuly1st: '

    Du får 300 kronor i årligt tandvårdsbidrag från Försäkringskassan. 1 juli i år fick du ditt första bidrag. Ett bidrag kan sparas i två år.

    ',\r\n trans2025_25_beforeJuly1st: '

    Du fick 600 kronor i tandvårdsbidrag från Försäkringskassan förra året. 1 juli i år och framöver kommer det däremot att ligga på 300 kronor per år pga ett riksdagsbeslut. Ett bidrag kan sparas i två år.

    ',\r\n trans2025_26_29_beforeJuly1st: '

    Du har tidigare fått 600 kronor i årligt tandvårdsbidrag från Försäkringskassan. 1 juli i år och framöver kommer det däremot att ligga på 300 kronor per år pga ett riksdagsbeslut. Ett bidrag kan sparas i två år, du kan alltså ha totalt 1200 kronor innestående.

    ',\r\n trans2025_25_30_afterJuly1st: '

    1 juli i år fick du ett tandvårdsbidrag på 300 kronor från Försäkringskassan. Det är den årliga nivå det kommer ligga på framöver efter ett beslut i Riksdagen. Förra året fick du 600 kronor i bidrag. Ett bidrag kan sparas i två år, du kan alltså ha 900 kronor innestående.

    ',\r\n trans2025_30_beforeJuly1st: '

    Du fyller 30 år i år och kommer fr o m 1 juli få 300 kronor i årligt tandvårdsbidrag. Däremot fick du 600 kronor t o m det år du fyllde 29. Ett bidrag kan sparas i två år, du kan alltså ha totalt 1200 kronor innestående.

    ',\r\n trans2025_31_beforeJuly1st: '

    Du får 300 kronor i årligt tandvårdsbidrag från Försäkringskassan. 2023 fick du däremot 600 kronor. Ett bidrag kan sparas i två år, du kan alltså ha totalt 900 kronor innestående varav 600 kronor förfaller 1 juli.

    ',\r\n trans2026_22_23_beforeJuly1st: '

    Du är under 24 år och får därför 600 kronor i årligt tandvårdsbidrag från Försäkringskassan. Förra året fick du ditt första bidrag. I juli i år får du ytterligare 600 kronor. Ett bidrag kan sparas i två år.

    ',\r\n trans2026_24_beforeJuly1st: '

    Du fyller 24 år i år och kommer fr o m 1 juli få 300 kronor i årligt tandvårdsbidrag. Däremot fick du 600 kronor förra året. Ett bidrag kan sparas i två år.

    ',\r\n trans2026_25_beforeJuly1st: '

    Du är över 23 år och får därför 300 kronor i årligt tandvårdsbidrag från Försäkringskassan. Förra året fick du ditt första bidrag. 1 juli får du ytterligare 300 kronor. Ett bidrag kan sparas i två år.

    ',\r\n trans2026_26_31_beforeJuly1st: '

    Du är över 23 år och får därför 300 kronor i årligt tandvårdsbidrag. Däremot fick du 600 kronor år 2024 innan riksdagen beslutade om sänkt tandvårdsbidrag. Ett bidrag kan sparas i två år, du kan alltså ha totalt 900 kronor innestående varav 600 kronor förfaller 1 juli.

    ',\r\n dontMissOut: '

    Gå inte miste om nåt!
    ' +\r\n 'Outnyttjade bidrag från {{yearOfAtbThatExpiresThisYear}} förfaller 1 juli. Besök tandläkaren innan bidraget försvinner.

    ',\r\n youGotNew: '

    Du har fått ett nytt bidrag!
    ' +\r\n 'Den 1 juli i år fick du ett nytt bidrag. Passa på att besöka tandläkaren och använd ditt bidrag.

    ',\r\n}\r\n\r\nexport const atbEn = {\r\n pageTitle: \"My Dental Care Allowance\",\r\n freeHeader: \"You go to the dentist for free\",\r\n freeSubText: \"

    Dental care is free until the year you turn {{childMaxAge}}. Your dentist will schedule regular check-ups.

    \" +\r\n \"

    For emergency dental care and aesthetic treatments, feel free to call us at <0>phone link

    \",\r\n firstAtbSoon: 'You will soon receive your first allowance!',\r\n timeToVisitQuestion: 'Is it time to visit the dentist?',\r\n canHave: 'You may have {{amount}} SEK in allowance',\r\n adultMinAgeBeforeJuly1SubText: '

    You went to the dentist for free until the year you turned 19. From now on, you will receive an annual dental care allowance of 600 SEK from the Social Insurance Agency. You will receive your first allowance on July 1.

    ',\r\n adultMinAgeAfterJuly1SubText: '

    You are under 24 and therefore receive 600 SEK in annual dental care allowance from the Social Insurance Agency. On July 1 this year, you received your first allowance. An allowance can be saved for two years.

    ',\r\n adultMinAgePlus1BeforeJuly1SubText: '

    You are under 24 and therefore receive 600 SEK in annual dental care allowance from the Social Insurance Agency. Last year, you received your first allowance. In July this year, you will receive another 600 SEK. An allowance can be saved for two years.

    ',\r\n under24SubText: '

    You are under 24 and therefore receive 600 SEK in annual dental care allowance from the Social Insurance Agency. An allowance can be saved for two years, meaning you can have a total of 1,200 SEK available.

    ',\r\n age23AfterJuly1stSubText: '

    You are 20-23 years old and therefore receive 600 SEK in annual dental care allowance from the Social Insurance Agency. An allowance can be saved for two years, meaning you can have a total of 1,200 SEK available. Going forward, you will receive 300 SEK per year.

    ',\r\n age24BeforeJuly1stSubText: '

    You turn 24 this year and will, from July 1, receive 300 SEK in annual dental care allowance. However, you received 600 SEK until the year you turned 23. An allowance can be saved for two years, meaning you can have a total of 1,200 SEK available.

    ',\r\n age24AfterJuly1stSubText: '

    You turn 24 this year and receive 300 SEK in annual dental care allowance. However, you received 600 SEK per year until the year you turned 23. An allowance can be saved for two years, meaning you can have a total of 900 SEK available.

    ',\r\n age25BeforeJuly1stSubText: '

    You turn 25 this year and have been receiving 300 SEK in annual dental care allowance since last year. However, you received 600 SEK the year you turned 23. An allowance can be saved for two years, meaning you can have a total of 900 SEK available, of which 600 SEK will expire on July 1.

    ',\r\n under65SubText: '

    You are 24-64 years old and therefore receive 300 SEK in annual dental care allowance from the Social Insurance Agency. An allowance can be saved for two years, meaning you can have a total of 600 SEK available.

    ',\r\n age65BeforeJuly1stSubText: '

    You turn 65 this year and will, from July 1, receive 600 SEK in annual dental care allowance. However, you received 300 SEK until the year you turned 64. An allowance can be saved for two years, meaning you can have a total of 600 SEK available.

    ',\r\n age65AfterJuly1stSubText: '

    You turn 65 this year and receive 600 SEK in annual dental care allowance. However, you received 300 SEK until the year you turned 64. An allowance can be saved for two years, meaning you can have a total of 900 SEK available.

    ',\r\n age66BeforeJuly1stSubText: '

    You turn 66 this year and have been receiving 600 SEK in annual dental care allowance since July 1 last year. However, you received 300 SEK the year you turned 64. An allowance can be saved for two years, meaning you can have a total of 900 SEK available, of which 300 SEK will expire on July 1.

    ',\r\n over65SubText: '

    You are over 65 years old and therefore receive 600 SEK in annual dental care allowance from the Social Insurance Agency. An allowance can be saved for two years, meaning you can have a total of 1,200 SEK available.

    ',\r\n goToBookingBtnLabel: 'Go to online booking',\r\n readMoreBtnLabel: 'Read more about the dental care allowance',\r\n readMoreContent: '
    How the dental care allowance works
    ' +\r\n '
      ' +\r\n '
    • The general dental care allowance (ATB) is an allowance from the Social Insurance Agency that you receive to help cover your dental care costs.
    • ' +\r\n '
    • The allowance is issued annually on July 1 from the year you turn {{adultMinAge}}.
    • ' +\r\n '
    • An allowance can be saved for up to two years before it is replaced by a new one. If more than two years pass between visits, you will lose one of your allowances.
    • ' +\r\n '
    • The allowance amounts to a maximum of 600 SEK or 1,200 SEK, depending on your age. If you are {{adultMinAge}}–23 years old or 65 years and older, your dental care support is 600 SEK/year. If you are 24–64 years old, the allowance is 300 SEK/year.
    • ' +\r\n '
    • You do not need to apply for the allowance. It is issued automatically and is registered with the dentist.
    • ' +\r\n '
    • The allowance cannot be used to pay for aesthetic treatments.
    • ' +\r\n '
    • The allowance is determined and regulated by the government budget and is the same for all dental care providers affiliated with the Social Insurance Agency.
    • ' +\r\n '
    • Until the year you turn {{childMaxAge}}, you go to the dentist free of charge.
    • ' +\r\n '
    ',\r\n latestVisitBlock: '

    Don’t miss out!
    Your last visit to us was {{latestVisitDate}}. If you haven’t visited another dentist since then and are registered with the Social Insurance Agency, you may have {{amountBasedOnLatestVisit}} SEK in dental care allowance, of which {{nextExpiresAmount}} SEK will expire on {{nextExpiresDate}}.

    ',\r\n latestVisitBlockSame: '

    Don’t miss out!
    Your last visit to us was {{latestVisitDate}}. If you haven’t visited another dentist since then and are registered with the Social Insurance Agency, you may have {{amountBasedOnLatestVisit}} SEK in dental care allowance, which will expire on {{nextExpiresDate}}.

    ',\r\n trans2025_21_22_beforeJuly1st: '

    You no longer go to the dentist for free. From now on, you will receive an annual dental care allowance of 600 SEK from the Social Insurance Agency. You will receive your first allowance on July 1.

    ',\r\n trans2025_23_beforeJuly1st: '

    You no longer go to the dentist for free, but you will receive 600 SEK in dental care allowance on July 1. From next year, you will receive 300 SEK per year.

    ',\r\n trans2025_21_23_afterJuly1st: '

    You are under 24 and therefore receive 600 SEK in annual dental care allowance from the Social Insurance Agency. On July 1 this year, you received your first allowance. An allowance can be saved for two years.

    ',\r\n trans2025_24_beforeJuly1st: '

    You no longer go to the dentist for free. From now on, you will receive an annual dental care allowance of 300 SEK from the Social Insurance Agency. You will receive your first allowance on July 1.

    ',\r\n trans2025_24_afterJuly1st: '

    You receive 300 SEK in annual dental care allowance from the Social Insurance Agency. On July 1 this year, you received your first allowance. An allowance can be saved for two years.

    ',\r\n trans2025_25_beforeJuly1st: '

    You received 600 SEK in dental care allowance from the Social Insurance Agency last year. From July 1 this year and onwards, it will be 300 SEK per year due to a parliamentary decision. An allowance can be saved for two years.

    ',\r\n trans2025_26_29_beforeJuly1st: '

    You previously received 600 SEK in annual dental care allowance from the Social Insurance Agency. From July 1 this year and onwards, it will be 300 SEK per year due to a parliamentary decision. An allowance can be saved for two years, meaning you can have a total of 1,200 SEK available.

    ',\r\n trans2025_25_30_afterJuly1st: '

    On July 1 this year, you received a dental care allowance of 300 SEK from the Social Insurance Agency. This will be the annual level going forward after a parliamentary decision. Last year, you received 600 SEK in allowance. An allowance can be saved for two years, meaning you can have 900 SEK available.

    ',\r\n trans2025_30_beforeJuly1st: '

    You turn 30 this year and will, from July 1, receive 300 SEK in annual dental care allowance. However, you received 600 SEK until the year you turned 29. An allowance can be saved for two years, meaning you can have a total of 1,200 SEK available.

    ',\r\n trans2025_31_beforeJuly1st: '

    You receive 300 SEK in annual dental care allowance from the Social Insurance Agency. In 2023, however, you received 600 SEK. An allowance can be saved for two years, meaning you can have a total of 900 SEK available, of which 600 SEK will expire on July 1.

    ',\r\n trans2026_22_23_beforeJuly1st: '

    You are under 24 and therefore receive 600 SEK in annual dental care allowance from the Social Insurance Agency. Last year, you received your first allowance. In July this year, you will receive another 600 SEK. An allowance can be saved for two years.

    ',\r\n trans2026_24_beforeJuly1st: '

    You turn 24 this year and will, from July 1, receive 300 SEK in annual dental care allowance. However, you received 600 SEK last year. An allowance can be saved for two years.

    ',\r\n trans2026_25_beforeJuly1st: '

    You are over 23 and therefore receive 300 SEK in annual dental care allowance from the Social Insurance Agency. Last year, you received your first allowance. On July 1, you will receive another 300 SEK. An allowance can be saved for two years.

    ',\r\n trans2026_26_31_beforeJuly1st: '

    You are over 23 and therefore receive 300 SEK in annual dental care allowance. However, you received 600 SEK in 2024 before a parliamentary decision to reduce the dental care allowance. An allowance can be saved for two years, meaning you can have a total of 900 SEK available, of which 600 SEK will expire on July 1.

    ',\r\n dontMissOut: '

    Don’t miss out!
    ' +\r\n 'Unused allowances from {{yearOfAtbThatExpiresThisYear}} will expire on July 1. Visit the dentist before the allowance disappears.

    ',\r\n youGotNew: '

    You’ve received a new allowance!
    ' +\r\n 'On July 1 this year, you received a new allowance. Take the opportunity to visit the dentist and use your allowance.

    ',\r\n}\r\n","export const healthSv = {\r\n pageTitle: \"Hälsodeklaration\",\r\n noActiveBookingsTitle: \"Du har ingen bokning just nu\",\r\n noActiveBookingsText: \"Vi behöver ingen hälsodeklaration föränn det är dags att besöka oss.\",\r\n missingTitle: \"Du har inte lämnat någon hälsodeklaration\",\r\n missingText: \"Vi behöver känna till ditt hälsotillstånd och vilka mediciner du tar. Lämna din hälsodeklaration nu så frigör du tid under ditt besök.\",\r\n missingButtonLabel: \"Åtgärda\",\r\n expiredTitle: \"Det var länge sedan du lämnade hälsodeklaration\",\r\n expiredText: \"Vi behöver känna till ditt hälsotillstånd och vilka mediciner du tar. Lämna din hälsodeklaration nu så frigör du tid under ditt besök.\",\r\n expiredButtonLabel: \"Åtgärda\",\r\n upToDateHasBookingsTitle: 'Tack för din hälsodeklaration',\r\n upToDateHasBookingsText: 'Behöver du ändra i din hälsodeklaration kan du redigera den fram till att du besökt oss.',\r\n upToDateHasBookingsButtonLabel: 'Redigera',\r\n upToDateNoBookingsTitle: 'Du har redan lämnat in en hälsodeklaration',\r\n upToDateNoBookingsText: 'Vi kommer i samband med ditt nästa besök fråga dig vilka förändringar som eventuellt skett i ditt allmänna hälsotillstånd.',\r\n}\r\n\r\nexport const healthEn = {\r\n pageTitle: \"Health declaration\",\r\n noActiveBookingsTitle: \"You have no upcoming bookings\",\r\n noActiveBookingsText: \"We do not need to know your state of health until it is time to visit us.\",\r\n missingTitle: \"You have not declared your health\",\r\n missingText: \"We need to know your state of health and what medication you take. Submit your health declaration now to free up time from your next visit.\",\r\n missingButtonLabel: \"Remedy\",\r\n expiredTitle: \"Your last health declaration has expired\",\r\n expiredText: \"We need to know your state of health and what medication you take. Submit your health declaration now to free up time from your next visit.\",\r\n expiredButtonLabel: \"Remedy\",\r\n upToDateHasBookingsTitle: 'Thanks for your health declaration',\r\n upToDateHasBookingsText: 'You can edit it until your next visit.',\r\n upToDateHasBookingsButtonLabel: 'Edit',\r\n upToDateNoBookingsTitle: 'You already declared your health',\r\n upToDateNoBookingsText: 'We will ask you for your most recent state of health before your next visit.',\r\n}","export const listingStatusSv = {\r\n // Called\r\n calledTitle: \"Dina tänder är i trygga händer\",\r\n calledTitleChild: \"{{possessiveFirstName}} tänder är i trygga händer\",\r\n calledText : \"Du kallas regelbundet till undersökningar hos oss\",\r\n calledTextChild : \"{{firstName}} kallas regelbundet till undersökningar hos oss\",\r\n\r\n // No-D-rev\r\n noDRevStrongText : \"Du får inga regelbundna kallelser till en tandläkare\",\r\n noDRevStrongTextChild : \"{{firstName}} får inga regelbundna kallelser till en tandläkare\",\r\n noDRevText : \"Klicka dig vidare eller ring <0>phone link för att välja klinik.\",\r\n\r\n // No-pat\r\n noPatStrongText : \"Du får inga regelbundna kallelser till undersökningar hos oss\",\r\n noPatStrongTextChild : \"{{firstName}} får inga regelbundna kallelser till undersökningar hos oss\",\r\n noPatText : \"Vi tar gärna hand om dig! Klicka dig vidare eller ring <0>phone link.\",\r\n noPatTextChildMale : \"Vi tar gärna hand om honom! Klicka dig vidare eller ring <0>phone link.\",\r\n noPatTextChildFemale : \"Vi tar gärna hand om henne! Klicka dig vidare eller ring <0>phone link.\",\r\n\r\n // Button for no-pat and no-d-rev\r\n startCallingMeBtnLabel: 'Börja kalla mig',\r\n startCallingBtnLabelMale: 'Börja kalla honom',\r\n startCallingBtnLabelFemale: 'Börja kalla henne',\r\n\r\n // Call form\r\n callFormTopTitleChild: 'Lista dig hos Distriktstandvården',\r\n callFormTopTextChild: 'Lämna dina kontaktuppgifter och välj den klinik du ska få kallelser till.',\r\n callFormTopTitleChildName: 'Lista {{firstName}} hos Distriktstandvården',\r\n callFormTopTextChildNameMale: 'Lämna {{firstNamePossessive}} kontaktuppgifter och välj den klinik han ska få kallelser till.',\r\n callFormTopTextChildNameFemale: 'Lämna {{firstNamePossessive}} kontaktuppgifter och välj den klinik hon ska få kallelser till.',\r\n callFormTopTitleAdult: 'Kallelser till tandläkare',\r\n callFormTopTextAdult: 'Lämna dina kontaktuppgifter och välj den klinik och tandläkare du vill bli kallad till',\r\n callFormPhoneLabel: 'Mobilnummer',\r\n callFormPhoneLabelChild: 'Mobilnummer för kontakt',\r\n callFormEmailLabel: 'E-post',\r\n callFormEmailLabelChild: 'E-post för kontakt',\r\n callFormPhoneErrorEmpty: 'Du måste ange mobilnummer',\r\n callFormPhoneErrorInvalid: 'Ogiltigt mobilnummer',\r\n callFormEmailErrorEmpty: 'Du måste ange e-post',\r\n callFormEmailErrorInvalid: 'Ogiltig e-post',\r\n callFormSubmitBtnLabel: 'Bekräfta',\r\n callFormSelectClinicLabel: 'Vilken klinik vill du få kallelser till?',\r\n callFormSelectClinicLabelMale: 'Vilken klinik ska han få kallelser till?',\r\n callFormSelectClinicLabelFemale: 'Vilken klinik ska hon få kallelser till?',\r\n callFormErrorClinicSelect: 'Du måste välja klinik',\r\n callFormDentistSelectLabel: 'Önskemål av specifik tandläkare',\r\n callFormDentistSelectAutomaticLabel: 'Kliniken väljer åt mig',\r\n callFormDentistSelectManualLabel: 'Jag vill välja tandläkare',\r\n callFormDentistSelectShowAllText: 'Visa alla tandläkare',\r\n callFormErrorDentistSelect: 'Du måste välja en tandläkare',\r\n callFormWhenCalledSelectLabel: 'När vill du bli kallad?',\r\n callFormWhenCalledSoonLabel: 'Så fort som möjligt',\r\n callFormWhenCalledTwoThreeMonthsLabel: 'Inom 2-3 månader',\r\n callFormWhenCalledThreeSixMonthsLabel: 'Inom 3-6 månader',\r\n callFormErrorSelectDentist: 'Du måste välja klinik först',\r\n\r\n // Child Listed card\r\n childListedListedAtLabel: 'Listad på Distriktstandvården',\r\n childListedSelectLabel: 'Ändra klinik för att få kallelser dit istället',\r\n childListedSaveButtonLabel: 'Spara ändring',\r\n childListedSaveButtonSubmittingLabel: 'Sparar...',\r\n childListedSubmitError: 'Oväntat fel. Var god ladda om sidan och försök igen senare.',\r\n childListedWaiting: 'Din begäran om ändring är mottagen',\r\n childListedNoClinicError: 'Du måste välja klinik',\r\n\r\n // Your employee card\r\n yourEmployeeDentist: 'Din tandläkare',\r\n yourEmployeeHygienist: 'Din tandhygienist',\r\n yourEmployeeEditButtonLabel: 'Redigera',\r\n yourEmployeeEditButtonLabelLoading: 'Vänta...',\r\n yourEmployeeWaiting: 'Din begäran om ändring är mottagen',\r\n yourEmployeeSelectEmployeeDentistPlaceholder: 'Välj tandläkare',\r\n yourEmployeeSelectEmployeeHygienistPlaceholder: 'Välj hygienist',\r\n yourEmployeeEditorBtnSaving: 'Bekräftar...',\r\n yourEmployeeEditorBtnSave: 'Bekräfta',\r\n yourEmployeeEditorPleaseSelectError: 'Du måste välja klinik och tandläkare/tandhygienist',\r\n yourEmployeeClinicLabel: 'Klinik',\r\n // Your employee modal\r\n yourEmployeeModalTitle: 'Redigera val av klinik och tandläkare',\r\n yourEmployeeModalTitleHyg: 'Redigera val av klinik och tandhygienist',\r\n yourEmployeeModalSubTitle: 'Välj vilken klinik och tandläkare du ska få kallelser till',\r\n yourEmployeeModalSubTitleHyg: 'Välj vilken klinik och tandhygienist du ska få kallelser till',\r\n yourEmployeeClinicSelectLabel: 'Vilken klinik vill du få kallelser till?',\r\n yourEmployeeEditorErrorSelectDentist: 'Du måste välja klinik först',\r\n yourEmployeeEditorErrorDentistSelect: 'Du måste välja en tandläkare',\r\n yourEmployeeEditorErrorHygienistSelect: 'Du måste välja en tandhygienist',\r\n yourEmployeeModalDentistSelectLabel: 'Önskemål av specifik tandläkare',\r\n yourEmployeeModalDentistSelectLabelHyg: 'Önskemål av specifik tandhygienist',\r\n yourEmployeeModalDentistSelectAutomaticLabel: 'Kliniken väljer åt mig',\r\n yourEmployeeModalDentistSelectManualLabel: 'Jag vill välja tandläkare',\r\n yourEmployeeModalDentistSelectManualLabelHyg: 'Jag vill välja tandhygienist',\r\n yourEmployeeClinicSelectsForYou: 'Kliniken väljer åt dig',\r\n\r\n // enlist waiting\r\n enlistWaitingTitle: 'Vi har tagit emot din begäran om att börja bli kallad',\r\n enlistWaitingTitleChild: 'Vi har tagit emot din begäran om att börja kalla {{firstName}}',\r\n enlistWaitingText: 'Vi återkommer om ditt första besök.',\r\n enlistWaitingTextChildMale: 'Vi återkommer om hans första besök.',\r\n enlistWaitingTextChildFemale: 'Vi återkommer om hennes första besök.',\r\n}\r\n\r\nexport const listingStatusEn = {\r\n // Called\r\n calledTitle: \"Your teeth are in good hands\",\r\n calledTitleChild: \"{{possessiveFirstName}} teeth are in good hands\",\r\n calledText : \"You get regular calls to examinations with us\",\r\n calledTextChild : \"{{firstName}} gets regular calls to examinations with us\",\r\n\r\n // No-D-rev\r\n noDRevStrongText : \"You are not getting regular calls to a dentist\",\r\n noDRevStrongTextChild : \"{{firstName}} is not getting regular calls to a dentist\",\r\n noDRevText : \"Click here or call <0>phone link to select clinic.\",\r\n\r\n // No-pat\r\n noPatStrongText : \"You are not getting regular calls to examinations with us\",\r\n noPatStrongTextChild : \"{{firstName}} is not getting regular calls to examinations with us\",\r\n noPatText : \"We would happily take care of you! Click here or call <0>phone link.\",\r\n noPatTextChildMale : \"We would happily take care of him! Click here or call <0>phone link.\",\r\n noPatTextChildFemale : \"We would happily take care of her! Click here or call <0>phone link.\",\r\n\r\n // Button for no-pat and no-d-rev\r\n startCallingMeBtnLabel: 'Start calling me',\r\n startCallingBtnLabelMale: 'Start calling him',\r\n startCallingBtnLabelFemale: 'Start calling her',\r\n\r\n // Call form\r\n callFormTopTitleChild: 'List yourself at Distriktstandvården',\r\n callFormTopTextChild: 'Enter your contact details and select the clinic you want to get called to.',\r\n callFormTopTitleChildName: 'List {{firstName}} at Distriktstandvården',\r\n callFormTopTextChildNameMale: 'Enter {{firstNamePossessive}} contact details and select the clinic you want him to get called to.',\r\n callFormTopTextChildNameFemale: 'Enter {{firstNamePossessive}} contact details and select the clinic you want her to get called to.',\r\n\r\n callFormTopTitleAdult: 'Calls to dentist',\r\n callFormTopTextAdult: 'Enter your contact details and select the clinic and dentist you want to get called to',\r\n callFormPhoneLabel: 'Mobile number',\r\n callFormEmailLabel: 'E-mail',\r\n callFormPhoneLabelChild: 'Mobile number for contact',\r\n callFormEmailLabelChild: 'E-mail for contact',\r\n callFormPhoneErrorEmpty: 'You have to entire mobile number',\r\n callFormPhoneErrorInvalid: 'Invalid mobile number',\r\n callFormEmailErrorEmpty: 'You have to enter e-mail',\r\n callFormEmailErrorInvalid: 'Invalid e-mail',\r\n callFormSubmitBtnLabel: 'Confirm',\r\n callFormSelectClinicLabel: 'What clinic do you want to get called to?',\r\n callFormSelectClinicLabelMale: 'What clinic should he get called to?',\r\n callFormSelectClinicLabelFemale: 'What clinic should she get called to?',\r\n callFormErrorClinicSelect: 'You have to select clinic',\r\n callFormDentistSelectLabel: 'Specific dentist wish',\r\n callFormDentistSelectAutomaticLabel: 'The clinic selects for me',\r\n callFormDentistSelectManualLabel: 'I want to select a dentist',\r\n callFormDentistSelectShowAllText: 'Show all dentists',\r\n callFormErrorDentistSelect: 'You have to select a dentist',\r\n callFormWhenCalledSelectLabel: 'When do you want to be called?',\r\n callFormWhenCalledSoonLabel: 'As soon as possible',\r\n callFormWhenCalledTwoThreeMonthsLabel: 'Within 2-3 months',\r\n callFormWhenCalledThreeSixMonthsLabel: 'Within 3-6 months',\r\n callFormErrorSelectDentist: 'You must select a clinic first',\r\n\r\n // Child Listed card\r\n childListedListedAtLabel: 'Listed at Distriktstandvården',\r\n childListedSelectLabel: 'Change clinic to get called there instead',\r\n childListedSaveButtonLabel: 'Save change',\r\n childListedSaveButtonSubmittingLabel: 'Saving...',\r\n childListedSubmitError: 'Unexpected problem. Please reload the page and try again later.',\r\n childListedWaiting: 'Your request is being processed',\r\n childListedNoClinicError: 'You must select a clinic',\r\n\r\n // Your employee card\r\n yourEmployeeDentist: 'Your dentist',\r\n yourEmployeeHygienist: 'Your hygienist',\r\n yourEmployeeEditButtonLabel: 'Edit',\r\n yourEmployeeEditButtonLabelLoading: 'Wait...',\r\n yourEmployeeWaiting: 'Your request for change has been received',\r\n yourEmployeeSelectEmployeeDentistPlaceholder: 'Select dentist',\r\n yourEmployeeSelectEmployeeHygienistPlaceholder: 'Select hygienist',\r\n yourEmployeeEditorBtnSaving: 'Confirming...',\r\n yourEmployeeEditorBtnSave: 'Confirm',\r\n yourEmployeeEditorPleaseSelectError: 'You have to select clinic and dentist/hygienist',\r\n yourEmployeeClinicLabel: 'Clinic',\r\n // Your employee modal\r\n yourEmployeeModalTitle: 'Edit choice of clinic and dentist',\r\n yourEmployeeModalTitleHyg: 'Edit choice of clinic and hygienist',\r\n yourEmployeeModalSubTitle: 'Choose what clinic and dentist you will get called to',\r\n yourEmployeeModalSubTitleHyg: 'Choose what clinic and hygienist you will get called to',\r\n yourEmployeeClinicSelectLabel: 'What clinic do you want to get called to?',\r\n yourEmployeeEditorErrorSelectDentist: 'You must select a clinic first',\r\n yourEmployeeEditorErrorDentistSelect: 'You have to select a dentist',\r\n yourEmployeeEditorErrorHygienistSelect: 'You have to select a hygienist',\r\n yourEmployeeModalDentistSelectLabel: 'Specific dentist wish',\r\n yourEmployeeModalDentistSelectLabelHyg: 'Specific hygienist wish',\r\n yourEmployeeModalDentistSelectAutomaticLabel: 'The clinic selects for me',\r\n yourEmployeeModalDentistSelectManualLabel: 'I want to select a dentist',\r\n yourEmployeeModalDentistSelectManualLabelHyg: 'I want to select a hygienist',\r\n yourEmployeeClinicSelectsForYou: 'The clinic selects for you',\r\n\r\n // enlist waiting\r\n enlistWaitingTitle: 'We have received your request to start getting called',\r\n enlistWaitingTitleChild: 'We have received your request to start calling {{firstName}}',\r\n enlistWaitingText: 'We will contact you regarding the time of your first appointment.',\r\n enlistWaitingTextChildMale: 'We will contact you regarding the time of his first appointment.',\r\n enlistWaitingTextChildFemale: 'We will contact you regarding the time of her first appointment.',\r\n}","export const pageHeaderSv = {\r\n name: \"Hej {{name}}!\",\r\n loading: \"Laddar...\",\r\n logout: \"Logga ut\",\r\n loggingOut: \"Loggar ut...\",\r\n}\r\n\r\nexport const pageHeaderEn = {\r\n name: \"Hi {{name}}!\",\r\n loading: \"Loading...\",\r\n logout: \"Log out\",\r\n loggingOut: \"Logging out...\",\r\n}","export const bookNowCardSv = {\r\n normalTitle: 'Vill du besöka oss redan nu?',\r\n acuteTitle: 'Är du i behov av akut tandvård?',\r\n acuteTitleChild: 'Är {{firstName}} i behov av akut tandvård?',\r\n normalListedText: 'Tidigarelägg din undersökning eller boka annan behandling online eller ring <0>phone link.',\r\n normalUnlistedText: 'Boka tid online eller ring <0>phone link.',\r\n acuteListedText: 'Ring <0>phone link',\r\n acuteUnlistedText: 'Boka tid online eller ring <0>phone link.',\r\n normalButtonLabel: 'Boka tid',\r\n acuteButtonLabel: 'Boka akuttid',\r\n}\r\n\r\nexport const bookNowCardEn = {\r\n normalTitle: 'Want to visit us already?',\r\n acuteTitle: 'In acute need of dental care?',\r\n acuteTitleChild: 'In acute need of dental care?',\r\n normalListedText: 'Advance your examination or make another appointment online or call <0>phone link.',\r\n normalUnlistedText: 'Make an appointment online or call <0>phone link.',\r\n acuteListedText: 'Call <0>phone link',\r\n acuteUnlistedText: 'Make an appointment online or call <0>phone link.',\r\n normalButtonLabel: 'Book time',\r\n acuteButtonLabel: 'Book acute',\r\n}\r\n","import {BookingChild, SnoozeStatus} from 'dtv-shared/src/api/my-pages/bookings';\r\nimport {derived} from \"overmind\";\r\nimport i18n from \"../../translations/i18n\";\r\nimport {config} from \"../index\";\r\nimport BookingUpcoming from 'dtv-shared/src/api/my-pages/models/BookingUpcoming';\r\nimport ReasonAnswer from \"dtv-shared/src/api/general/models/ReasonAnswer\";\r\nimport NextStepAnswer from \"dtv-shared/src/api/general/models/NextStepAnswer\";\r\nimport SnoozeOption from \"dtv-shared/src/api/my-pages/models/SnoozeOption\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\n\r\nexport class ActiveBooking extends BookingUpcoming {\r\n constructor(booking: BookingUpcoming) {\r\n super();\r\n Object.assign(this, booking);\r\n }\r\n\r\n AddressSectionExpanded: boolean = false;\r\n}\r\n\r\nexport class SnoozedBooking extends BookingUpcoming {\r\n constructor(booking: BookingUpcoming, snoozeStatus: SnoozeStatus) {\r\n super();\r\n if (snoozeStatus !== SnoozeStatus.Failed) {\r\n Object.assign(this, booking);\r\n }\r\n this.SnoozeStatus = snoozeStatus;\r\n }\r\n\r\n SnoozeStatus: SnoozeStatus;\r\n IsLong() {\r\n return this.SnoozeStatus === SnoozeStatus.Long;\r\n }\r\n IsShort() {\r\n return this.SnoozeStatus === SnoozeStatus.Short;\r\n }\r\n IsFailed() {\r\n return this.SnoozeStatus === SnoozeStatus.Failed;\r\n }\r\n}\r\n\r\ntype BookingsState = {\r\n loading: boolean;\r\n selectedPatientId: number | null;\r\n readonly selectedPatient: Patient;\r\n readonly selectedPatientIsMe: boolean;\r\n activeBookings: ActiveBooking[];\r\n cancelledBookings: BookingUpcoming[];\r\n children: BookingChild[];\r\n myNotifications: number;\r\n readonly selectedPatientsBookingsHeader: string;\r\n editBookingId: number | null;\r\n readonly editBooking: ActiveBooking | null;\r\n cancelBookingId: number | null;\r\n cancelBookingNextStepCode: string;\r\n readonly cancelBooking: ActiveBooking | null;\r\n readonly cancelBookingRequiredByLawSubtitleTranslationCode: string;\r\n noSnooze: boolean;\r\n selectedReasonAnswerId: number | null;\r\n readonly selectedReasonAnswer: ReasonAnswer | null;\r\n readonly showSelfCallerOption: boolean;\r\n readonly nextStepAnswers: NextStepAnswer[];\r\n readonly defaultNextStepAnswerId: number | null;\r\n selectedNextStepAnswerId: number | null;\r\n availableSnoozeOptions: SnoozeOption[];\r\n readonly snoozeOptions: SnoozeOption[];\r\n selectedSnoozeOptionId: number | null;\r\n confirmedSnoozedBooking: SnoozedBooking | null;\r\n showCancelConfirmModal: boolean;\r\n validateCancel: boolean;\r\n readonly cancelReasonError: string;\r\n readonly cancelNextStepError: string;\r\n readonly disableCancelButton: boolean;\r\n}\r\n\r\nexport const initialBookingState = () => ({\r\n loading: false,\r\n selectedPatientId: null, // null means \"DtvSession.BankIdPatient.ActorID\" ... > 0 means one of the kids actorID\r\n selectedPatient: derived((state: BookingsState, rootState: typeof config.state) => {\r\n if (rootState.login.bankIdPatient === null) {\r\n if (process.env.NODE_ENV === 'development') {\r\n return new Patient();\r\n } else {\r\n throw new Error(\"login.bankIdPatient is null in initialBookingState\");\r\n }\r\n }\r\n\r\n if (state.selectedPatientIsMe) {\r\n return rootState.login.bankIdPatient;\r\n }\r\n\r\n return state.children.filter(c => c.Id === state.selectedPatientId)[0];\r\n }),\r\n selectedPatientIsMe: derived((state: BookingsState) => {\r\n return state.selectedPatientId === null;\r\n }),\r\n activeBookings: [],\r\n cancelledBookings: [],\r\n children: [],\r\n myNotifications: 0,\r\n selectedPatientsBookingsHeader: derived((state: BookingsState, rootState: typeof config.state) => {\r\n let whose = '';\r\n if (state.selectedPatientIsMe) {\r\n whose = i18n.t('general:kidSelectorMina');\r\n } else {\r\n whose = state.selectedPatient?.PossessiveFirstName(rootState.language.language) ?? \"n/a\";\r\n }\r\n return whose + \" \" + i18n.t('bookings:pageKidSelectorSuffix');\r\n }),\r\n editBookingId: null,\r\n editBooking: derived((state: BookingsState) => {\r\n if (state.editBookingId === null) {\r\n return null;\r\n }\r\n return state.activeBookings.filter(b => b.Id === state.editBookingId)[0];\r\n }),\r\n cancelBookingId: null,\r\n cancelBooking: derived((state: BookingsState) => {\r\n if (state.cancelBookingId === null) {\r\n return null;\r\n }\r\n\r\n return state.activeBookings.filter(b => b.Id === state.cancelBookingId)[0];\r\n }),\r\n cancelBookingNextStepCode: '',\r\n cancelBookingRequiredByLawSubtitleTranslationCode: derived((state: BookingsState) => {\r\n if (!(state.cancelBooking?.IsTimeRequiredByLaw ?? false)) {\r\n return '';\r\n }\r\n\r\n if (state.selectedPatientIsMe) {\r\n return 'bookings:cancelBlockedLawSubtitleMyself';\r\n }\r\n\r\n return 'bookings:cancelBlockedLawSubtitleMyKid';\r\n }),\r\n noSnooze: false,\r\n selectedReasonAnswerId: null,\r\n selectedReasonAnswer: derived((state: BookingsState) => {\r\n if (state.cancelBooking === null) {\r\n return null;\r\n }\r\n if (state.selectedReasonAnswerId === null) {\r\n return null;\r\n }\r\n return state.cancelBooking.CancelReasonAnswers.filter(b => b.Id === state.selectedReasonAnswerId)[0];\r\n }),\r\n showSelfCallerOption: derived((state: BookingsState) => {\r\n const reason = state.selectedReasonAnswer;\r\n if (reason === null) {\r\n return false;\r\n } \r\n return reason.ShowSelfCaller;\r\n }),\r\n nextStepAnswers: derived((state: BookingsState) => {\r\n if (state.cancelBooking === null) {\r\n return [];\r\n }\r\n if (state.showSelfCallerOption) {\r\n return state.cancelBooking.CancelNextStepAnswers;\r\n }\r\n return state.cancelBooking.CancelNextStepAnswers.filter(ns => ns.WishType !== \"self-call\"); \r\n }),\r\n defaultNextStepAnswerId: derived((state: BookingsState) => {\r\n if (state.cancelBooking === null) {\r\n return null;\r\n }\r\n\r\n if (state.cancelBooking.CancelNextStepAnswers.length === 0) {\r\n return 0;\r\n }\r\n if (state.showSelfCallerOption === null ||\r\n state.showSelfCallerOption) {\r\n return null;\r\n }\r\n return state.cancelBooking.CancelNextStepAnswers.filter(ns => ns.Default_bk)[0]?.Id;\r\n }),\r\n selectedNextStepAnswerId: null,\r\n availableSnoozeOptions: [],\r\n snoozeOptions: derived((state: BookingsState) => {\r\n const booking = state.cancelBooking;\r\n if (booking === null) {\r\n return [];\r\n }\r\n return state.availableSnoozeOptions.filter(so => so.Required_Max_Months_Allowed <= booking.MonthToYearIfRequired);\r\n }),\r\n selectedSnoozeOptionId: null,\r\n confirmedSnoozedBooking: null,\r\n showCancelConfirmModal: false,\r\n validateCancel: false,\r\n cancelReasonError: derived((state: BookingsState) => {\r\n if (state.validateCancel && state.selectedReasonAnswerId === null) {\r\n return 'general:selectOption';\r\n }\r\n return '';\r\n }),\r\n cancelNextStepError: derived((state: BookingsState) => {\r\n if (state.validateCancel && state.selectedNextStepAnswerId === null) {\r\n return 'general:selectOption';\r\n }\r\n return '';\r\n }),\r\n disableCancelButton: derived((state: BookingsState) => {\r\n return state.selectedReasonAnswerId === null ||\r\n state.selectedNextStepAnswerId === null;\r\n }),\r\n});\r\n\r\nexport const state: BookingsState = initialBookingState();","import { derived } from \"overmind\";\r\nimport { Context } from \"..\";\r\nimport { ValidatePersonalIdentityNumber, ValidateEmail, ValidateMobile, ValidationResult } from 'dtv-shared/src/functions/validation';\r\nimport { ChildrenPatient } from \"dtv-shared/src/api/my-pages/children\";\r\n\r\ntype AddChildForm = {\r\n ssn: string;\r\n mobile: string;\r\n email: string;\r\n clinicDataId: number | null;\r\n sendReminderSMS: boolean;\r\n sendReminderEmail: boolean;\r\n sendRecallSMS: boolean;\r\n sendRecallEmail: boolean;\r\n validateFields: boolean;\r\n readonly validInputSSN: string;\r\n readonly validInputMobile: string;\r\n readonly validInputEmail: string;\r\n readonly validInputClinicDataId: string;\r\n readonly validInputReminderSettings: string;\r\n readonly validInputRecallSettings: string;\r\n readonly errorInputSSN: string;\r\n readonly errorInputMobile: string;\r\n readonly errorInputEmail: string;\r\n readonly errorInputClinicDataId: string;\r\n readonly errorInputReminderSettings: string;\r\n readonly errorInputRecallSettings: string;\r\n readonly isFormValid: boolean;\r\n}\r\ntype EditChildForm = {\r\n mobile: string;\r\n email: string;\r\n clinicDataId: number | null;\r\n sendReminderSMS: boolean;\r\n sendReminderEmail: boolean;\r\n sendRecallSMS: boolean;\r\n sendRecallEmail: boolean;\r\n sendRecallLetter: boolean;\r\n validateFields: boolean;\r\n readonly numberOfChanges: number;\r\n readonly hasChanges: boolean;\r\n readonly showSaveButton: boolean;\r\n readonly validInputMobile: string;\r\n readonly validInputEmail: string;\r\n readonly validInputClinicDataId: string;\r\n readonly validInputReminderSettings: string;\r\n readonly validInputRecallSettings: string;\r\n readonly errorInputMobile: string;\r\n readonly errorInputEmail: string;\r\n readonly errorInputClinicDataId: string;\r\n readonly errorInputReminderSettings: string;\r\n readonly errorInputRecallSettings: string;\r\n readonly isFormValid: boolean;\r\n}\r\ntype ChildrenState = {\r\n loading: boolean;\r\n errorMessage: string | null;\r\n children: ChildrenPatient[];\r\n addChildForm: AddChildForm;\r\n selectedChildId: number | null;\r\n readonly selectedChild: ChildrenPatient | null;\r\n editChildForm: EditChildForm;\r\n readonly displayEditModal: boolean;\r\n}\r\nexport const initialChildrenState = () => ({\r\n loading: false,\r\n errorMessage: '',\r\n children: [],\r\n addChildForm: initialAddChildForm(),\r\n selectedChildId: null,\r\n selectedChild: derived((state: ChildrenState) => {\r\n if (state.selectedChildId === null)\r\n return null;\r\n return state.children.filter(c => c.Id === state.selectedChildId)[0];\r\n }),\r\n editChildForm: initialEditChildForm(),\r\n displayEditModal: derived((state: ChildrenState) => {\r\n return state.selectedChild !== null;\r\n }),\r\n seeInboxChildId: null,\r\n});\r\nexport const initialAddChildForm = () => ({\r\n ssn: \"\",\r\n mobile: \"\",\r\n email: \"\",\r\n clinicDataId: null,\r\n sendReminderSMS: false,\r\n sendReminderEmail: false,\r\n sendRecallSMS: false,\r\n sendRecallEmail: false,\r\n validateFields: false,\r\n validInputSSN: derived((state: AddChildForm) => {\r\n switch (ValidatePersonalIdentityNumber(state.ssn)) {\r\n case ValidationResult.Empty:\r\n return 'children:error-empty-ssn';\r\n case ValidationResult.Invalid:\r\n return 'children:error-wrong-ssn';\r\n case ValidationResult.Valid:\r\n return '';\r\n default:\r\n throw new Error('unexpected validation error ssn: ' + (state.ssn ?? 'null'));\r\n }\r\n }),\r\n validInputMobile: derived((state: AddChildForm) => {\r\n switch (ValidateMobile(state.mobile)) {\r\n case ValidationResult.Empty:\r\n return 'children:error-empty-mobile';\r\n case ValidationResult.Invalid:\r\n return 'children:error-wrong-mobile';\r\n case ValidationResult.Valid:\r\n return '';\r\n default:\r\n throw new Error('unexpected validation error mobile: ' + (state.mobile ?? 'null'));\r\n }\r\n }),\r\n validInputEmail: derived((state: AddChildForm) => {\r\n switch (ValidateEmail(state.email)) {\r\n case ValidationResult.Empty:\r\n return 'children:error-empty-email';\r\n case ValidationResult.Invalid:\r\n return 'children:error-wrong-email';\r\n case ValidationResult.Valid:\r\n return '';\r\n default:\r\n throw new Error('unexpected validation error email: ' + (state.email ?? 'null'));\r\n }\r\n }),\r\n validInputClinicDataId: derived((state: AddChildForm) => {\r\n if (state.clinicDataId === null) {\r\n return \"children:error-clinic-selection\";\r\n }\r\n return '';\r\n }),\r\n validInputReminderSettings: derived((state: AddChildForm) => {\r\n if (!state.sendReminderSMS && !state.sendReminderEmail) {\r\n return \"children:error-patcom-selection\";\r\n }\r\n return '';\r\n }),\r\n validInputRecallSettings: derived((state: AddChildForm) => {\r\n if (!state.sendRecallSMS && !state.sendRecallEmail) {\r\n return \"children:error-patcom-selection\";\r\n }\r\n return '';\r\n }),\r\n errorInputSSN: derived((state: AddChildForm) => {\r\n if (state.validateFields) {\r\n return state.validInputSSN;\r\n }\r\n return '';\r\n }),\r\n errorInputMobile: derived((state: AddChildForm) => {\r\n if (state.validateFields) {\r\n return state.validInputMobile;\r\n }\r\n return '';\r\n }),\r\n errorInputEmail: derived((state: AddChildForm) => {\r\n if (state.validateFields) {\r\n return state.validInputEmail;\r\n }\r\n return '';\r\n }),\r\n errorInputClinicDataId: derived((state: AddChildForm) => {\r\n if (state.validateFields) {\r\n return state.validInputClinicDataId;\r\n }\r\n return '';\r\n }),\r\n errorInputReminderSettings: derived((state: AddChildForm) => {\r\n if (state.validateFields) {\r\n return state.validInputReminderSettings;\r\n }\r\n return '';\r\n }),\r\n errorInputRecallSettings: derived((state: AddChildForm) => {\r\n if (state.validateFields ) {\r\n return state.validInputRecallSettings;\r\n }\r\n return '';\r\n }),\r\n isFormValid: derived((state: AddChildForm) => {\r\n return state.validInputSSN === '' &&\r\n state.validInputMobile === '' &&\r\n state.validInputEmail === '' &&\r\n state.validInputClinicDataId === '' &&\r\n state.validInputReminderSettings === '' &&\r\n state.validInputRecallSettings === '';\r\n }),\r\n});\r\nexport const initialEditChildForm = () => ({\r\n mobile: '',\r\n email: '',\r\n clinicDataId: null,\r\n sendReminderSMS: true,\r\n sendReminderEmail: true,\r\n sendRecallSMS: true,\r\n sendRecallEmail: true,\r\n sendRecallLetter: false,\r\n numberOfChanges: derived((state: EditChildForm, rootState: Context['state']) => {\r\n let numChanges = 0;\r\n if (rootState.children.selectedChild !== null) {\r\n numChanges += state.email !== (rootState.children.selectedChild.Email ?? '') ? 1 : 0;\r\n numChanges += state.mobile !== (rootState.children.selectedChild.Mobile ?? '') ? 1 : 0;\r\n numChanges += state.clinicDataId !== (rootState.children.selectedChild.PatientListingStatus.ListedAtClinic()?.ClinicDataId ?? null ) ? 1 : 0;\r\n numChanges += state.sendReminderSMS !== rootState.children.selectedChild.PatientSettings?.SendReminderSMS ? 1 : 0;\r\n numChanges += state.sendReminderEmail !== rootState.children.selectedChild.PatientSettings?.SendReminderEmail ? 1 : 0;\r\n numChanges += state.sendRecallSMS !== rootState.children.selectedChild.PatientSettings?.SendRecallSMS ? 1 : 0;\r\n numChanges += state.sendRecallEmail !== rootState.children.selectedChild.PatientSettings?.SendRecallEmail ? 1 : 0;\r\n numChanges += state.sendRecallLetter !== rootState.children.selectedChild.PatientSettings?.SendRecallLetter ? 1 : 0;\r\n }\r\n return numChanges;\r\n }),\r\n hasChanges: derived((state: EditChildForm) => {\r\n return state.numberOfChanges > 0;\r\n }),\r\n showSaveButton: derived((state: EditChildForm) => {\r\n return state.hasChanges;\r\n }),\r\n validateFields: false,\r\n validInputMobile: derived((state: EditChildForm, rootState: Context['state']) => {\r\n if (state.mobile === '' || state.mobile !== rootState.children.selectedChild?.Mobile) {\r\n switch (ValidateMobile(state.mobile)) {\r\n case ValidationResult.Empty:\r\n return 'children:error-empty-mobile';\r\n case ValidationResult.Invalid:\r\n return 'children:error-wrong-mobile';\r\n case ValidationResult.Valid:\r\n return '';\r\n default:\r\n throw new Error('unexpected validation error mobile: ' + (state.mobile ?? 'null'));\r\n }\r\n }\r\n return '';\r\n }),\r\n validInputEmail: derived((state: EditChildForm, rootState: Context['state']) => {\r\n if ((state.email === '' || state.email !== (rootState.children.selectedChild?.Email))) {\r\n switch (ValidateEmail(state.email)) {\r\n case ValidationResult.Empty:\r\n return 'children:error-empty-email';\r\n case ValidationResult.Invalid:\r\n return 'children:error-wrong-email';\r\n case ValidationResult.Valid:\r\n return '';\r\n default:\r\n throw new Error('unexpected validation error email: ' + (state.email ?? 'null'));\r\n }\r\n }\r\n return '';\r\n }),\r\n validInputClinicDataId: derived((state: EditChildForm, rootState: Context['state']) => {\r\n if (state.clinicDataId === null && (rootState.children.selectedChild?.IsChildListedOrWaiting ?? true)) {\r\n return \"children:error-clinic-selection\";\r\n }\r\n return '';\r\n }),\r\n validInputReminderSettings: derived((state: EditChildForm) => {\r\n if (!state.sendReminderSMS && !state.sendReminderEmail) {\r\n return \"children:error-patcom-selection\";\r\n }\r\n return '';\r\n }),\r\n validInputRecallSettings: derived((state: EditChildForm) => {\r\n if (!state.sendRecallSMS && !state.sendRecallEmail) {\r\n return \"children:error-patcom-selection\";\r\n }\r\n return '';\r\n }),\r\n errorInputMobile: derived((state: EditChildForm, rootState: Context['state']) => {\r\n if (state.validateFields) {\r\n return state.validInputMobile;\r\n }\r\n return '';\r\n }),\r\n errorInputEmail: derived((state: EditChildForm, rootState: Context['state']) => {\r\n if (state.validateFields) {\r\n return state.validInputEmail;\r\n }\r\n return '';\r\n }),\r\n errorInputClinicDataId: derived((state: EditChildForm) => {\r\n if (state.validateFields) {\r\n return state.validInputClinicDataId;\r\n }\r\n return '';\r\n }),\r\n errorInputReminderSettings: derived((state: EditChildForm) => {\r\n if (state.validateFields) {\r\n return state.validInputReminderSettings;\r\n }\r\n return '';\r\n }),\r\n errorInputRecallSettings: derived((state: EditChildForm) => {\r\n if (state.validateFields) {\r\n return state.validInputRecallSettings;\r\n }\r\n return '';\r\n }),\r\n isFormValid: derived((state: EditChildForm) => {\r\n return state.validInputMobile === '' &&\r\n state.validInputEmail === '' &&\r\n state.validInputClinicDataId === '' &&\r\n state.validInputReminderSettings === '' &&\r\n state.validInputRecallSettings === '';\r\n }),\r\n});\r\n\r\nexport const state: ChildrenState = initialChildrenState();","import { derived } from \"overmind\";\r\nimport { Context } from \"..\";\r\nimport { ValidateEmail, ValidateMobile, ValidationResult } from 'dtv-shared/src/functions/validation';\r\n\r\ntype SettingsState = {\r\n loading: boolean;\r\n //patient: Patient;\r\n editSettingsForm: EditSettingsForm;\r\n numberListedChildren: number;\r\n readonly displayContextChildren: string;\r\n readonly showInfoSection: boolean;\r\n readonly numberOfChanges: number;\r\n readonly hasChanges: boolean;\r\n readonly showSaveButton: boolean;\r\n readonly showForm: boolean;\r\n}\r\ntype EditSettingsForm = {\r\n mobile: string;\r\n email: string;\r\n sendReminderSMS: boolean | null;\r\n sendReminderEmail: boolean | null;\r\n sendRecallSMS: boolean | null;\r\n sendRecallEmail: boolean | null;\r\n sendRecallLetter: boolean | null;\r\n sendInfoSMS: boolean | null;\r\n sendInfoEmail: boolean | null;\r\n validateFields: boolean;\r\n\r\n readonly errorInputMobile: string;\r\n readonly errorInputEmail: string;\r\n readonly errorInputReminderSettings: string;\r\n readonly errorInputRecallSettings: string;\r\n readonly isFormValid: boolean;\r\n}\r\n\r\nexport const initialSettingsState = () => ({\r\n loading: false,\r\n editSettingsForm: initialEditSettingsState(),\r\n numberListedChildren: 0,\r\n displayContextChildren: derived((state: SettingsState): string => {\r\n return state.numberListedChildren === 0?'none':'some';\r\n }),\r\n showInfoSection: derived((state: SettingsState, rootState: Context['state']): boolean => {\r\n return rootState.login.bankIdPatient?.CanConsentToReceivingPromotions ?? false;\r\n }),\r\n numberOfChanges: derived((state: SettingsState, rootState: Context['state']): number => {\r\n let numChanges = 0;\r\n numChanges += state.editSettingsForm.mobile !== (rootState.login.bankIdPatient?.Mobile ?? '') ? 1 : 0;\r\n numChanges += state.editSettingsForm.email !== (rootState.login.bankIdPatient?.Email ?? '') ? 1 : 0;\r\n numChanges += state.editSettingsForm.sendRecallEmail !== rootState.login.bankIdPatient?.PatientSettings?.SendRecallEmail ? 1 : 0;\r\n numChanges += state.editSettingsForm.sendRecallLetter !== rootState.login.bankIdPatient?.PatientSettings?.SendRecallLetter ? 1 : 0;\r\n numChanges += state.editSettingsForm.sendRecallSMS !== rootState.login.bankIdPatient?.PatientSettings?.SendRecallSMS ? 1 : 0;\r\n numChanges += state.editSettingsForm.sendReminderEmail !== rootState.login.bankIdPatient?.PatientSettings?.SendReminderEmail ? 1 : 0;\r\n numChanges += state.editSettingsForm.sendReminderSMS !== rootState.login.bankIdPatient?.PatientSettings?.SendReminderSMS ? 1 : 0;\r\n numChanges += state.editSettingsForm.sendInfoEmail !== rootState.login.bankIdPatient?.PatientSettings?.SendInfoEmail ? 1 : 0;\r\n numChanges += state.editSettingsForm.sendInfoSMS !== rootState.login.bankIdPatient?.PatientSettings?.SendInfoSMS ? 1 : 0;\r\n\r\n return numChanges;\r\n }),\r\n hasChanges: derived((state: SettingsState, rootState: Context['state']): boolean => {\r\n return state.numberOfChanges > 0;\r\n }),\r\n showSaveButton: derived((state: SettingsState): boolean => {\r\n return state.hasChanges;\r\n }),\r\n showForm: derived((state: SettingsState, rootState: Context['state']): boolean => {\r\n return rootState.login.bankIdPatient?.IsInOpus() ?? false;\r\n }),\r\n});\r\n\r\nexport const initialEditSettingsState = () => ({\r\n mobile: '',\r\n email: '',\r\n sendReminderSMS: true,\r\n sendReminderEmail: true,\r\n sendRecallSMS: true,\r\n sendRecallEmail: true,\r\n sendRecallLetter: false,\r\n sendInfoSMS: false,\r\n sendInfoEmail: false,\r\n validateFields: false,\r\n errorInputMobile: derived((state: EditSettingsForm, rootState: Context['state']) => {\r\n if (state.validateFields && (state.mobile === '' || state.mobile !== rootState.login.bankIdPatient?.Mobile)) {\r\n switch (ValidateMobile(state.mobile)) {\r\n case ValidationResult.Empty:\r\n return 'settings:error-empty-mobile';\r\n case ValidationResult.Invalid:\r\n return 'settings:error-wrong-mobile';\r\n case ValidationResult.Valid:\r\n return '';\r\n default:\r\n return 'general:error-unknown';\r\n }\r\n }\r\n return '';\r\n }),\r\n errorInputEmail: derived((state: EditSettingsForm, rootState: Context['state']) => {\r\n if (state.validateFields && (state.email === '' || state.email !== rootState.login.bankIdPatient?.Email)) {\r\n switch (ValidateEmail(state.email)) {\r\n case ValidationResult.Empty:\r\n return 'settings:error-empty-email';\r\n case ValidationResult.Invalid:\r\n return 'settings:error-wrong-email';\r\n case ValidationResult.Valid:\r\n return '';\r\n default:\r\n return 'general:error-unknown';\r\n }\r\n }\r\n return '';\r\n }),\r\n errorInputReminderSettings: derived((state: EditSettingsForm) => {\r\n if (state.validateFields && !state.sendReminderSMS && !state.sendReminderEmail) {\r\n return \"settings:error-patcom-selection\";\r\n }\r\n return '';\r\n }),\r\n errorInputRecallSettings: derived((state: EditSettingsForm) => {\r\n if (state.validateFields && !state.sendRecallSMS && !state.sendRecallEmail) {\r\n return \"settings:error-patcom-selection\";\r\n }\r\n return '';\r\n }),\r\n isFormValid: derived((state: EditSettingsForm) => {\r\n return state.errorInputMobile === '' &&\r\n state.errorInputEmail === '' &&\r\n state.errorInputReminderSettings === '' &&\r\n state.errorInputRecallSettings === '';\r\n }),\r\n});\r\n\r\nexport const state: SettingsState = initialSettingsState();","import { Transform } from \"class-transformer\";\r\nimport { Dayjs } from \"dayjs\";\r\nimport {dateTimeStrToDayJs} from \"../../../functions/date\";\r\n\r\nexport default class ClinicOpenHours {\r\n @Transform(({value})=>dateTimeStrToDayJs(value))\r\n Date!: Dayjs | null;\r\n Day!: number | null;\r\n\r\n NameSv!: string | null;\r\n NameEn!: string | null;\r\n\r\n IsOpen!: boolean;\r\n OpenHours!: string;\r\n\r\n Name(lang: string){\r\n if (lang===\"sv\" && this.NameSv) {\r\n return this.NameSv;\r\n }\r\n if (lang!==\"sv\" && this.NameEn) {\r\n return this.NameEn;\r\n }\r\n\r\n if (this.Date!==null) {\r\n return this.Date.locale(lang).format(\"dddd D/M\");\r\n }\r\n return null;\r\n }\r\n IsToday(now : Dayjs) : boolean {\r\n if (this.Date === null) {\r\n return false;\r\n }\r\n return this.Date.isSame(now, 'day');\r\n }\r\n}","import { Type } from \"class-transformer\";\r\nimport ClinicOpenHours from \"./ClinicOpenHours\";\r\nimport dayjs, {Dayjs} from \"dayjs\";\r\nimport \"dayjs/plugin/isoWeek\";\r\n\r\nexport default class ClinicOpenDays {\r\n ClinicDataId!: number;\r\n\r\n @Type(() => ClinicOpenHours)\r\n Ordinary!: ClinicOpenHours[];\r\n\r\n @Type(() => ClinicOpenHours)\r\n Deviation!: ClinicOpenHours[];\r\n\r\n GetWeek(offset: number, dateNow: Dayjs):ClinicOpenHours[]{\r\n let week: ClinicOpenHours[] = [];\r\n let monday = dateNow.isoWeekday(1).add(offset, 'week');\r\n let day = dayjs(monday);\r\n \r\n //todo go next week if saturday or sunday?\r\n\r\n while(day.diff(monday,'days')<7) {\r\n let openDay: ClinicOpenHours = new ClinicOpenHours();\r\n openDay.Date = dayjs(day);\r\n\r\n let deviation : ClinicOpenHours | undefined = this.Deviation.find(d => d.Date !== null && d.Date.isSame(day,'day'))!;\r\n if (deviation) {\r\n openDay.NameSv = deviation.NameSv;\r\n openDay.NameEn = deviation.NameEn;\r\n openDay.IsOpen = deviation.IsOpen;\r\n openDay.OpenHours = deviation.OpenHours;\r\n } else {\r\n let ordinary : ClinicOpenHours | undefined = this.Ordinary.find(o => o.Day === day.isoWeekday());\r\n // openHours.IsOpen = day.isoWeekday() < 6;\r\n if (ordinary){\r\n openDay.IsOpen = ordinary.IsOpen;\r\n openDay.OpenHours = ordinary.OpenHours;\r\n } else {\r\n openDay.IsOpen = false;\r\n }\r\n }\r\n week.push(openDay);\r\n day = day.add(1,'days');\r\n }\r\n return week;\r\n }\r\n}\r\n","import { Type } from \"class-transformer\";\r\nimport Clinic from \"./Clinic\";\r\nimport ClinicOpenDays from \"./ClinicOpenDays\";\r\n\r\nexport default class MyClinic extends Clinic {\r\n @Type(() => ClinicOpenDays)\r\n OpenDays!: ClinicOpenDays;\r\n}","import { derived } from \"overmind\";\r\nimport { config } from \"../index\";\r\nimport i18n from \"../../translations/i18n\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport ClinicOpenDays from \"dtv-shared/src/api/my-pages/models/ClinicOpenDays\";\r\nimport ClinicOpenHours from \"dtv-shared/src/api/my-pages/models/ClinicOpenHours\";\r\nimport {Dayjs} from \"dayjs\";\r\nimport \"dayjs/plugin/isoWeek\";\r\nimport MyClinic from \"dtv-shared/src/api/my-pages/models/MyClinic\";\r\n\r\nexport class MyClinicState extends MyClinic {\r\n OpenHoursSectionExpanded: boolean;\r\n AddressSectionExpanded: boolean;\r\n SelectedWeekNumber: number;\r\n\r\n constructor(myClinic: MyClinic){\r\n super();\r\n Object.assign(this, myClinic);\r\n\r\n this.OpenHoursSectionExpanded = false;\r\n this.AddressSectionExpanded = false;\r\n this.SelectedWeekNumber = 0;\r\n }\r\n\r\n selectedWeek(dateNow: Dayjs): ClinicOpenHours[] {\r\n return this.OpenDays.GetWeek(this.SelectedWeekNumber, dateNow);\r\n }\r\n selectedWeekName(dateNow: Dayjs): string {\r\n if (this.SelectedWeekNumber === 0) {\r\n return i18n.t('myClinics:thisWeek');\r\n }\r\n if (this.SelectedWeekNumber === 1) {\r\n return i18n.t('myClinics:nextWeek');\r\n }\r\n return i18n.t('myClinics:week') + ' ' + (dateNow.add(this.SelectedWeekNumber, 'week').isoWeek());\r\n }\r\n}\r\n\r\ntype MyClinicsState = {\r\n loading: boolean;\r\n\r\n selectedPatientId: number | null;\r\n children: Patient[];\r\n myClinics: MyClinicState[];\r\n\r\n clinicOpenDays: ClinicOpenDays[];\r\n\r\n readonly selectedPatient: Patient;\r\n readonly selectedPatientIsMe: boolean;\r\n readonly selectedPatientHeader: string;\r\n\r\n readonly max_number_weeks: number;\r\n}\r\n\r\nexport const initialMyClinicsState = () => ({\r\n loading: false,\r\n selectedPatientId: null,\r\n children: [],\r\n myClinics: [],\r\n clinicOpenDays: [],\r\n selectedPatient: derived((state: MyClinicsState, rootState: typeof config.state) : Patient => {\r\n if (rootState.login.bankIdPatient === null) {\r\n if (process.env.NODE_ENV === 'development') {\r\n return new Patient();\r\n } else {\r\n throw new Error(\"login.bankIdPatient is null in myClinicsState\");\r\n }\r\n }\r\n\r\n if (state.selectedPatientIsMe) {\r\n return rootState.login.bankIdPatient;\r\n }\r\n return state.children.filter(c => c.Id === state.selectedPatientId)[0];\r\n }),\r\n selectedPatientIsMe: derived((state: MyClinicsState) => {\r\n return state.selectedPatientId === null;\r\n }),\r\n selectedPatientHeader: derived((state: MyClinicsState, rootState: typeof config.state) => {\r\n let whose = '';\r\n\r\n if (state.selectedPatientIsMe) {\r\n whose = i18n.t('general:kidSelectorMin');\r\n } else {\r\n whose = state.selectedPatient?.PossessiveFirstName(rootState.language.language) ?? 'n/a';\r\n }\r\n return whose + \" \" + i18n.t('myClinics:pageChildSelectorSuffix');\r\n }),\r\n max_number_weeks: 20,\r\n});\r\n\r\nexport const state: MyClinicsState = initialMyClinicsState();","import { derived } from \"overmind\";\r\nimport { Invitation} from 'dtv-shared/src/api/my-pages/referral';\r\n\r\ntype ReferralState = {\r\n loading: boolean;\r\n errorMessage: string | null;\r\n myReferralCode: string;\r\n myReferralURL: string;\r\n myBenefits: number;\r\n invitations: Invitation[];\r\n nbInvitations: number;\r\n benefitPerReferral: number;\r\n conditionsExpanded: boolean;\r\n}\r\n\r\nexport const initialReferralState = () => ({\r\n loading: false,\r\n errorMessage: '',\r\n myReferralCode: '',\r\n myReferralURL: '',\r\n myBenefits: 0,\r\n invitations: [],\r\n nbInvitations: derived((state: ReferralState): number => {\r\n return state.invitations.length;\r\n }),\r\n benefitPerReferral: 0,\r\n conditionsExpanded: false,\r\n});\r\n\r\nexport const state: ReferralState = initialReferralState();","import { derived } from \"overmind\";\r\nimport { config } from \"../index\";\r\nimport i18n from \"../../translations/i18n\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport { InboxChild, Message } from \"dtv-shared/src/api/my-pages/inbox\";\r\n\r\ntype InboxState = {\r\n loading: boolean;\r\n loadingMore: boolean;\r\n errorMessage: string | null;\r\n\r\n myNotifications: number;\r\n selectedPatientId: number | null;\r\n children: InboxChild[];\r\n messages: Message[];\r\n totalMessages: number;\r\n\r\n readonly selectedPatient: Patient;\r\n readonly selectedPatientIsMe: boolean;\r\n readonly selectedPatientHeader: string;\r\n readonly nbMessagesLoaded: number;\r\n readonly showLoadMoreButton: boolean;\r\n\r\n selectedMessageId: number | null;\r\n readonly selectedMessage: Message | null;\r\n readonly displayModal: boolean;\r\n}\r\n\r\nexport const INBOX_TAKE : number = 1;\r\n\r\nexport const initialInboxState = () => ({\r\n loading: false,\r\n loadingMore: false,\r\n errorMessage: '',\r\n myNotifications: 0,\r\n selectedPatientId: null,\r\n children: [],\r\n messages: [],\r\n totalMessages: 0,\r\n selectedPatient: derived((state: InboxState, rootState: typeof config.state) : Patient => {\r\n if (rootState.login.bankIdPatient === null) {\r\n if (process.env.NODE_ENV === 'development') {\r\n return new Patient();\r\n } else {\r\n throw new Error(\"login.bankIdPatient is null in inboxState\");\r\n }\r\n }\r\n\r\n if (state.selectedPatientIsMe) {\r\n return rootState.login.bankIdPatient;\r\n }\r\n return state.children.filter(c => c.Id === state.selectedPatientId)[0];\r\n }),\r\n selectedPatientIsMe: derived((state: InboxState) => {\r\n return state.selectedPatientId === null;\r\n }),\r\n selectedPatientHeader: derived((state: InboxState, rootState: typeof config.state) => {\r\n let whose = '';\r\n if (state.selectedPatientIsMe) {\r\n whose = i18n.t('general:kidSelectorMina');\r\n } else {\r\n whose = state.selectedPatient?.PossessiveFirstName(rootState.language.language) ?? 'n/a';\r\n }\r\n return whose + \" \" + i18n.t('inbox:pageChildSelectorSuffix');\r\n }),\r\n selectedMessage: derived((state: InboxState) => {\r\n if (state.selectedMessageId)\r\n return state.messages.filter(m => m.Id === state.selectedMessageId)[0];\r\n return null;\r\n }),\r\n selectedMessageId: null,\r\n nbMessagesLoaded: derived((state: InboxState) => {\r\n return state.messages.length;\r\n }),\r\n showLoadMoreButton: derived((state: InboxState) => {\r\n return state.nbMessagesLoaded < state.totalMessages;\r\n }),\r\n displayModal: derived((state: InboxState) => {\r\n return state.selectedMessage !== null;\r\n }),\r\n});\r\n\r\nexport const state: InboxState = initialInboxState();","type PersonalOffersState = {\r\n loading: boolean;\r\n conditionsExpanded: boolean;\r\n}\r\n\r\nexport const initialPersonalOffersState = () => ({\r\n loading: false,\r\n conditionsExpanded: false,\r\n})\r\n\r\nexport const state: PersonalOffersState = initialPersonalOffersState();","export default class JournalEntry {\r\n Id!: number;\r\n TaskId!: string;\r\n Description!: string;\r\n\r\n CodeEntry!: number;\r\n PriceCharged!: number;\r\n PriceReference!: number;\r\n}","import { Transform } from \"class-transformer\";\r\nimport { Dayjs } from \"dayjs\";\r\nimport {dateTimeStrToDayJs} from \"../../../functions/date\";\r\n\r\nexport default class Xray {\r\n Id!: number;\r\n Filename!: string;\r\n @Transform(({ value }) => dateTimeStrToDayJs(value))\r\n DateTaken!: Dayjs;\r\n\r\n Location!: string;\r\n Method!: string;\r\n ImageTypeCode!: string;\r\n TeethNumbers!: string;\r\n TemplateId!: number | null;\r\n\r\n DateTakenText(lang: string) {\r\n return this.DateTaken.locale(lang).format('YYYY-MM-DD, HH:mm:ss');\r\n }\r\n GetTemplateImage(): string {\r\n return \"https://distriktstandvarden.se/wp-content/uploads/xray_teeth_schema_\"+ (this.TemplateId === null ? 'none' : this.TemplateId) +\".png\";\r\n }\r\n}","import { Type } from \"class-transformer\";\r\nimport Booking from \"./Booking\";\r\nimport JournalEntry from \"./JournalEntry\";\r\nimport Xray from \"./Xray\";\r\n\r\nexport default class BookingPrevious extends Booking {\r\n PatientAttended!: boolean;\r\n PaymentStatus!: string; // TODO: Make this an enum\r\n InvoiceNumber!: number|null;\r\n BillNumber!: number|null;\r\n\r\n @Type(() => Xray)\r\n Xrays!: Xray[];\r\n\r\n @Type(() => JournalEntry)\r\n JournalEntries!: JournalEntry[];\r\n\r\n DisplayInfoSection(): boolean {\r\n return this.JournalEntries.length > 0 || this.Xrays.length > 0;\r\n }\r\n}","import { derived } from \"overmind\";\r\nimport { config } from \"../index\";\r\nimport i18n from \"../../translations/i18n\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport { JournalChild } from \"dtv-shared/src/api/my-pages/journal\";\r\nimport BookingPrevious from \"dtv-shared/src/api/my-pages/models/BookingPrevious\";\r\nimport PaymentReceipt from \"dtv-shared/src/api/my-pages/models/PaymentReceipt\";\r\n\r\nexport class ActiveBooking extends BookingPrevious {\r\n ActionsSectionExpanded: boolean;\r\n DisplayModalXrays: boolean;\r\n DisplayModalReceipt: boolean;\r\n DisplayModalPayment: boolean;\r\n\r\n PaymentReceipt: PaymentReceipt | null;\r\n HtmlSnippet!: string | null;\r\n constructor(booking: BookingPrevious) {\r\n super();\r\n Object.assign(this, booking);\r\n\r\n this.ActionsSectionExpanded = false;\r\n this.DisplayModalXrays = false;\r\n this.DisplayModalReceipt = false;\r\n this.DisplayModalPayment = false;\r\n\r\n this.PaymentReceipt = null;\r\n this.HtmlSnippet = null;\r\n }\r\n\r\n \r\n}\r\n\r\ntype JournalState = {\r\n loading: boolean;\r\n loadingMore: boolean;\r\n nbCyclesDone: number;\r\n errorMessage: string | null;\r\n\r\n myNotifications: number;\r\n selectedPatientId: number | null;\r\n children: JournalChild[];\r\n previousBookings: ActiveBooking[];\r\n totalPreviousBookings: number;\r\n\r\n readonly selectedPatient: Patient;\r\n readonly selectedPatientIsMe: boolean;\r\n readonly selectedPatientHeader: string;\r\n readonly nbBookingsToTake: number;\r\n readonly nbBookingsLoaded: number;\r\n readonly autoLoadMore: boolean;\r\n readonly showLoadMoreButton: boolean;\r\n\r\n selectedBookingId: number | null;\r\n readonly selectedBooking: ActiveBooking | null;\r\n readonly displayExtraInfo: boolean;\r\n readonly displayModalXray: boolean;\r\n readonly displayModalReceipt: boolean;\r\n readonly displayModalPayment: boolean;\r\n}\r\n\r\n//do we still need export here in the end\r\nexport const JOURNAL_FIRST_TAKE : number[] = [1, 1, 1, 2]; //take FIRST when auto load in order then EXTRA when clicked\r\nexport const JOURNAL_EXTRA_TAKE : number = 3;\r\n\r\nexport const initialJournalState = () => ({\r\n loading: false,\r\n loadingMore: false,\r\n nbCyclesDone: 0,\r\n errorMessage: '',\r\n myNotifications: 0,\r\n selectedPatientId: null,\r\n children: [],\r\n previousBookings: [],\r\n totalPreviousBookings: 0,\r\n selectedPatient: derived((state: JournalState, rootState: typeof config.state) : Patient => {\r\n if (rootState.login.bankIdPatient === null) {\r\n if (process.env.NODE_ENV === 'development') {\r\n return new Patient();\r\n } else {\r\n throw new Error(\"login.bankIdPatient is null in journalstate\");\r\n }\r\n }\r\n\r\n if (state.selectedPatientIsMe) {\r\n return rootState.login.bankIdPatient;\r\n }\r\n return state.children.filter(c => c.Id === state.selectedPatientId)[0];\r\n }),\r\n selectedPatientIsMe: derived((state: JournalState) => {\r\n return state.selectedPatientId === null;\r\n }),\r\n selectedPatientHeader: derived((state: JournalState, rootState: typeof config.state) => {\r\n let whose = '';\r\n if (state.selectedPatientIsMe) {\r\n whose = i18n.t('general:kidSelectorMina');\r\n } else {\r\n whose = state.selectedPatient?.PossessiveFirstName(rootState.language.language) ?? 'n/a';\r\n }\r\n return whose + \" \" + i18n.t('journal:pageChildSelectorSuffix');\r\n }),\r\n nbBookingsToTake: derived((state: JournalState) => {\r\n if (state.nbCyclesDone < JOURNAL_FIRST_TAKE.length)\r\n return JOURNAL_FIRST_TAKE[state.nbCyclesDone];\r\n return JOURNAL_EXTRA_TAKE; //get the last one\r\n }),\r\n nbBookingsLoaded: derived((state: JournalState) => {\r\n return state.previousBookings.length;\r\n }),\r\n autoLoadMore: derived((state: JournalState) => {\r\n return state.nbCyclesDone < JOURNAL_FIRST_TAKE.length && state.nbBookingsLoaded < state.totalPreviousBookings;\r\n }),\r\n showLoadMoreButton: derived((state: JournalState) => {\r\n return state.nbBookingsLoaded < state.totalPreviousBookings;\r\n }),\r\n selectedBookingId: null,\r\n selectedBooking: derived((state: JournalState) => {\r\n if (state.selectedBookingId)\r\n return state.previousBookings.filter(b => b.Id === state.selectedBookingId)[0];\r\n return null;\r\n }),\r\n displayExtraInfo: derived((state: JournalState, rootState: typeof config.state) => { \r\n if (!state.selectedPatientIsMe && state.selectedPatient.IsOver13(rootState.date.dateNow))\r\n return false;\r\n\r\n return true;\r\n }),\r\n displayModalXray: derived((state: JournalState) => {\r\n return state.selectedBooking !== null && state.selectedBooking.DisplayModalXrays;\r\n }),\r\n displayModalReceipt: derived((state: JournalState) => {\r\n return state.selectedBooking !== null && state.selectedBooking.DisplayModalReceipt;\r\n }),\r\n displayModalPayment: derived((state: JournalState) => {\r\n return state.selectedBooking !== null && state.selectedBooking.DisplayModalPayment;\r\n }),\r\n})\r\n\r\nexport const state: JournalState = initialJournalState();","import {derived} from \"overmind\";\r\nimport {config} from \"../index\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport dayjs, {Dayjs} from \"dayjs\";\r\n\r\ntype AtbSettings = {\r\n header: string;\r\n subHeader: string | null;\r\n subHeaderParams: {} | null;\r\n subText: string;\r\n subText2: string | null;\r\n subTextParams: {} | null;\r\n showBookingButton: boolean;\r\n showGraphics: string | null;\r\n amountBasedOnLatestVisit: number;\r\n nextExpiresAmount: number;\r\n nextExpiresDate: Dayjs;\r\n}\r\n\r\ntype AtbState = {\r\n loading: boolean;\r\n readMore: boolean;\r\n latestVisitDate: Dayjs | null;\r\n readonly dateNow: Dayjs;\r\n readonly yearNow: number;\r\n readonly bankIdPatient : Patient | null;\r\n readonly ageThisYear: number;\r\n readonly birthYear: number;\r\n readonly atbReceivedAlreadyThisYear: boolean;\r\n readonly yearOfAtbThatExpiresThisYear: number;\r\n readonly settings: AtbSettings;\r\n readonly testSystem: boolean;\r\n testBirthYear: string;\r\n testDateNow: string;\r\n testDateNowApplied: string;\r\n testLatestVisitDate: string;\r\n}\r\n\r\nfunction getAmountBasedOnLatestVisit(\r\n {\r\n latestVisitDate,\r\n bankIdPatient,\r\n atbReceivedAlreadyThisYear,\r\n dateNow\r\n } :\r\n {\r\n latestVisitDate: Dayjs | null, \r\n bankIdPatient: Patient, \r\n atbReceivedAlreadyThisYear: boolean,\r\n dateNow: Dayjs\r\n }) {\r\n\r\n if (latestVisitDate === null) {\r\n return {\r\n amountBasedOnLatestVisit: 0,\r\n nextExpiresAmount: 0,\r\n nextExpiresDate: dateNow,\r\n }\r\n }\r\n\r\n let atb2Date : Dayjs = dateNow.month(6).date(1);\r\n\r\n if (!atbReceivedAlreadyThisYear) {\r\n atb2Date = atb2Date.subtract(1, 'year');\r\n }\r\n\r\n let atb1Date = atb2Date.subtract(1, 'year');\r\n\r\n let ageAtAtb1 = bankIdPatient.AgeThisYear(atb1Date);\r\n let ageAtAtb2 = bankIdPatient.AgeThisYear(atb2Date);\r\n\r\n function getAtbAmountAtAge(age: number, atDate: Dayjs) : number {\r\n let atYear : number = parseInt(atDate.format('YYYY'));\r\n let childMaxAgeAtYear : number = atYear > 2024 ? 19 : 23;\r\n let bigAtbThresholdAtYear : number = atYear > 2024 ? 23 : 29;\r\n if (age <= childMaxAgeAtYear) {\r\n return 0;\r\n }\r\n if (age <= bigAtbThresholdAtYear) {\r\n return 600;\r\n }\r\n if (age <= 64) {\r\n return 300;\r\n }\r\n return 600; // 65+\r\n }\r\n\r\n let atb1Amount : number = getAtbAmountAtAge(ageAtAtb1, atb1Date);\r\n let atb2Amount : number = getAtbAmountAtAge(ageAtAtb2, atb2Date);\r\n\r\n if (latestVisitDate.diff(atb1Date) >= 0) {\r\n atb1Amount = 0;\r\n }\r\n\r\n if (latestVisitDate.diff(atb2Date) >= 0) {\r\n atb2Amount = 0;\r\n }\r\n\r\n\r\n let nextExpirationAmount : number;\r\n let nextExpirationDate : Dayjs;\r\n\r\n if (atb1Amount > 0) {\r\n nextExpirationAmount = atb1Amount;\r\n nextExpirationDate = atb1Date.add(2, 'year');\r\n } else {\r\n nextExpirationAmount = atb2Amount;\r\n nextExpirationDate = atb2Date.add(2, 'year');\r\n }\r\n\r\n return {\r\n amountBasedOnLatestVisit: atb1Amount + atb2Amount,\r\n nextExpiresAmount: nextExpirationAmount,\r\n nextExpiresDate: nextExpirationDate,\r\n }\r\n}\r\nexport const initialAtbState = () => ({\r\n loading: false,\r\n readMore: false,\r\n latestVisitDate: null,\r\n dateNow: derived((state: AtbState, rootState: typeof config.state) => {\r\n return state.testSystem && state.testDateNowApplied !== '' ? dayjs(state.testDateNowApplied) : rootState.date.dateNow;\r\n }),\r\n yearNow: derived((state: AtbState, rootState: typeof config.state) => {\r\n return parseInt(state.dateNow.format('YYYY'));\r\n }),\r\n bankIdPatient: derived((state: AtbState, rootState: typeof config.state) => {\r\n let pat = rootState.login.bankIdPatient === null ? null : Object.assign(new Patient(), rootState.login.bankIdPatient);\r\n if (pat === null) {\r\n return null;\r\n }\r\n return pat;\r\n }),\r\n ageThisYear: derived((state: AtbState) => {\r\n if (state.bankIdPatient === null) {\r\n return 0;\r\n }\r\n return state.bankIdPatient.AgeThisYear(state.dateNow);\r\n }),\r\n birthYear: derived((state: AtbState) : number => {\r\n if (state.bankIdPatient === null) {\r\n return 0;\r\n }\r\n const year = parseInt(state.bankIdPatient.BirthDate.format('YYYY'));\r\n if (isNaN(year)) {\r\n throw new Error(\"birthyear is not a number\");\r\n }\r\n return year;\r\n }),\r\n atbReceivedAlreadyThisYear: derived((state: AtbState) => {\r\n return parseInt(state.dateNow.format('MMDD')) >= 701; // atb is sent out 1st july\r\n }),\r\n yearOfAtbThatExpiresThisYear: derived((state: AtbState, rootState: typeof config.state) => {\r\n if (state.atbReceivedAlreadyThisYear) {\r\n return state.yearNow - 1;\r\n }\r\n return state.yearNow - 2;\r\n }),\r\n settings: derived((state: AtbState, rootState: typeof config.state) : AtbSettings => {\r\n if (state.bankIdPatient === null) {\r\n return {\r\n header: '',\r\n subHeader: null,\r\n subHeaderParams: null,\r\n subText: '',\r\n subText2: null,\r\n subTextParams: null,\r\n showBookingButton: false,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: 0,\r\n nextExpiresAmount: 0,\r\n nextExpiresDate: state.dateNow ?? dayjs(),\r\n };\r\n }\r\n\r\n const { amountBasedOnLatestVisit, nextExpiresAmount, nextExpiresDate } = getAmountBasedOnLatestVisit({\r\n latestVisitDate: state.latestVisitDate,\r\n bankIdPatient: state.bankIdPatient,\r\n atbReceivedAlreadyThisYear: state.atbReceivedAlreadyThisYear,\r\n dateNow: state.dateNow ?? dayjs()\r\n });\r\n\r\n if (state.ageThisYear <= rootState.common.childMaxAge) {\r\n return {\r\n header: 'atb:freeHeader',\r\n subHeader: null,\r\n subHeaderParams: null,\r\n subText: 'atb:freeSubText',\r\n subText2: null,\r\n subTextParams: {childMaxAge: rootState.common.childMaxAge},\r\n showBookingButton: false,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.yearNow === 2025) {\r\n if (state.ageThisYear >= 21 && state.ageThisYear <= 22 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:firstAtbSoon',\r\n subHeader: null,\r\n subHeaderParams: null,\r\n subText: 'atb:trans2025_21_22_beforeJuly1st',\r\n subText2: null,\r\n subTextParams: {birthYear: state.birthYear},\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n if (state.ageThisYear === 23 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:firstAtbSoon',\r\n subHeader: null,\r\n subHeaderParams: null,\r\n subText: 'atb:trans2025_23_beforeJuly1st',\r\n subText2: null,\r\n subTextParams: {birthYear: state.birthYear},\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n if (state.ageThisYear >= 21 && state.ageThisYear <= 23 && state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 600},\r\n subText: 'atb:trans2025_21_23_afterJuly1st',\r\n subText2: null,\r\n subTextParams: {birthYear: state.birthYear},\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n if (state.ageThisYear === 24 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:firstAtbSoon',\r\n subHeader: null,\r\n subHeaderParams: null,\r\n subText: 'atb:trans2025_24_beforeJuly1st',\r\n subText2: null,\r\n subTextParams: {birthYear: state.birthYear},\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n if (state.ageThisYear === 24 && state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 300},\r\n subText: 'atb:trans2025_24_afterJuly1st',\r\n subText2: null,\r\n subTextParams: {birthYear: state.birthYear},\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 25 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 600},\r\n subText: 'atb:trans2025_25_beforeJuly1st',\r\n subText2: null,\r\n subTextParams: {birthYear: state.birthYear},\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear >= 26 && state.ageThisYear <= 29 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 1200},\r\n subText: 'atb:trans2025_26_29_beforeJuly1st',\r\n subText2: 'atb:dontMissOut',\r\n subTextParams: {birthYear: state.birthYear, yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear},\r\n showBookingButton: true,\r\n showGraphics: '600_600',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear >= 25 && state.ageThisYear <= 30 && state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 900},\r\n subText: 'atb:trans2025_25_30_afterJuly1st',\r\n subText2: 'atb:youGotNew',\r\n subTextParams: {birthYear: state.birthYear},\r\n showBookingButton: true,\r\n showGraphics: '600_300',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 30 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 1200},\r\n subText: 'atb:trans2025_30_beforeJuly1st',\r\n subText2: 'atb:dontMissOut',\r\n subTextParams: {\r\n yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear,\r\n birthYear: state.birthYear\r\n },\r\n showBookingButton: true,\r\n showGraphics: '600_600',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 31 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 900},\r\n subText: 'atb:trans2025_31_beforeJuly1st',\r\n subText2: 'atb:dontMissOut',\r\n subTextParams: {\r\n yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear,\r\n birthYear: state.birthYear\r\n },\r\n showBookingButton: true,\r\n showGraphics: '600_300',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n }\r\n\r\n if (state.yearNow === 2026) {\r\n if ((state.ageThisYear === 22 || state.ageThisYear === 23) && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 600},\r\n subText: 'atb:trans2026_22_23_beforeJuly1st',\r\n subText2: null,\r\n subTextParams: null,\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 24 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 600},\r\n subText: 'atb:trans2026_24_beforeJuly1st',\r\n subText2: null,\r\n subTextParams: null,\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 25 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 300},\r\n subText: 'atb:trans2026_25_beforeJuly1st',\r\n subText2: null,\r\n subTextParams: null,\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear >= 26 && state.ageThisYear <= 31 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 900},\r\n subText: 'atb:trans2026_26_31_beforeJuly1st',\r\n subText2: 'atb:dontMissOut',\r\n subTextParams: {birthYear: state.birthYear, yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear},\r\n showBookingButton: true,\r\n showGraphics: '600_300',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n }\r\n\r\n if (state.ageThisYear === rootState.common.adultMinAge) {\r\n if (!state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:firstAtbSoon',\r\n subHeader: null,\r\n subHeaderParams: null,\r\n subText: 'atb:adultMinAgeBeforeJuly1SubText',\r\n subText2: null,\r\n subTextParams: null,\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 600},\r\n subText: 'atb:adultMinAgeAfterJuly1SubText',\r\n subText2: null,\r\n subTextParams: {birthYear: state.birthYear},\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === (rootState.common.adultMinAge+1) && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 600},\r\n subText: 'atb:adultMinAgePlus1BeforeJuly1SubText',\r\n subText2: null,\r\n subTextParams: null,\r\n showBookingButton: true,\r\n showGraphics: null,\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 23 && state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 1200},\r\n subText: 'atb:age23AfterJuly1stSubText',\r\n subText2: 'atb:youGotNew',\r\n subTextParams: null,\r\n showBookingButton: true,\r\n showGraphics: '600_600',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear <= 23) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 1200},\r\n subText: 'atb:under24SubText',\r\n subText2: state.atbReceivedAlreadyThisYear ? 'atb:youGotNew' : 'atb:dontMissOut',\r\n subTextParams: state.atbReceivedAlreadyThisYear ? null : {yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear},\r\n showBookingButton: true,\r\n showGraphics: '600_600',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 24 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 1200},\r\n subText: 'atb:age24BeforeJuly1stSubText',\r\n subText2: 'atb:dontMissOut',\r\n subTextParams: {\r\n yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear,\r\n birthYear: state.birthYear\r\n },\r\n showBookingButton: true,\r\n showGraphics: '600_600',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 24 && state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 900},\r\n subText: 'atb:age24AfterJuly1stSubText',\r\n subText2: 'atb:youGotNew',\r\n subTextParams: {\r\n birthYear: state.birthYear\r\n },\r\n showBookingButton: true,\r\n showGraphics: '600_300',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 25 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 900},\r\n subText: 'atb:age25BeforeJuly1stSubText',\r\n subText2: 'atb:dontMissOut',\r\n subTextParams: {\r\n yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear,\r\n birthYear: state.birthYear\r\n },\r\n showBookingButton: true,\r\n showGraphics: '600_300',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear <= 64) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 600},\r\n subText: 'atb:under65SubText',\r\n subText2: state.atbReceivedAlreadyThisYear ? 'atb:youGotNew' : 'atb:dontMissOut',\r\n subTextParams: state.atbReceivedAlreadyThisYear ? null : {\r\n yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear,\r\n },\r\n showBookingButton: true,\r\n showGraphics: '300_300',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 65 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 600},\r\n subText: 'atb:age65BeforeJuly1stSubText',\r\n subText2: 'atb:dontMissOut',\r\n subTextParams: {\r\n yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear,\r\n birthYear: state.birthYear\r\n },\r\n showBookingButton: true,\r\n showGraphics: '300_300',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 65 && state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 900},\r\n subText: 'atb:age65AfterJuly1stSubText',\r\n subText2: 'atb:youGotNew',\r\n subTextParams: {\r\n birthYear: state.birthYear,\r\n },\r\n showBookingButton: true,\r\n showGraphics: '300_600',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear === 66 && !state.atbReceivedAlreadyThisYear) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 900},\r\n subText: 'atb:age66BeforeJuly1stSubText',\r\n subText2: 'atb:dontMissOut',\r\n subTextParams: {\r\n yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear,\r\n birthYear: state.birthYear\r\n },\r\n showBookingButton: true,\r\n showGraphics: '300_600',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n if (state.ageThisYear > 65) {\r\n return {\r\n header: 'atb:timeToVisitQuestion',\r\n subHeader: 'atb:canHave',\r\n subHeaderParams: {amount: 1200},\r\n subText: 'atb:over65SubText',\r\n subText2: state.atbReceivedAlreadyThisYear ? 'atb:youGotNew' : 'atb:dontMissOut',\r\n subTextParams: state.atbReceivedAlreadyThisYear ? null : {\r\n yearOfAtbThatExpiresThisYear: state.yearOfAtbThatExpiresThisYear,\r\n },\r\n showBookingButton: true,\r\n showGraphics: '600_600',\r\n amountBasedOnLatestVisit: amountBasedOnLatestVisit,\r\n nextExpiresDate: nextExpiresDate,\r\n nextExpiresAmount: nextExpiresAmount,\r\n };\r\n }\r\n\r\n throw new Error(\"atb state could not be computed, age this year: \" + state.ageThisYear);\r\n }),\r\n testSystem: process.env.REACT_APP_DTV_ENV === 'test' || process.env.NODE_ENV === 'development',\r\n testBirthYear: '',\r\n testDateNow: '',\r\n testDateNowApplied: '',\r\n testLatestVisitDate: '',\r\n});\r\n\r\nexport const state: AtbState = initialAtbState();","import {HealthDeclarationStatusEnum} from \"dtv-shared/src/api/my-pages/health\";\r\n\r\ntype HealthState = {\r\n loading: boolean;\r\n healthDeclarationStatus: HealthDeclarationStatusEnum;\r\n hasActiveBookings: boolean;\r\n}\r\n\r\nexport const initialHealthState = () => ({\r\n loading: false,\r\n healthDeclarationStatus: HealthDeclarationStatusEnum.UpToDate,\r\n hasActiveBookings: false,\r\n})\r\n\r\nexport const state: HealthState = initialHealthState()","import { Context } from '..';\r\nimport {LoginPageStatus} from \"../login/login-state\";\r\nimport { initialBookingState } from \"../bookings/bookings-state\";\r\nimport { initialChildrenState } from '../children/children-state';\r\nimport { initialSettingsState } from '../settings/settings-state';\r\nimport { initialMyClinicsState } from '../my-clinics/my-clinics-state';\r\nimport { initialReferralState } from '../referral/referral-state';\r\nimport { initialInboxState } from '../inbox/inbox-state';\r\nimport { initialPersonalOffersState } from '../personal-offers/personal-offers-state';\r\nimport { initialJournalState } from '../journal/journal-state';\r\nimport {initialAtbState} from \"../atb/atb-state\";\r\nimport {initialHealthState} from \"../health/health-state\";\r\nimport queryString from \"query-string\";\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport type Payload = {\r\n params: any,\r\n querystring: queryString.ParsedQuery\r\n}\r\n\r\nexport const _loadMainMenu = async ({ state, effects, actions }: Context) => {\r\n if (state.mainMenu.loading || state.mainMenu.loadingInBackGround) {\r\n return;\r\n }\r\n\r\n state.mainMenu.loading = true;\r\n const results = await effects.api.mainMenu.MainMenuLoad();\r\n actions.mainMenu._handleMainMenuLoadResponse(results);\r\n state.mainMenu.loading = false;\r\n state.mainMenu.loaded = true;\r\n}\r\n// The reason for making a separate function for loading in background is because its working with a different loading-variable: state.mainMenu.loadingInBackGround.\r\n// The reason for a separate loading-variable is that when we set the regular loading variable to true the UI shows a spinner... But we dont want a spinner when loading in background. But we still want to know that the main menu is loading to prevent duplicate loads in parallell.\r\n// TODO: cancel previous request and start a new one when detecting loading?!\r\nexport const _loadMainMenuInBackground = async ({ state, effects, actions }: Context) => {\r\n if (state.mainMenu.loading || state.mainMenu.loadingInBackGround) {\r\n return;\r\n }\r\n\r\n state.mainMenu.loadingInBackGround = true;\r\n const results = await effects.api.mainMenu.MainMenuLoad();\r\n actions.mainMenu._handleMainMenuLoadResponse(results);\r\n state.mainMenu.loadingInBackGround = false;\r\n state.mainMenu.loaded = true;\r\n}\r\n\r\nexport const _loadBankIdPatient = async ({ state, effects, actions }: Context) => {\r\n if (state.login.bankIdPatientLoading) {\r\n return;\r\n }\r\n\r\n state.login.bankIdPatientLoading = true;\r\n const resp = await effects.api.login.LoginGetBankIdPatient();\r\n state.login.bankIdPatient = resp.BankIdPatient;\r\n //state.login.bankIdPatient!.BirthDate = dayjs('1998-01-01');\r\n state.login.bankIdPatientLoading = false;\r\n}\r\n\r\nexport const _loadWhatIsNeededForAnyPage = async ({ state, effects, actions }: Context) => {\r\n // patient has always been loaded because its included in the html of the page. So we dont need to await it here. just load it in the background\r\n if (state.login.loggedIn) {\r\n actions.page._loadBankIdPatient();\r\n }\r\n\r\n // clear logged in as.\r\n effects.api.login.ClearLoggedInAs();\r\n\r\n if (state.mainMenu.loaded) {\r\n actions.page._loadMainMenuInBackground();\r\n } else {\r\n await actions.page._loadMainMenu();\r\n }\r\n}\r\n\r\nexport const showFrontPage = async ({ state, effects, actions }: Context, payload: Payload ) => {\r\n state.page.current = Pages.Front;\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n if (typeof payload.querystring.grandidsession === 'string' && payload.querystring.grandidsession.length > 0) {\r\n state.login.status = LoginPageStatus.CheckingGrandIDSession;\r\n const results = await effects.api.login.LoginGrandIDSession(payload.querystring.grandidsession);\r\n state.login.status = LoginPageStatus.Default;\r\n\r\n if (results.Success) {\r\n state.login.bankIdPatient = results.BankIdPatient;\r\n effects.login.setHtmlClassesLoggedIn();\r\n effects.page.router.redirect('/');\r\n } else {\r\n state.login.status = LoginPageStatus.Error;\r\n }\r\n return;\r\n }\r\n\r\n if (state.login.loggedIn) {\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n await actions.page._loadWhatIsNeededForAnyPage();\r\n }\r\n}\r\n\r\nexport const showBookingsPage = async ({ state, actions, effects }: Context, payload: Payload) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n state.bookings = initialBookingState();\r\n if (payload.params?.child_id) {\r\n state.bookings.selectedPatientId = +payload.params.child_id;\r\n }\r\n\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.bookings.loadBookingsPage()]);\r\n}\r\n\r\nexport const showChildrenPage = async ({ state, actions, effects }: Context) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n if (!(state.login.bankIdPatient?.CanSeeChildrenPage(state.date.dateNow) ?? false)) {\r\n effects.page.router.redirect('/');\r\n return;\r\n }\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n\r\n state.children = initialChildrenState();\r\n\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.children.loadChildrenPage()]);\r\n}\r\n\r\nexport const showSettingsPage = async ({state, actions, effects}: Context) => {\r\n //console.log('showSettings', payload);\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n state.settings = initialSettingsState();\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.settings.loadSettingsPage()]);\r\n}\r\n\r\nexport const showMyClinicsPage = async ({state, effects, actions}:Context, payload: Payload) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n state.myClinics = initialMyClinicsState();\r\n if (payload.params?.child_id) {\r\n state.myClinics.selectedPatientId = +payload.params.child_id;\r\n }\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.myClinics.loadMyClinicsPage()]);\r\n}\r\n\r\nexport const showReferralPage = async ({state, actions, effects}:Context) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n if (!(state.login.bankIdPatient?.CanSeeReferralPage() ?? false)) {\r\n effects.page.router.redirect('/');\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n state.referral = initialReferralState();\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.referral.loadReferralPage()]);\r\n}\r\n\r\nexport const showInboxPage = async ({state, actions, effects}: Context, payload: Payload) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n state.inbox = initialInboxState();\r\n if (payload.params?.child_id) {\r\n state.inbox.selectedPatientId = +payload.params.child_id;\r\n }\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.inbox.loadInboxPage({reload: false})]);\r\n}\r\n\r\nexport const showPersonalOffersPage = async({state, actions, effects}: Context) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n if (!(state.login.bankIdPatient?.CanSeePersonalOffersPage() ?? false)) {\r\n effects.page.router.redirect('/');\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n state.personalOffers = initialPersonalOffersState();\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.personalOffers.loadPersonalOffersPage()]);\r\n}\r\n\r\nexport const showJournalPage = async({state, actions, effects}: Context, payload: Payload) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n\r\n state.journal = initialJournalState();\r\n if (payload.params?.child_id) {\r\n state.journal.selectedPatientId = +payload.params.child_id;\r\n }\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.journal.loadJournalPage()]);\r\n}\r\n\r\nexport const showAtbPage = async ({state, actions, effects}: Context) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n if (!(state.login.bankIdPatient!.CanSeeAtbPage() ?? false)) {\r\n effects.page.router.redirect('/');\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n state.atb = initialAtbState();\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.atb.loadAtbPage()]);\r\n}\r\n\r\nexport const showHealthPage = async ({state, actions, effects}: Context) => {\r\n if (!state.login.loggedIn) {\r\n return;\r\n }\r\n\r\n if (!(state.login.bankIdPatient!.CanSeeHealthDeclarationPage(state.date.dateNow) ?? false)) {\r\n effects.page.router.redirect('/');\r\n return;\r\n }\r\n\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n\r\n effects.analytics.DtvGaPageView();//ga4 handles this automatically!\r\n\r\n state.health = initialHealthState();\r\n await Promise.all([actions.page._loadWhatIsNeededForAnyPage(), actions.health.loadHealthPage()]);\r\n}","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replace(/\\+/g, ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tresult[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {encode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',', ...options};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","import page from 'page';\r\nimport queryString from 'query-string';\r\n\r\nexport type IParams = {\r\n [param: string]:string\r\n} | void\r\n\r\nexport const router = {\r\n initialize(routes: { [url: string]: (payload: {params: object, querystring: queryString.ParsedQuery}) => void }) {\r\n Object.keys(routes).forEach(url => {\r\n page(url, ({ params, querystring }) => {\r\n const payload = { params, querystring: queryString.parse(querystring) };\r\n routes[url](payload);\r\n })\r\n })\r\n page.base('/mina-sidor');\r\n page.start();\r\n },\r\n goTo(url: string) {\r\n page.show(url);\r\n },\r\n open(url: string) {\r\n page.show(url);\r\n },\r\n redirect(url: string) {\r\n page.redirect(url);\r\n }\r\n};\r\n\r\nexport const reloadPage = () => {\r\n window.location.reload();\r\n}","import {myPagesApi} from './myPagesApi';\r\nimport {HealthDeclarationStatusEnum} from \"./health\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class MainMenuLoadResponse extends BaseResponse {\r\n NotificationsBookings!: number;\r\n UnpaidInvoiceIds!: number[];\r\n NumberListedChildren!: number;\r\n NumberMyClinics!: number;\r\n NotificationsInbox!:number;\r\n NotificationsPersonalOffers!:number;\r\n HealthDeclarationStatus!: HealthDeclarationStatusEnum;\r\n BankIdPatientHasActiveBookings!: boolean;\r\n SettingsMissing!: boolean;\r\n HasUnlistedChildren!: boolean;\r\n ShowReferralUpgradeNotification!: boolean;\r\n ReferralBenefitAmount!: number;\r\n ReferralsNewCount!: number;\r\n}\r\n\r\nexport const MainMenuLoad = async () : Promise => {\r\n const resp = await myPagesApi.get(MainMenuLoadResponse, 'read-only/MainMenuLoad');\r\n //resp.HealthDeclarationStatus = HealthDeclarationStatusEnum.Missing;\r\n //resp.HasActiveBookings = true;\r\n //resp.SettingsMissing = true;\r\n return resp;\r\n}","import {myPagesApi} from './myPagesApi';\r\nimport { Type } from 'class-transformer';\r\nimport Patient from \"./models/Patient\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class ChildrenPatient extends Patient {\r\n UnlistedChildHasUpcomingBookings!: boolean | null;\r\n}\r\n\r\nexport type ChildrenAddChildRequest = {\r\n SSN: string;\r\n Mobile: string;\r\n Email: string;\r\n ClinicDataId: number;\r\n\r\n SendReminderEmail: boolean;\r\n SendReminderSMS: boolean;\r\n\r\n SendRecallEmail: boolean;\r\n SendRecallSMS: boolean;\r\n}\r\n\r\nexport type ChildrenSaveChildRequest = {\r\n SSN: string;\r\n Mobile: string | null;\r\n Email: string | null;\r\n ClinicDataId: number | null;\r\n\r\n SendReminderEmail: boolean | null;\r\n SendReminderSMS: boolean | null;\r\n\r\n SendRecallEmail: boolean | null;\r\n SendRecallSMS: boolean | null;\r\n SendRecallLetter: boolean | null;\r\n}\r\n\r\nexport class ChildrenPageResponse extends BaseResponse {\r\n @Type(() => ChildrenPatient)\r\n Children!: ChildrenPatient[];\r\n}\r\n\r\nexport const ChildrenPage = async () : Promise => {\r\n return await myPagesApi.get(ChildrenPageResponse, 'ChildrenPage');\r\n};\r\n\r\nexport const AddChildPost = async (addChildRequest: ChildrenAddChildRequest) : Promise => {\r\n return await myPagesApi.post(ChildrenPageResponse, 'ChildrenAddChild', {request: addChildRequest});\r\n /* await(2000);\r\n const response: ChildrenPageResponse = {\r\n Success: true,\r\n ErrorMessage: '',\r\n ResponseStatus: Status.Unknown,\r\n Children: []\r\n };\r\n return response; */\r\n};\r\n\r\nexport const EditChildPost = async (saveChildRequest: ChildrenSaveChildRequest) : Promise => {\r\n return await myPagesApi.post(ChildrenPageResponse, 'ChildrenSaveChild', {request: saveChildRequest});\r\n\r\n //test value\r\n /* await sleep(2000);\r\n const response : ChildrenPageResponse = {\r\n Success: true, //false,\r\n ErrorMessage: '', //\"An error was forced as part of a testing mechanism\",\r\n ResponseStatus: Status.Unknown,\r\n Children: [],\r\n };\r\n return response; */\r\n}","import {myPagesApi} from \"./myPagesApi\";\r\nimport {CancelToken} from \"axios\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport const SetLanguage = async (lang: string, cancelToken?: CancelToken) : Promise => {\r\n return await myPagesApi.post(BaseResponse, 'SetLanguage', {\r\n request: {\r\n Language: lang,\r\n }\r\n }, {\r\n cancelToken\r\n }, true);\r\n};","const list = [\n\t// Native ES errors https://262.ecma-international.org/12.0/#sec-well-known-intrinsic-objects\n\tEvalError,\n\tRangeError,\n\tReferenceError,\n\tSyntaxError,\n\tTypeError,\n\tURIError,\n\n\t// Built-in errors\n\tglobalThis.DOMException,\n\n\t// Node-specific errors\n\t// https://nodejs.org/api/errors.html\n\tglobalThis.AssertionError,\n\tglobalThis.SystemError,\n]\n\t// Non-native Errors are used with `globalThis` because they might be missing. This filter drops them when undefined.\n\t.filter(Boolean)\n\t.map(\n\t\tconstructor => [constructor.name, constructor],\n\t);\n\nconst errorConstructors = new Map(list);\n\nexport default errorConstructors;\n","import errorConstructors from './error-constructors.js';\n\nexport class NonError extends Error {\n\tname = 'NonError';\n\n\tconstructor(message) {\n\t\tsuper(NonError._prepareSuperMessage(message));\n\t}\n\n\tstatic _prepareSuperMessage(message) {\n\t\ttry {\n\t\t\treturn JSON.stringify(message);\n\t\t} catch {\n\t\t\treturn String(message);\n\t\t}\n\t}\n}\n\nconst commonProperties = [\n\t{\n\t\tproperty: 'name',\n\t\tenumerable: false,\n\t},\n\t{\n\t\tproperty: 'message',\n\t\tenumerable: false,\n\t},\n\t{\n\t\tproperty: 'stack',\n\t\tenumerable: false,\n\t},\n\t{\n\t\tproperty: 'code',\n\t\tenumerable: true,\n\t},\n\t{\n\t\tproperty: 'cause',\n\t\tenumerable: false,\n\t},\n];\n\nconst toJsonWasCalled = new WeakSet();\n\nconst toJSON = from => {\n\ttoJsonWasCalled.add(from);\n\tconst json = from.toJSON();\n\ttoJsonWasCalled.delete(from);\n\treturn json;\n};\n\nconst getErrorConstructor = name => errorConstructors.get(name) ?? Error;\n\n// eslint-disable-next-line complexity\nconst destroyCircular = ({\n\tfrom,\n\tseen,\n\tto,\n\tforceEnumerable,\n\tmaxDepth,\n\tdepth,\n\tuseToJSON,\n\tserialize,\n}) => {\n\tif (!to) {\n\t\tif (Array.isArray(from)) {\n\t\t\tto = [];\n\t\t} else if (!serialize && isErrorLike(from)) {\n\t\t\tconst Error = getErrorConstructor(from.name);\n\t\t\tto = new Error();\n\t\t} else {\n\t\t\tto = {};\n\t\t}\n\t}\n\n\tseen.push(from);\n\n\tif (depth >= maxDepth) {\n\t\treturn to;\n\t}\n\n\tif (useToJSON && typeof from.toJSON === 'function' && !toJsonWasCalled.has(from)) {\n\t\treturn toJSON(from);\n\t}\n\n\tconst continueDestroyCircular = value => destroyCircular({\n\t\tfrom: value,\n\t\tseen: [...seen],\n\t\tforceEnumerable,\n\t\tmaxDepth,\n\t\tdepth,\n\t\tuseToJSON,\n\t\tserialize,\n\t});\n\n\tfor (const [key, value] of Object.entries(from)) {\n\t\tif (value && value instanceof Uint8Array && value.constructor.name === 'Buffer') {\n\t\t\tto[key] = '[object Buffer]';\n\t\t\tcontinue;\n\t\t}\n\n\t\t// TODO: Use `stream.isReadable()` when targeting Node.js 18.\n\t\tif (value !== null && typeof value === 'object' && typeof value.pipe === 'function') {\n\t\t\tto[key] = '[object Stream]';\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (typeof value === 'function') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!value || typeof value !== 'object') {\n\t\t\t// Gracefully handle non-configurable errors like `DOMException`.\n\t\t\ttry {\n\t\t\t\tto[key] = value;\n\t\t\t} catch {}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!seen.includes(from[key])) {\n\t\t\tdepth++;\n\t\t\tto[key] = continueDestroyCircular(from[key]);\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tto[key] = '[Circular]';\n\t}\n\n\tfor (const {property, enumerable} of commonProperties) {\n\t\tif (typeof from[property] !== 'undefined' && from[property] !== null) {\n\t\t\tObject.defineProperty(to, property, {\n\t\t\t\tvalue: isErrorLike(from[property]) ? continueDestroyCircular(from[property]) : from[property],\n\t\t\t\tenumerable: forceEnumerable ? true : enumerable,\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true,\n\t\t\t});\n\t\t}\n\t}\n\n\treturn to;\n};\n\nexport function serializeError(value, options = {}) {\n\tconst {\n\t\tmaxDepth = Number.POSITIVE_INFINITY,\n\t\tuseToJSON = true,\n\t} = options;\n\n\tif (typeof value === 'object' && value !== null) {\n\t\treturn destroyCircular({\n\t\t\tfrom: value,\n\t\t\tseen: [],\n\t\t\tforceEnumerable: true,\n\t\t\tmaxDepth,\n\t\t\tdepth: 0,\n\t\t\tuseToJSON,\n\t\t\tserialize: true,\n\t\t});\n\t}\n\n\t// People sometimes throw things besides Error objects…\n\tif (typeof value === 'function') {\n\t\t// `JSON.stringify()` discards functions. We do too, unless a function is thrown directly.\n\t\t// We intentionally use `||` because `.name` is an empty string for anonymous functions.\n\t\treturn `[Function: ${value.name || 'anonymous'}]`;\n\t}\n\n\treturn value;\n}\n\nexport function deserializeError(value, options = {}) {\n\tconst {maxDepth = Number.POSITIVE_INFINITY} = options;\n\n\tif (value instanceof Error) {\n\t\treturn value;\n\t}\n\n\tif (isMinimumViableSerializedError(value)) {\n\t\tconst Error = getErrorConstructor(value.name);\n\t\treturn destroyCircular({\n\t\t\tfrom: value,\n\t\t\tseen: [],\n\t\t\tto: new Error(),\n\t\t\tmaxDepth,\n\t\t\tdepth: 0,\n\t\t\tserialize: false,\n\t\t});\n\t}\n\n\treturn new NonError(value);\n}\n\nexport function isErrorLike(value) {\n\treturn Boolean(value)\n\t&& typeof value === 'object'\n\t&& 'name' in value\n\t&& 'message' in value\n\t&& 'stack' in value;\n}\n\nfunction isMinimumViableSerializedError(value) {\n\treturn Boolean(value)\n\t&& typeof value === 'object'\n\t&& 'message' in value\n\t&& !Array.isArray(value);\n}\n\nexport {default as errorConstructors} from './error-constructors.js';\n","// TODO: move this to its separate folder with a separate generic backend or something.\r\n\r\nimport {myPagesApi} from \"./myPagesApi\";\r\nimport {ErrorInfo} from \"react\";\r\nimport {serializeError} from \"serialize-error\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport enum ErrorLevel {\r\n Info = \"Info\",\r\n Warn = \"Warn\",\r\n Error = \"Error\",\r\n Debug = \"Debug\",\r\n}\r\n\r\ninterface BaseLogParams {\r\n message?: string;\r\n errorCode?: string;\r\n error?: Error;\r\n errorInfo?: ErrorInfo;\r\n}\r\n\r\ninterface LogParams extends BaseLogParams {\r\n level: ErrorLevel;\r\n}\r\n\r\nlet logAttempts = 0;\r\n\r\nexport const Log = async ({level, message, errorCode, error, errorInfo}: LogParams) : Promise => {\r\n if (logAttempts >= 3) {\r\n return new BaseResponse();\r\n }\r\n logAttempts++;\r\n\r\n if (!message && !error && !errorInfo) {\r\n return new BaseResponse();\r\n }\r\n\r\n let errorObject = null;\r\n if (error) {\r\n const serializedError = serializeError(error);\r\n errorObject = {\r\n Name: serializedError.name,\r\n Code: serializedError.code,\r\n Stack: serializedError.stack,\r\n Message: serializedError.message\r\n };\r\n\r\n // ignore tiktok pixel illegal invocation\r\n if (typeof errorObject.Stack === 'string' && errorObject.Stack.match(/Illegal invocation/i) && errorObject.Stack.match(/tiktok/i)) {\r\n return new BaseResponse();\r\n }\r\n\r\n if ((message ?? null) === null && errorObject.Code === null && typeof errorObject.Stack === 'string' && !errorObject.Stack.match(/^Error:/i)) {\r\n return new BaseResponse();\r\n }\r\n }\r\n\r\n\r\n\r\n return await myPagesApi.post(BaseResponse, 'Log', {\r\n request: {\r\n Level: level,\r\n Message: message ?? null,\r\n ErrorObject: errorObject,\r\n ErrorCode: errorCode ?? null,\r\n ComponentStack: errorInfo?.componentStack ?? null,\r\n }\r\n }, undefined, true);\r\n};\r\n\r\n\r\nexport const LogError = async (params: BaseLogParams) : Promise => {\r\n return Log({level: ErrorLevel.Error, ...params});\r\n}\r\n\r\nexport const LogWarn = async (params: BaseLogParams) : Promise => {\r\n return Log({level: ErrorLevel.Warn, ...params});\r\n}\r\n\r\nexport const LogInfo = async (params: BaseLogParams) : Promise => {\r\n return Log({level: ErrorLevel.Info, ...params});\r\n}\r\n\r\nexport const LogDebug = async (params: BaseLogParams) : Promise => {\r\n return Log({level: ErrorLevel.Debug, ...params});\r\n}","import {myPagesApi} from './myPagesApi';\r\nimport Clinic from \"./models/Clinic\";\r\nimport {Type} from \"class-transformer\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class GetClinicListResponse extends BaseResponse {\r\n @Type(() => Clinic)\r\n Clinics!: Clinic[];\r\n}\r\n\r\nexport const GetClinicList = async () : Promise => {\r\n return await myPagesApi.get(GetClinicListResponse, 'GetClinicList');\r\n};\r\n","import {myPagesApi} from './myPagesApi';\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class SettingsPageResponse extends BaseResponse {\r\n NumberListedChildren!:number;\r\n}\r\n\r\nexport type SaveSettingsRequest = {\r\n PatientId: number;\r\n Mobile: string | null;\r\n Email: string | null;\r\n\r\n SendReminderSMS: boolean;\r\n SendReminderEmail: boolean;\r\n\r\n SendRecallSMS: boolean;\r\n SendRecallEmail: boolean;\r\n SendRecallLetter: boolean;\r\n\r\n SendInfoSMS: boolean;\r\n SendInfoEmail: boolean;\r\n}\r\n\r\nexport const SettingsPage = async () : Promise => {\r\n return await myPagesApi.get(SettingsPageResponse, 'SettingsPage');\r\n}\r\n\r\nexport const SaveSettings = async(saveSettingRequest: SaveSettingsRequest) : Promise => {\r\n return await myPagesApi.post(SettingsPageResponse, 'SaveSettings', {request: saveSettingRequest});\r\n}","import { myPagesApi } from \"./myPagesApi\";\r\nimport Patient from \"./models/Patient\";\r\nimport { Type } from \"class-transformer\";\r\nimport MyClinic from \"./models/MyClinic\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nclass MyClinicsPageResponse extends BaseResponse {\r\n @Type(() => Patient)\r\n Children!: Patient[];\r\n\r\n @Type(() => MyClinic)\r\n MyClinics!: MyClinic[];\r\n}\r\n\r\nexport const MyClinicsPage = async (patientId: number | null, upToWeeks: number) : Promise => {\r\n return await myPagesApi.get(MyClinicsPageResponse, 'MyClinicsPage?UpToWeeks='+upToWeeks+(patientId!==null?'&PatientId='+patientId:''));\r\n}","import { Type } from \"class-transformer\";\r\nimport { myPagesApi } from \"./myPagesApi\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class ReferralPageResponse extends BaseResponse {\r\n MyReferralCode!: string;\r\n MyReferralURL!: string;\r\n MyBenefits!: number;\r\n @Type(() => Invitation)\r\n Invitations!: Invitation[];\r\n BenefitPerReferral!: number;\r\n}\r\nexport class Invitation {\r\n NameInvited!: string;\r\n IsClaimed!: boolean;\r\n}\r\n\r\nexport const ReferralPage = async() : Promise => {\r\n return await myPagesApi.get(ReferralPageResponse, 'ReferralPage');\r\n}\r\n\r\nexport const ReferralUpdateLastVisitedDate = async() : Promise => {\r\n return await myPagesApi.post(BaseResponse, 'read-only/ReferralUpdateLastVisitedDate', undefined, undefined, true);\r\n}","import {myPagesApi} from './myPagesApi';\r\nimport Patient from \"./models/Patient\";\r\nimport { Transform, Type } from \"class-transformer\";\r\nimport Employee from \"./models/Employee\";\r\nimport DOMPurify from 'dompurify';\r\nimport {Dayjs} from \"dayjs\";\r\nimport {dateTimeStrToDayJs} from \"../../functions/date\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class InboxPageResponse extends BaseResponse {\r\n MyNotifications!: number;\r\n @Type(() => InboxChild)\r\n Children!: InboxChild[];\r\n @Type(() => Message)\r\n Messages!: Message[];\r\n TotalMessages!: number;\r\n}\r\nexport class InboxGetPdfResponse extends BaseResponse {\r\n Pdf!: string;\r\n}\r\n\r\nexport class InboxChild extends Patient {\r\n Notifications!: number;\r\n}\r\n\r\nexport class Message {\r\n Id!: number;\r\n @Transform(({value})=>dateTimeStrToDayJs(value))\r\n SendDate!: Dayjs;\r\n IsRead!: boolean;\r\n @Type(() => Employee)\r\n From!: Employee|null;\r\n Subject!: string;\r\n Body!: string;\r\n\r\n SanitizedBody():string {\r\n return DOMPurify.sanitize(this.Body);\r\n }\r\n}\r\n\r\nexport const InboxPage = async(patientId: number | null, skip: number, take: number) : Promise => {\r\n return await myPagesApi.get(InboxPageResponse, 'InboxPage?Skip='+skip+'&Take='+take+(patientId!==null?'&PatientId='+patientId:''));\r\n}\r\n\r\nexport const MarkMessageOpened = async(messageId: number) : Promise => {\r\n return await myPagesApi.post(BaseResponse, 'MarkMessageOpened', {\r\n request: {\r\n MessageId: messageId,\r\n }\r\n });\r\n}\r\n\r\nexport const GetPdf = async(deliveryId: number) : Promise => {\r\n return await myPagesApi.get(InboxGetPdfResponse, 'GetPdf?DeliveryId='+deliveryId);\r\n}","import { Transform, Type } from \"class-transformer\";\r\nimport { Dayjs } from \"dayjs\";\r\nimport {dateTimeStrToDayJs} from \"../../../functions/date\";\r\nimport Clinic from \"./Clinic\";\r\nimport JournalEntry from \"./JournalEntry\";\r\n\r\nexport default class PaymentReceipt {\r\n ReceiptNumber!: number;\r\n ReceiptType!: number; //2000=cash, 2001=card\r\n @Transform(({value}) => dateTimeStrToDayJs(value))\r\n RegDate!: Dayjs;\r\n PrinterText!: string;\r\n CustomerReceipt!: string;\r\n Amount!: number;\r\n\r\n @Type(() => Clinic)\r\n PaidAt!: Clinic;\r\n\r\n AllowanceGeneral!: number;\r\n AllowanceSpecial!: number;\r\n AllowanceGovernment!: number;\r\n\r\n @Type(() => JournalEntry)\r\n JournalEntries!: JournalEntry[];\r\n\r\n DateReceipt(lang:string):string {\r\n return this.RegDate.locale(lang).format('YYYY-MM-DD');\r\n }\r\n SumAllowance():number {\r\n return this.AllowanceGeneral + this.AllowanceSpecial + this.AllowanceGovernment;\r\n }\r\n\r\n ReceiptFilenamePDF():string {\r\n return \"kvitto_\" + this.ReceiptNumber + '.pdf';\r\n }\r\n\r\n SumPriceReference(): number {\r\n if (this.JournalEntries.length === 0) {\r\n return 0;\r\n }\r\n return this.JournalEntries.reduce((sum, j) => sum + j.PriceReference, 0);\r\n }\r\n SumPriceCharged(): number {\r\n if (this.JournalEntries.length === 0) {\r\n return 0;\r\n }\r\n return this.JournalEntries.reduce((sum, j) => sum + j.PriceCharged, 0);\r\n }\r\n TotalToPay(): number {\r\n return this.SumPriceCharged() + this.SumAllowance();\r\n }\r\n}","import { Type } from 'class-transformer';\r\nimport { downloadAsPDF } from '../../functions/pdf';\r\nimport { myPagesApi } from '.';\r\nimport BookingPrevious from './models/BookingPrevious';\r\nimport Patient from './models/Patient';\r\nimport PaymentReceipt from './models/PaymentReceipt';\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class JournalPageResponse extends BaseResponse {\r\n MyNotifications!:number;\r\n @Type(() => JournalChild)\r\n Children!:JournalChild[];\r\n @Type(() => BookingPrevious)\r\n PreviousBookings!: BookingPrevious[];\r\n TotalPreviousBookings!: number;\r\n}\r\n\r\nexport class JournalChild extends Patient {\r\n Notifications!: number;\r\n}\r\n\r\nexport const JournalPage = async(patientId: number | null, skip: number, take: number) : Promise => {\r\n return await myPagesApi.get(JournalPageResponse, 'JournalPage?Skip='+skip+'&Take='+take+(patientId!==null?'&PatientId='+patientId:''), );\r\n}\r\n\r\nexport class XrayImageResponse extends BaseResponse {\r\n Status!: string;\r\n Image!: string;\r\n}\r\n\r\nexport const XrayImage = async(xrayId: number):Promise => {\r\n return await myPagesApi.get(XrayImageResponse, 'XrayImage?XrayId='+xrayId);\r\n}\r\n\r\nexport class PaymentReceiptResponse extends BaseResponse {\r\n @Type(() => PaymentReceipt)\r\n PaymentReceipt!: PaymentReceipt;\r\n}\r\nexport const GetPaymentReceipt = async(patientId: number, receiptNumber: number):Promise => {\r\n return await myPagesApi.get(PaymentReceiptResponse, 'PaymentReceipt?PatientId='+patientId+'&ReceiptNumber='+receiptNumber);\r\n}\r\n\r\nexport const PrintReceiptAsPDF = async(receiptName: string):Promise => {\r\n await downloadAsPDF('js-div-receipt', receiptName);\r\n //downloadAsPDF('div-receipt', receiptName);\r\n}\r\n\r\nexport class KlarnaPaymentResponse extends BaseResponse {\r\n KlarnaStatus!: string;\r\n HtmlSnippet!: string;\r\n}\r\nexport const KlarnaPayment = async(invoiceId: number):Promise => {\r\n return await myPagesApi.get(KlarnaPaymentResponse, 'KlarnaPayment?InvoiceId='+invoiceId);\r\n}","import * as html2pdf from 'html2pdf.js'; // TODO SWITCH TO html3pdf (but it needs some minor changes because it produces blank pages at the end of the pdf for some reason)\r\n\r\nexport async function downloadAsPDF(divId: string, filename: string): Promise {\r\n //const doc = new jsPDF('portrait', 'pt', 'A4');\r\n const element = document.getElementById(divId);\r\n\r\n if (element === null) {\r\n throw new Error(\"Couldn't find div '\" + divId + \"'\");\r\n }\r\n\r\n const opt = {\r\n margin: 1,\r\n filename,\r\n image: {type: 'jpeg', quality: 0.98},\r\n html2canvas: {dpi: 192, letterRendering: true},\r\n jspdf: {unit: 'in', format: 'letter', orientation: 'portrait'}\r\n }\r\n await html2pdf().set(opt).from(element).save();\r\n}","import {myPagesApi} from './myPagesApi';\r\nimport {Transform} from \"class-transformer\";\r\nimport {Dayjs} from \"dayjs\";\r\nimport {dateTimeStrToDayJs} from \"../../functions/date\";\r\nimport {BaseResponse} from \"./responses/BaseResponse\";\r\n\r\nexport class AtbPageResponse extends BaseResponse {\r\n @Transform(({ value }) => dateTimeStrToDayJs(value))\r\n LatestVisitDate!: Dayjs | null;\r\n}\r\n\r\nexport const AtbPage = async () : Promise => {\r\n const res = await myPagesApi.get(AtbPageResponse, 'AtbPage');\r\n\r\n return res;\r\n};\r\n","export const sleep = (milliseconds: number) : Promise => {\r\n return new Promise(resolve => setTimeout(resolve, milliseconds))\r\n}\r\n\r\nexport const cancellableSleep = (milliseconds: number) : {promise: Promise, cancel: () => void } => {\r\n let cancel : () => void = () => {};\r\n const promise = new Promise((resolve, reject) => {\r\n const timer = setTimeout(resolve, milliseconds);\r\n cancel = () => {\r\n clearTimeout(timer);\r\n reject();\r\n };\r\n });\r\n\r\n return {promise, cancel}\r\n}","import { Context } from '..';\r\nimport {\r\n LoginPageStatus,\r\n} from \"./login-state\";\r\nimport {cancellableSleep, sleep} from \"dtv-shared/src/functions/timers\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport {\r\n TestCaseAgeEnum, TestCaseChildrenEnum,\r\n TestCaseOpusEnum,\r\n TestCaseRevisionsEnum,\r\n TestCaseYesNoEnum\r\n} from \"dtv-shared/src/api/my-pages/login\";\r\n\r\nexport const startInactivityTimer = async ({ state, actions }: Context) => {\r\n while(true) {\r\n try {\r\n const theSleep = cancellableSleep(1000 * 60 * 61);\r\n state.login.inactivityTimerCancel = theSleep.cancel;\r\n await theSleep.promise;\r\n state.login.inactivityTimerCancel = null;\r\n await actions.login.checkInactivity();\r\n } catch {\r\n state.login.inactivityTimerCancel = null;\r\n // just continue looping\r\n }\r\n }\r\n}\r\n\r\nexport const checkInactivity = async ({ state, effects }: Context) => {\r\n if (state.login.loggedIn) {\r\n const result = await effects.api.login.LoginStatus();\r\n if (!result.IsLoggedIn) {\r\n state.login.status = LoginPageStatus.LoggedOutDueToInactivity;\r\n state.login.bankIdPatient = null;\r\n effects.login.setHtmlClassesLoggedOut();\r\n }\r\n }\r\n}\r\n\r\nexport const resetInactivityTimer = ({ state }: Context) => {\r\n if (state.login.inactivityTimerCancel !== null) {\r\n state.login.inactivityTimerCancel();\r\n }\r\n}\r\n\r\nenum LoginPollingResult {\r\n Success = \"Success\",\r\n Expired = \"Expired\",\r\n Error = \"Error\",\r\n Cancel = \"Cancel\",\r\n Denied = \"Denied\",\r\n}\r\n\r\ntype LoginPollingResponse = {\r\n\tResult: LoginPollingResult;\r\n\tBankIdPatient: Patient | null;\r\n};\r\n\r\n\r\nexport const _loginPolling = async ({ state, effects }: Context) : Promise => {\r\n while(true) {\r\n const response = await effects.api.login.LoginPoll();\r\n\r\n if (state.login.loginCancel) {\r\n return { Result: LoginPollingResult.Cancel, BankIdPatient: null };\r\n }\r\n\r\n if (response.Success) {\r\n return { Result: LoginPollingResult.Success, BankIdPatient: response.BankIdPatient };\r\n }\r\n\r\n if (state.login.loginCancel) {\r\n return { Result: LoginPollingResult.Cancel, BankIdPatient: null };\r\n }\r\n\r\n if (response.Continue) {\r\n if (response.QRCode) {\r\n state.login.qrCode = response.QRCode;\r\n }\r\n /* Your implementation MUST repeatedly poll this endpoint until session is complete.\r\n Your implementation MUST NOT poll this more often than every 2 seconds.\r\n Your implementation SHOULD update its QR image after each poll, if using QR Codes.\r\n https://docs.grandid.com/bankid/#examples-basic-getsession-responses */\r\n await sleep(2000); \r\n if (state.login.loginCancel) {\r\n return { Result: LoginPollingResult.Cancel, BankIdPatient: null };\r\n }\r\n continue;\r\n }\r\n\r\n if (state.login.loginCancel) {\r\n return { Result: LoginPollingResult.Cancel, BankIdPatient: null };\r\n }\r\n\r\n if (response.Expired) {\r\n return { Result: LoginPollingResult.Expired, BankIdPatient: null };\r\n }\r\n\r\n if (state.login.loginCancel) {\r\n return { Result: LoginPollingResult.Cancel, BankIdPatient: null };\r\n }\r\n\r\n if (response.LoginDenied) {\r\n return { Result: LoginPollingResult.Denied, BankIdPatient: null };\r\n }\r\n\r\n if (state.login.loginCancel) {\r\n return { Result: LoginPollingResult.Cancel, BankIdPatient: null };\r\n }\r\n\r\n return { Result: LoginPollingResult.Error, BankIdPatient: null };\r\n }\r\n}\r\n\r\nexport const loginSubmit = async ({ state, actions, effects }: Context, { openOnThisDevice }: { openOnThisDevice: boolean }) => {\r\n if (state.login.status === LoginPageStatus.Starting) {\r\n return;\r\n }\r\n\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit'});\r\n\r\n state.login.loginCancel = false;\r\n state.login.qrCode = null;\r\n state.login.loginBankIDAppUrl = null;\r\n\r\n effects.common.scrollWindowToTop();\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-valid');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-valid'});\r\n\r\n state.login.openOnThisDevice = openOnThisDevice;\r\n state.login.status = LoginPageStatus.Starting;\r\n\r\n const results = await effects.api.login.LoginStart();\r\n\r\n if (state.login.loginCancel) {\r\n state.login.bankIdPatient = null;\r\n state.login.status = LoginPageStatus.Default;\r\n state.login.loginCancel = false;\r\n return;\r\n }\r\n if (results.Success) {\r\n state.login.status = LoginPageStatus.Polling;\r\n if (openOnThisDevice) {\r\n if (typeof results.BankIDAppUrl !== 'string' || results.BankIDAppUrl.trim().length === 0) {\r\n throw new Error('BankIDAppUrl is not a string: ' + (results.BankIDAppUrl ?? 'null or undefined'));\r\n }\r\n /*if (typeof results.AutoStartToken !== 'string' || results.AutoStartToken.trim().length === 0) {\r\n throw new Error('AutoStartToken is not a string: ' + (results.AutoStartToken ?? 'null or undefined'));\r\n }*/\r\n //state.login.loginBankIDAppUrl = 'bankid:///?autostarttoken=' + encodeURIComponent(results.AutoStartToken) + \"&redirect=null\";\r\n state.login.loginBankIDAppUrl = results.BankIDAppUrl;\r\n window.location.href = state.login.loginBankIDAppUrl;\r\n }\r\n state.login.qrCode = results.QRCode;\r\n try {\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-polling');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-polling'});\r\n //await sleep(1000000);\r\n\r\n const pollResponse = await actions.login._loginPolling();\r\n switch(pollResponse.Result) {\r\n case LoginPollingResult.Error:\r\n state.login.status = LoginPageStatus.Error;\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-poll-error');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-poll-error'});\r\n break;\r\n case LoginPollingResult.Expired:\r\n case LoginPollingResult.Denied:\r\n state.login.status = LoginPageStatus.PollExpired;\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-poll-expired');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-poll-expired'});\r\n break;\r\n case LoginPollingResult.Success:\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-poll-success');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-poll-success'});\r\n\r\n state.login.status = LoginPageStatus.Default;\r\n state.login.bankIdPatient = pollResponse.BankIdPatient;\r\n effects.login.setHtmlClassesLoggedIn();\r\n effects.page.router.open('/');\r\n break;\r\n case LoginPollingResult.Cancel:\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-poll-cancel');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-poll-cancel'});\r\n if (state.login.loginCancel) { // if loginCancel is false then it means that a new login has already been initialized after clicking cancel, so we dont want to change the state further then.\r\n state.login.status = LoginPageStatus.Default;\r\n state.login.loginCancel = false;\r\n state.login.bankIdPatient = null;\r\n }\r\n break;\r\n }\r\n } catch(ex) {\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-poll-exception');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-poll-exception'});\r\n state.login.status = LoginPageStatus.Error;\r\n }\r\n } else {\r\n if (results.AlreadyInProgress) {\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-error-already-in-progress');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-error-already-in-progress'});\r\n state.login.status = LoginPageStatus.Error;\r\n return;\r\n }\r\n if (results.AlreadyLoggedIn) {\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-error-already-logged-in');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-error-already-logged-in'});\r\n\r\n state.login.bankIdPatient = results.BankIdPatient;\r\n effects.login.setHtmlClassesLoggedIn();\r\n effects.page.router.open('/');\r\n return;\r\n }\r\n\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-submit-error-general');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'submit-error-general'});\r\n\r\n throw new Error('Unexpected error: ' + JSON.stringify(results));\r\n }\r\n};\r\n\r\nexport const loginCancel = ({ state, effects }: Context) => {\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-cancel');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'cancel'});\r\n state.login.status = LoginPageStatus.Default;\r\n state.login.loginBankIDAppUrl = null;\r\n state.login.loginCancel = true;\r\n state.login.qrCode = null;\r\n}\r\n\r\nexport const loginAgain = ({ state, actions, effects }: Context) => {\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-again');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'again'});\r\n\r\n state.login.status = LoginPageStatus.Default;\r\n actions.login.resetInactivityTimer();\r\n}\r\n\r\nexport const logout = async ({ effects, state }: Context) => {\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-logout');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'logout'});\r\n\r\n if (state.login.status === LoginPageStatus.LoggingOut) {\r\n return;\r\n }\r\n\r\n state.login.status = LoginPageStatus.LoggingOut;\r\n await effects.api.login.Logout();\r\n effects.login.setHtmlClassesLoggedOut();\r\n state.login.bankIdPatient = null;\r\n effects.page.router.goTo('/');\r\n state.login.status = LoginPageStatus.Default;\r\n window.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\"\r\n });\r\n}\r\n\r\nexport const unexpectedlyLoggedOut = ({ effects, state }: Context) => {\r\n effects.analytics.DtvGA('my-pages-login', 'my-pages-login-unexpectedly-logged-out');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-login', {action: 'unexpectedly-logged-out'});\r\n\r\n effects.login.setHtmlClassesLoggedOut();\r\n state.login.bankIdPatient = null;\r\n state.login.status = LoginPageStatus.LoggedOutDueToInactivity;\r\n effects.page.router.goTo('/');\r\n}\r\n\r\nexport const openTestCasesForm = ({ state }: Context) => {\r\n state.login.testCaseFormOpen = true;\r\n};\r\n\r\nexport const testCaseChangeAge = ({ state }: Context, age: string) => {\r\n switch (age) {\r\n case '':\r\n state.login.testCaseAge = null;\r\n break;\r\n case TestCaseAgeEnum.Child:\r\n case TestCaseAgeEnum.Youth:\r\n case TestCaseAgeEnum.Adult:\r\n state.login.testCaseAge = age;\r\n break;\r\n default:\r\n throw new Error(\"Invalid age: \" + age);\r\n }\r\n}\r\n\r\nexport const testCaseChangeOpus = ({ state }: Context, opus: string) => {\r\n switch (opus) {\r\n case '':\r\n state.login.testCaseOpus = null;\r\n break;\r\n case TestCaseOpusEnum.NoOpus:\r\n case TestCaseOpusEnum.OpusD:\r\n case TestCaseOpusEnum.OpusX:\r\n case TestCaseOpusEnum.OpusI:\r\n state.login.testCaseOpus = opus;\r\n break;\r\n default:\r\n throw new Error(\"Invalid opus: \" + opus);\r\n }\r\n}\r\n\r\nexport const testCaseChangeRevisions = ({ state }: Context, revisions: string) => {\r\n switch (revisions) {\r\n case '':\r\n state.login.testCaseRevisions = null;\r\n break;\r\n case TestCaseRevisionsEnum.None:\r\n case TestCaseRevisionsEnum.DRev:\r\n case TestCaseRevisionsEnum.HRev:\r\n case TestCaseRevisionsEnum.HDRev:\r\n state.login.testCaseRevisions = revisions;\r\n break;\r\n default:\r\n throw new Error(\"Invalid revisions: \" + revisions);\r\n }\r\n}\r\n\r\nexport const testCaseChangeLibretto = ({ state }: Context, yesOrNo: string) => {\r\n switch (yesOrNo) {\r\n case '':\r\n state.login.testCaseLibretto = null;\r\n break;\r\n case TestCaseYesNoEnum.Yes:\r\n case TestCaseYesNoEnum.No:\r\n state.login.testCaseLibretto = yesOrNo;\r\n break;\r\n default:\r\n throw new Error(\"Invalid testCaseLibretto: \" + (yesOrNo ?? \"null or undefined\"));\r\n }\r\n}\r\n\r\nexport const testCaseChangeChildren = ({ state }: Context, children: string) => {\r\n switch (children) {\r\n case '':\r\n state.login.testCaseChildren = null;\r\n break;\r\n case TestCaseChildrenEnum.YesAdded:\r\n case TestCaseChildrenEnum.YesNotAdded:\r\n case TestCaseChildrenEnum.No:\r\n state.login.testCaseChildren = children;\r\n break;\r\n default:\r\n throw new Error(\"Invalid testCaseChildren: \" + (children ?? \"null or undefined\"));\r\n }\r\n}\r\n\r\nfunction getYesNoAsBool(val : TestCaseYesNoEnum | null) : boolean | null {\r\n switch (val) {\r\n case null:\r\n return null;\r\n case TestCaseYesNoEnum.Yes:\r\n return true;\r\n case TestCaseYesNoEnum.No:\r\n return false;\r\n default:\r\n throw new Error('invalid val: ' + val);\r\n }\r\n}\r\n\r\nexport const testCaseSubmit = async ({ state, effects }: Context) => {\r\n state.login.testCaseSubmitting = true;\r\n state.login.testCaseSubmitError = '';\r\n state.login.testCaseSubmitSuccess = '';\r\n\r\n const resp = await effects.api.login.TestCaseSubmit({\r\n Age: state.login.testCaseAge,\r\n Libretto: getYesNoAsBool(state.login.testCaseLibretto),\r\n Children: state.login.testCaseChildren,\r\n Opus: state.login.testCaseOpus,\r\n Revisions: state.login.testCaseRevisions,\r\n Password: state.login.testCasePassword,\r\n });\r\n\r\n if (resp.Success) {\r\n state.login.testCaseSubmitSuccess = resp.SuccessMessage!;\r\n } else {\r\n state.login.testCaseSubmitError = (resp.ErrorMessage?.length ?? 0) > 0 ? resp.ErrorMessage! : 'unexpected error.';\r\n }\r\n\r\n state.login.testCaseSubmitting = false;\r\n}\r\n\r\nexport const testCaseChangePassword = ({ state }: Context, password: string) => {\r\n state.login.testCasePassword = password;\r\n}\r\n\r\nexport const testCaseFinalizeLogin = () => {\r\n window.location.reload();\r\n}","export const setHtmlClassesLoggedIn = () => {\r\n window.jQuery('html').removeClass('logged_out').addClass('logged_in');\r\n}\r\n\r\nexport const setHtmlClassesLoggedOut = () => {\r\n window.jQuery('html').removeClass('logged_in').addClass('logged_out');\r\n}","/*! typescript-cookie v1.0.6 | MIT */\nvar index = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nconst encodeName = (name) => encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\nconst encodeValue = (value) => {\n return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent);\n};\nconst decodeName = decodeURIComponent;\nconst decodeValue = (value) => {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent);\n};\n\nfunction stringifyAttributes(attributes) {\n // Copy incoming attributes as to not alter the original object..\n attributes = Object.assign({}, attributes);\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires != null) {\n attributes.expires = attributes.expires.toUTCString();\n }\n return (Object.entries(attributes)\n .filter(([key, value]) => value != null && value !== false)\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n .map(([key, value]) => value === true ? `; ${key}` : `; ${key}=${value.split(';')[0]}`)\n .join(''));\n}\nfunction get(name, decodeValue, decodeName) {\n const scan = /(?:^|; )([^=]*)=([^;]*)/g;\n const jar = {};\n let match;\n while ((match = scan.exec(document.cookie)) != null) {\n try {\n const found = decodeName(match[1]);\n jar[found] = decodeValue(match[2], found);\n if (name === found) {\n break;\n }\n }\n catch (e) { }\n }\n return name != null ? jar[name] : jar;\n}\nconst DEFAULT_CODEC = Object.freeze({\n decodeName: decodeName,\n decodeValue: decodeValue,\n encodeName: encodeName,\n encodeValue: encodeValue\n});\nconst DEFAULT_ATTRIBUTES = Object.freeze({\n path: '/'\n});\nfunction setCookie(name, value, attributes = DEFAULT_ATTRIBUTES, { encodeValue: encodeValue$1 = encodeValue, encodeName: encodeName$1 = encodeName } = {}) {\n return (document.cookie = `${encodeName$1(name)}=${encodeValue$1(value, name)}${stringifyAttributes(attributes)}`);\n}\nfunction getCookie(name, { decodeValue: decodeValue$1 = decodeValue, decodeName: decodeName$1 = decodeName } = {}) {\n return get(name, decodeValue$1, decodeName$1);\n}\nfunction getCookies({ decodeValue: decodeValue$1 = decodeValue, decodeName: decodeName$1 = decodeName } = {}) {\n return get(undefined, decodeValue$1, decodeName$1);\n}\nfunction removeCookie(name, attributes = DEFAULT_ATTRIBUTES) {\n setCookie(name, '', Object.assign({}, attributes, {\n expires: -1\n }));\n}\n\nfunction init(converter, defaultAttributes) {\n const api = {\n set: function (name, value, attributes) {\n return setCookie(name, value, Object.assign({}, this.attributes, attributes), {\n encodeValue: this.converter.write\n });\n },\n get: function (name) {\n if (arguments.length === 0) {\n return getCookies(this.converter.read);\n }\n if (name == null) {\n return;\n }\n return getCookie(name, this.converter.read);\n },\n remove: function (name, attributes) {\n removeCookie(name, Object.assign({}, this.attributes, attributes));\n },\n withAttributes: function (attributes) {\n return init(this.converter, Object.assign({}, this.attributes, attributes));\n },\n withConverter: function (converter) {\n return init(Object.assign({}, this.converter, converter), this.attributes);\n }\n };\n const config = {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n };\n return Object.create(api, config);\n}\nvar compat = init({ read: DEFAULT_CODEC.decodeValue, write: DEFAULT_CODEC.encodeValue }, DEFAULT_ATTRIBUTES);\n\nexport { compat as Cookies, DEFAULT_ATTRIBUTES, DEFAULT_CODEC, index as Types, getCookie, getCookies, removeCookie, setCookie };\n","export const DismissUnpaidTreatmentNotification = 'dismissUnpaidTreatmentNotification';\r\nexport const DismissSettingsMissing = 'dismissSettingsMissing';\r\nexport const DismissHealthDecExpired = 'dismissHealthDecExpired';\r\nexport const DismissHealthDecMissing = 'dismissHealthDecMissing';\r\nexport { getCookie, setCookie } from 'typescript-cookie';\r\n","import {derived} from \"overmind\"\r\nimport {HealthDeclarationStatusEnum} from \"dtv-shared/src/api/my-pages/health\";\r\nimport {config} from \"../index\";\r\nimport {getCookie} from \"typescript-cookie\";\r\nimport {\r\n DismissHealthDecExpired, DismissHealthDecMissing,\r\n DismissSettingsMissing,\r\n DismissUnpaidTreatmentNotification\r\n} from \"../cookies/cookies-effects\";\r\n\r\ntype MainMenuState = {\r\n loading: boolean;\r\n loadingInBackGround: boolean;\r\n loaded: boolean;\r\n notificationsBookings: number;\r\n unpaidInvoiceIds: number[];\r\n numberListedChildren: number;\r\n readonly displayContextChildren: string;\r\n notificationsInbox: number;\r\n notificationsPersonalOffers: number;\r\n readonly showHealthDeclaration: boolean;\r\n healthDeclarationStatus: HealthDeclarationStatusEnum;\r\n readonly notificationsHealth: number;\r\n healthDeclarationMissingDismissed: boolean;\r\n readonly showHealthDeclarationMissingNotification: boolean;\r\n healthDeclarationExpiredDismissed: boolean;\r\n readonly showHealthDeclarationExpiredNotification: boolean;\r\n settingsMissing: boolean;\r\n readonly settingsNotifications: number;\r\n readonly showSettingsMissingNotification: boolean;\r\n settingsMissingDismissed: boolean;\r\n bankIdPatientHasActiveBookings: boolean;\r\n unpaidTreatmentNotificationDismissed: boolean;\r\n readonly showUnpaidTreatmentNotification: boolean;\r\n readonly notificationsJournal: number;\r\n showPaymentModal: boolean;\r\n paymentModalHtml: string;\r\n hasUnlistedChildren: boolean;\r\n showReferralUpgradeNotification: boolean;\r\n referralBenefitAmount: number;\r\n referralsNewCount: number;\r\n referralNotificationDismissed: boolean;\r\n readonly notificationsReferral: number;\r\n}\r\n\r\nexport const state: MainMenuState = {\r\n loading: false,\r\n loadingInBackGround: false,\r\n loaded: false,\r\n notificationsBookings: 0,\r\n unpaidInvoiceIds: [],\r\n numberListedChildren: 0,\r\n displayContextChildren: derived((state: MainMenuState): string => {\r\n return state.numberListedChildren === 0?'none':'some';\r\n }),\r\n notificationsInbox: 0,\r\n notificationsPersonalOffers: 1,\r\n healthDeclarationStatus: HealthDeclarationStatusEnum.UpToDate,\r\n showHealthDeclaration: derived((state: MainMenuState, rootState: typeof config.state): boolean => {\r\n if (rootState.login.bankIdPatient === null) {\r\n return false;\r\n }\r\n return rootState.login.bankIdPatient.Age(rootState.date.dateNow) >= 18;\r\n }),\r\n notificationsHealth: derived((state: MainMenuState): number => {\r\n return state.bankIdPatientHasActiveBookings && (state.healthDeclarationStatus === HealthDeclarationStatusEnum.Missing || state.healthDeclarationStatus === HealthDeclarationStatusEnum.Expired) ? 1 : 0;\r\n }),\r\n healthDeclarationMissingDismissed: getCookie(DismissHealthDecMissing) === 'true',\r\n showHealthDeclarationMissingNotification: derived((state: MainMenuState, rootState: typeof config['state']): boolean => {\r\n return (rootState.login.bankIdPatient?.CanSeeHealthDeclarationPage(rootState.date.dateNow) ?? false) &&\r\n state.showHealthDeclaration &&\r\n !state.healthDeclarationMissingDismissed &&\r\n state.healthDeclarationStatus === HealthDeclarationStatusEnum.Missing &&\r\n state.bankIdPatientHasActiveBookings;\r\n }),\r\n healthDeclarationExpiredDismissed: getCookie(DismissHealthDecExpired) === 'true',\r\n showHealthDeclarationExpiredNotification: derived((state: MainMenuState, rootState: typeof config['state']): boolean => {\r\n return (rootState.login.bankIdPatient?.CanSeeHealthDeclarationPage(rootState.date.dateNow) ?? false) &&\r\n state.showHealthDeclaration &&\r\n !state.healthDeclarationExpiredDismissed &&\r\n state.healthDeclarationStatus === HealthDeclarationStatusEnum.Expired &&\r\n state.bankIdPatientHasActiveBookings;\r\n }),\r\n settingsMissing: false,\r\n settingsNotifications: derived((state: MainMenuState): number => {\r\n return state.showSettingsMissingNotification ? 1 : 0;\r\n }),\r\n showSettingsMissingNotification: derived((state: MainMenuState, rootState: typeof config['state']): boolean => {\r\n return (rootState.login.bankIdPatient?.IsInOpus() ?? false) &&\r\n (rootState.login.bankIdPatient?.Active ?? false) &&\r\n !state.settingsMissingDismissed &&\r\n state.settingsMissing;\r\n }),\r\n settingsMissingDismissed: getCookie(DismissSettingsMissing) === 'true',\r\n bankIdPatientHasActiveBookings: false,\r\n unpaidTreatmentNotificationDismissed: getCookie(DismissUnpaidTreatmentNotification) === 'true',\r\n showUnpaidTreatmentNotification: derived((state: MainMenuState): boolean => {\r\n return !state.unpaidTreatmentNotificationDismissed && state.unpaidInvoiceIds.length > 0;\r\n }),\r\n notificationsJournal: derived((state: MainMenuState): number => {\r\n return state.unpaidInvoiceIds.length;\r\n }),\r\n showPaymentModal: false,\r\n paymentModalHtml: '',\r\n hasUnlistedChildren: false,\r\n showReferralUpgradeNotification: false,\r\n referralBenefitAmount: 0,\r\n referralsNewCount: 0,\r\n referralNotificationDismissed: false,\r\n notificationsReferral: derived((state: MainMenuState): number => {\r\n if (state.referralsNewCount === 0) {\r\n return state.showReferralUpgradeNotification ? 1 : 0;\r\n }\r\n return state.referralsNewCount;\r\n }),\r\n}","import {Context} from \"../index\";\r\nimport {MainMenuLoadResponse} from \"dtv-shared/src/api/my-pages/mainMenu\";\r\nimport {\r\n DismissHealthDecExpired, DismissHealthDecMissing,\r\n DismissSettingsMissing,\r\n DismissUnpaidTreatmentNotification\r\n} from \"../cookies/cookies-effects\";\r\n\r\nexport const _handleMainMenuLoadResponse = ({state}: Context, response: MainMenuLoadResponse) => {\r\n state.mainMenu.notificationsBookings = response.NotificationsBookings;\r\n state.mainMenu.unpaidInvoiceIds = response.UnpaidInvoiceIds;\r\n state.mainMenu.numberListedChildren = response.NumberListedChildren;\r\n state.mainMenu.notificationsInbox = response.NotificationsInbox;\r\n state.mainMenu.healthDeclarationStatus = response.HealthDeclarationStatus;\r\n state.mainMenu.bankIdPatientHasActiveBookings = response.BankIdPatientHasActiveBookings;\r\n state.mainMenu.settingsMissing = response.SettingsMissing;\r\n state.mainMenu.hasUnlistedChildren = response.HasUnlistedChildren;\r\n state.mainMenu.showReferralUpgradeNotification = response.ShowReferralUpgradeNotification;\r\n state.mainMenu.referralBenefitAmount = response.ReferralBenefitAmount;\r\n state.mainMenu.referralsNewCount = response.ReferralsNewCount;\r\n}\r\n\r\nexport const dismissHealthDeclarationMissing = async ({ state, effects }: Context) => {\r\n state.mainMenu.healthDeclarationMissingDismissed = true;\r\n effects.cookies.setCookie(DismissHealthDecMissing, 'true');\r\n effects.analytics.DtvGA('my-pages-main-menu', 'my-pages-main-menu-health-dec-missing-dismiss');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-main-menu', {action: 'health-dec-missing-dismiss'});\r\n\r\n}\r\n\r\nexport const dismissHealthDeclarationExpired = async ({ state, effects }: Context) => {\r\n state.mainMenu.healthDeclarationExpiredDismissed = true;\r\n effects.cookies.setCookie(DismissHealthDecExpired, 'true');\r\n effects.analytics.DtvGA('my-pages-main-menu', 'my-pages-main-menu-health-dec-expired-dismiss');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-main-menu', {action: 'health-dec-expired-dismiss'});\r\n\r\n}\r\n\r\nexport const dismissSettingsMissing = async ({ state, effects }: Context) => {\r\n state.mainMenu.settingsMissingDismissed = true;\r\n effects.cookies.setCookie(DismissSettingsMissing, 'true');\r\n effects.analytics.DtvGA('my-pages-main-menu', 'my-pages-main-menu-settings-missing-dismiss');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-main-menu', {action: 'settings-missing-dismiss'});\r\n\r\n}\r\n\r\nexport const dismissUnpaidTreatmentNotification = async ({ state, effects }: Context) => {\r\n state.mainMenu.unpaidTreatmentNotificationDismissed = true;\r\n effects.cookies.setCookie(DismissUnpaidTreatmentNotification, 'true');\r\n effects.analytics.DtvGA('my-pages-main-menu', 'my-pages-main-menu-unpaid-treatment-dismiss');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-main-menu', {action: 'unpaid-treatment-dismiss'});\r\n}\r\n\r\nexport const closePaymentModal = async ({ state, effects }: Context) => {\r\n state.mainMenu.showPaymentModal = false;\r\n effects.analytics.DtvGA('my-pages-main-menu', 'my-pages-main-menu-unpaid-treatment-modal-closed');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-main-menu', {action: 'unpaid-treatment-modal-closed'});\r\n}\r\n\r\nexport const openPaymentModal = async ({ state, effects }: Context) => {\r\n effects.analytics.DtvGA('my-pages-journal', 'my-pages-main-menu-open-payment-modal');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-main-menu', {action: 'open-payment-modal'});\r\n\r\n state.mainMenu.loading = true;\r\n\r\n const result = await effects.api.journal.KlarnaPayment(state.mainMenu.unpaidInvoiceIds[0]);\r\n state.mainMenu.paymentModalHtml = result.HtmlSnippet;\r\n state.mainMenu.showPaymentModal = true;\r\n\r\n state.mainMenu.loading = false;\r\n}\r\n\r\nexport const dismissReferralNotification = async ({ state, effects }: Context) => {\r\n state.mainMenu.referralNotificationDismissed = true;\r\n\r\n await effects.api.referral.ReferralUpdateLastVisitedDate();\r\n}","import {DtvMessagePopupStyle} from \"dtv-shared/src/components/modals/DtvMessagePopup\";\r\n\r\ntype ModalConstructorArguments = {\r\n title: string;\r\n text: string;\r\n style: DtvMessagePopupStyle;\r\n}\r\nexport class Modal {\r\n title: string;\r\n text: string;\r\n style: DtvMessagePopupStyle;\r\n constructor(args: ModalConstructorArguments) {\r\n this.title = args.title;\r\n this.text = args.text;\r\n this.style = args.style;\r\n }\r\n}\r\n\r\ntype ModalsState = {\r\n modal: null | Modal;\r\n}\r\n\r\nexport const initialModalsState = () => ({\r\n modal: null,\r\n});\r\n\r\nexport const state: ModalsState = initialModalsState();","import {Context} from '..';\r\nimport {ActiveBooking, SnoozedBooking} from \"./bookings-state\";\r\nimport {BookingsPageResponse, RebookStatus} from \"dtv-shared/src/api/my-pages/bookings\";\r\nimport {Modal} from \"../modals/modals-state\";\r\nimport {Status} from \"dtv-shared/src/api/my-pages/responses/BaseResponse\";\r\nimport {DtvMessagePopupStyle} from \"dtv-shared/src/components/modals/DtvMessagePopup\";\r\nimport {CanChange} from \"dtv-shared/src/api/my-pages/models/BookingUpcoming\";\r\nimport {Pages} from \"../../page-urls\";\r\n\r\n// export const changePatient = async ({ state, actions }: Context, patientId: number | null) => {\r\n// state.bookings.selectedPatientId = patientId;\r\n// await actions.bookings.loadBookingsPage();\r\n// };\r\n\r\nexport const _handleBookingsPageResponse = ({state, actions}: Context, bookingsPageResponse: BookingsPageResponse) => {\r\n state.bookings.children = bookingsPageResponse.Children;\r\n console.log(bookingsPageResponse.ActiveBookings);\r\n state.bookings.activeBookings = bookingsPageResponse.ActiveBookings.map(booking => new ActiveBooking(booking));\r\n state.bookings.cancelledBookings = bookingsPageResponse.CancelledBookings;\r\n //state.bookings.reasonAnswers = bookingsPageResponse.ReasonAnswers\r\n // .filter(ra => ra.Order_bk > 0)\r\n // .sort(function(a,b) {\r\n // if (a.Order_bk === b.Order_bk) { return 0; }\r\n // return a.Order_bk > b.Order_bk ? 1 : -1;\r\n // }); //should be done already server side but just in case\r\n //state.bookings.availableNextStepAnswers = bookingsPageResponse.NextStepAnswers\r\n // .filter(ns => ns.Order_bk > 0)\r\n // .sort(function(a,b) {\r\n // if (a.Order_bk === b.Order_bk) { return 0; }\r\n // return a.Order_bk > b.Order_bk ? 1 : -1;\r\n // }); //should be done already server side but just in case\r\n state.bookings.availableSnoozeOptions = bookingsPageResponse.SnoozeOptions;\r\n state.bookings.myNotifications = bookingsPageResponse.MyNotifications;\r\n}\r\n\r\nexport const loadBookingsPage = async ({state, effects, actions}: Context) => {\r\n state.bookings.loading = true;\r\n state.page.current = Pages.Bookings;\r\n const result = await effects.api.bookings.BookingsPage(state.bookings.selectedPatientId);\r\n\r\n actions.bookings._handleBookingsPageResponse(result);\r\n actions.listingStatus.resetUi();\r\n state.bookings.loading = false;\r\n}\r\n\r\nexport const getActiveBookingById = ({state}: Context, bookingId: number) : ActiveBooking => {\r\n return state.bookings.activeBookings.filter(booking => booking.Id === bookingId)[0];\r\n}\r\n\r\nexport const addressSectionExpandToggle = ({ state, actions }: Context, bookingId: number) => {\r\n const booking = actions.bookings.getActiveBookingById(bookingId);\r\n booking.AddressSectionExpanded = !booking.AddressSectionExpanded;\r\n}\r\n\r\nexport const openEditBookingModal = ({ state, effects, actions }: Context, bookingId: number) => {\r\n state.bookings.cancelBookingId = null;\r\n state.bookings.editBookingId = bookingId;\r\n if (state.bookings.editBooking!.CanChange === CanChange.EditOK) {\r\n actions.bookings.editBookingConfirm();\r\n }\r\n}\r\n\r\nexport const closeEditBookingModal = ({ state }: Context) => {\r\n state.bookings.editBookingId = null;\r\n}\r\n\r\nexport const editBookingConfirm = async ({state, effects}: Context) => {\r\n state.bookings.loading = true;\r\n if (state.bookings.editBookingId === null) {\r\n throw new Error(\"state.bookings.editBookingId was null in editBookingConfirm\");\r\n }\r\n\r\n await Promise.all([\r\n effects.analytics.DtvGA('modify-booking', 'modify-booking-change'), // ga4added\r\n effects.analytics.DtvGA4Event('modify-booking-change'),\r\n ]);\r\n\r\n const res = await effects.api.bookings.BookingEdit(state.bookings.editBookingId);\r\n window.location.href = process.env.REACT_APP_BASE_URL + res.RedirectTo;\r\n}\r\n\r\nexport const openCancelBookingModal = ({ state, effects }: Context, bookingId: number) => {\r\n state.bookings.editBookingId = null;\r\n state.bookings.cancelBookingId = bookingId;\r\n state.bookings.noSnooze = false;\r\n state.bookings.selectedReasonAnswerId = null;\r\n state.bookings.selectedNextStepAnswerId = null;\r\n\r\n if (state.bookings.cancelBooking === null)\r\n throw new Error('Booking cant be null here');\r\n\r\n console.log(state.bookings.cancelBooking.CancelReasonAnswers);\r\n if (state.bookings.snoozeOptions.length === 0) { // this means libretto doesnt allow snoozing further\r\n state.bookings.noSnooze = true;\r\n } else {\r\n if (state.bookings.snoozeOptions.filter(so => so.Is_Default).length === 0) { // if the default option has been filtered out (due to libretto requirements), we fall back to the first available option.\r\n state.bookings.selectedSnoozeOptionId = state.bookings.snoozeOptions[0].ID;\r\n } else {\r\n state.bookings.selectedSnoozeOptionId = state.bookings.snoozeOptions.filter(so => so.Is_Default)[0].ID;\r\n }\r\n }\r\n\r\n //if (state.bookings.cancelNextSteps.length > 0) {\r\n // state.bookings.selectedCancelNextStepId = state.bookings.cancelNextSteps[0].Id;\r\n //}\r\n\r\n effects.analytics.DtvGA('show-step-modify', 'show-step-modify-cancel');//ga4added\r\n effects.analytics.DtvGA4Event('show-step-modify-cancel');\r\n}\r\n\r\nexport const closeCancelBookingModal = ({ state }: Context) => {\r\n state.bookings.cancelBookingId = null;\r\n state.bookings.selectedReasonAnswerId = null;\r\n state.bookings.selectedNextStepAnswerId = null;\r\n}\r\n\r\nexport const noSnooze = ({ state }: Context) => {\r\n state.bookings.noSnooze = true;\r\n}\r\n\r\nexport const setCancelReasonId = ({ state }: Context, reasonId: number) => {\r\n state.bookings.selectedReasonAnswerId = reasonId;\r\n state.bookings.selectedNextStepAnswerId = state.bookings.defaultNextStepAnswerId;\r\n state.bookings.validateCancel = false;\r\n}\r\n\r\nexport const setCancelNextStepId = ({ state }: Context, nextStepId: number) => {\r\n state.bookings.selectedNextStepAnswerId = nextStepId;\r\n state.bookings.validateCancel = false;\r\n}\r\n\r\nexport const setSelectedSnoozeOptionId = ({ state }: Context, optionId: number) => {\r\n state.bookings.selectedSnoozeOptionId = optionId;\r\n}\r\n\r\nexport const submitSnooze = async ({state, effects, actions}: Context) => {\r\n if (state.bookings.cancelBookingId === null) {\r\n throw new Error('cancelBookingId is null');\r\n }\r\n if (state.bookings.selectedSnoozeOptionId === null) {\r\n throw new Error('selectedSnoozeOptionId is null');\r\n }\r\n state.bookings.loading = true;\r\n\r\n await Promise.all([\r\n effects.analytics.DtvGA('modify-booking', 'modify-booking-snooze'), //ga4added\r\n effects.analytics.DtvGA('snooze', 'snooze-by-'+state.bookings.selectedSnoozeOptionId),//ga4added\r\n effects.analytics.DtvGA4Event('modify-booking-snooze', {snooze_by: state.bookings.selectedSnoozeOptionId}),\r\n ]);\r\n\r\n const result = await effects.api.bookings.BookingSnooze(state.bookings.cancelBookingId, state.bookings.selectedSnoozeOptionId, state.bookings.selectedPatientId);\r\n\r\n state.bookings.cancelBookingId = null;\r\n actions.bookings._handleBookingsPageResponse(result.BookingsPageResponse);\r\n\r\n state.bookings.confirmedSnoozedBooking = new SnoozedBooking(result.NewBooking, result.SnoozeStatus);\r\n state.bookings.loading = false;\r\n}\r\n\r\nexport const closeSnoozeConfirmModal = ({state}: Context) => {\r\n state.bookings.confirmedSnoozedBooking = null;\r\n}\r\n\r\nexport const submitCancel = async ({ actions, state, effects }: Context) => {\r\n if (state.bookings.cancelBookingId === null) {\r\n throw new Error('cancelBookingId is null');\r\n }\r\n \r\n state.bookings.loading = true;\r\n state.bookings.validateCancel = true;\r\n\r\n if (state.bookings.selectedReasonAnswerId !== null && state.bookings.selectedNextStepAnswerId !== null) {\r\n await Promise.all([\r\n effects.analytics.DtvGA('modify-booking', 'modify-booking-cancel'), //ga4added\r\n effects.analytics.DtvGA4Event('modify-booking-cancel'),\r\n ]);\r\n\r\n const result = await effects.api.bookings.BookingCancel(state.bookings.cancelBookingId, state.bookings.selectedPatientId, state.bookings.selectedReasonAnswerId, state.bookings.selectedNextStepAnswerId);\r\n\r\n state.bookings.cancelBookingId = null;\r\n actions.bookings._handleBookingsPageResponse(result.BookingsPageResponse);\r\n state.bookings.showCancelConfirmModal = true;\r\n state.bookings.cancelBookingNextStepCode = result.BookingCancelNextStepCode;\r\n }\r\n state.bookings.loading = false;\r\n}\r\n\r\nexport const closeCancelConfirmModal = ({state}: Context) => {\r\n state.bookings.showCancelConfirmModal = false;\r\n}\r\n\r\nexport const rebookBooking = async ({state, effects, actions}: Context, bookingId: number) => {\r\n state.bookings.loading = true;\r\n\r\n await Promise.all([\r\n effects.analytics.DtvGA('recreate-booking', 'recreate-booking-click'), //ga4added\r\n effects.analytics.DtvGA4Event('recreate-booking-click'),\r\n ]);\r\n\r\n const response = await effects.api.bookings.BookingRebook(bookingId);\r\n\r\n if (response.ResponseStatus === Status.UserError) {\r\n let title = '';\r\n let text = 'general:callMain';\r\n switch(response.RebookStatus) {\r\n case RebookStatus.General:\r\n title = 'bookings:rebookGeneralTitle';\r\n break;\r\n case RebookStatus.Treatment:\r\n title = 'bookings:rebookTreatmentTitle';\r\n break;\r\n case RebookStatus.Serie:\r\n title = 'bookings:rebookSerieTitle';\r\n break;\r\n case RebookStatus.Specialist:\r\n title = 'bookings:rebookSpecialistTitle';\r\n text = 'bookings:rebookSpecialistText';\r\n break;\r\n case RebookStatus.Mobile:\r\n title = 'bookings:rebookMobileTitle';\r\n text = 'bookings:rebookMobileText';\r\n break;\r\n default:\r\n title = 'bookings:rebookGeneralTitle';\r\n break;\r\n }\r\n state.modals.modal = new Modal({style: DtvMessagePopupStyle.Error, title: title, text: text});\r\n state.bookings.loading = false;\r\n return;\r\n }\r\n\r\n // success\r\n window.location.href = process.env.REACT_APP_BASE_URL + response.RedirectTo;\r\n}\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.9\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import { Context } from '..';\r\nimport axios from \"axios\";\r\nimport {Language} from \"./language-state\";\r\n\r\nexport const toggleLanguage = async ({ state, effects }: Context) => {\r\n effects.analytics.DtvGA('my-pages-language', 'my-pages-language-switch');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-language-switch');\r\n\r\n if (state.language.setLanguageCanceler !== null) {\r\n state.language.setLanguageCanceler();\r\n state.language.setLanguageCanceler = null;\r\n }\r\n\r\n state.language.language = state.language.language === Language.sv ? Language.en : Language.sv;\r\n await effects.language.setLanguage(state.language.language);\r\n\r\n const CancelToken = axios.CancelToken;\r\n const source = CancelToken.source();\r\n state.language.setLanguageCanceler = source.cancel;\r\n try {\r\n await effects.api.language.SetLanguage(state.language.language, source.token);\r\n } catch(ex) {\r\n if (axios.isCancel(ex)) {\r\n return;\r\n }\r\n throw ex;\r\n }\r\n};\r\n","import i18n from \"../../translations/i18n\";\r\nimport 'dayjs/locale/sv';\r\nimport dayjs from \"dayjs\";\r\n\r\nexport const setLanguage = async (lang: string) => {\r\n dayjs.locale(lang);\r\n await i18n.changeLanguage(lang);\r\n}","import { Context } from '..';\r\nimport { ChildrenAddChildRequest, ChildrenPageResponse, ChildrenSaveChildRequest } from 'dtv-shared/src/api/my-pages/children';\r\nimport { initialChildrenState, initialEditChildForm } from './children-state';\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport const _handleChildrenPageResponse = ({state, effects, actions}: Context, result: ChildrenPageResponse) => {\r\n if (result.Success) {\r\n state.children.children = result.Children;\r\n } else {\r\n state.children.errorMessage = result.ErrorMessage;\r\n }\r\n}\r\n//api\r\nexport const loadChildrenPage = async ({state, effects, actions}: Context )=> {\r\n state.children.loading = true;\r\n state.page.current = Pages.Children;\r\n state.children.errorMessage = '';\r\n const result = await effects.api.children.ChildrenPage();\r\n actions.children._handleChildrenPageResponse(result);\r\n actions.listingStatus.resetUi();\r\n state.children.loading = false;\r\n}\r\nexport const addChild = async ({ state, effects }: Context) => {\r\n state.children.loading = true;\r\n\r\n state.children.errorMessage = '';\r\n state.children.addChildForm.validateFields = true;\r\n if (state.children.addChildForm.isFormValid)\r\n {\r\n const addChildRequest: ChildrenAddChildRequest = {\r\n SSN: state.children.addChildForm.ssn,\r\n Mobile: state.children.addChildForm.mobile,\r\n Email: state.children.addChildForm.email,\r\n ClinicDataId: state.children.addChildForm.clinicDataId ?? -1,\r\n SendReminderSMS: state.children.addChildForm.sendReminderSMS,\r\n SendReminderEmail: state.children.addChildForm.sendReminderEmail,\r\n SendRecallSMS: state.children.addChildForm.sendRecallSMS,\r\n SendRecallEmail: state.children.addChildForm.sendRecallEmail,\r\n };\r\n const result = await effects.api.children.AddChildPost(addChildRequest);\r\n if (result.Success) {\r\n state.children = initialChildrenState();\r\n state.children.children = result.Children;\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n }), 0);\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-add-child-success');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-add', {action: 'success'});\r\n\r\n }\r\n else {\r\n state.children.errorMessage = result.ErrorMessage;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-add-child-error');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-add', {action: 'error'});\r\n }\r\n } else {\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-add-child-invalid');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-add', {action: 'invalid'});\r\n effects.common.scrollToError();\r\n }\r\n state.children.loading = false;\r\n}\r\nexport const saveChild = async ({ state, effects }: Context) => {\r\n state.children.loading = true;\r\n state.children.errorMessage = '';\r\n state.children.editChildForm.validateFields = true;\r\n\r\n if (state.children.editChildForm.isFormValid && state.children.selectedChild !== null) {\r\n const saveChildRequest: ChildrenSaveChildRequest = {\r\n SSN: state.children.selectedChild.Pnr,\r\n Mobile: state.children.editChildForm.mobile !== (state.children.selectedChild.Mobile ?? '') ? state.children.editChildForm.mobile : null,\r\n Email: state.children.editChildForm.email !== (state.children.selectedChild.Email ?? '') ? state.children.editChildForm.email : null,\r\n ClinicDataId: state.children.editChildForm.clinicDataId !== state.children.selectedChild.PatientListingStatus.ListedAtClinic()?.ClinicDataId ? state.children.editChildForm.clinicDataId : null,\r\n SendReminderSMS: state.children.editChildForm.sendReminderSMS !== state.children.selectedChild.PatientSettings?.SendReminderSMS ? state.children.editChildForm.sendReminderSMS : null,\r\n SendReminderEmail: state.children.editChildForm.sendReminderEmail !== state.children.selectedChild.PatientSettings?.SendReminderEmail ? state.children.editChildForm.sendReminderEmail : null,\r\n SendRecallSMS: state.children.editChildForm.sendRecallSMS !== state.children.selectedChild.PatientSettings?.SendRecallSMS ? state.children.editChildForm.sendRecallSMS : null,\r\n SendRecallEmail: state.children.editChildForm.sendRecallEmail !== state.children.selectedChild.PatientSettings?.SendReminderEmail ? state.children.editChildForm.sendReminderEmail : null,\r\n SendRecallLetter: state.children.editChildForm.sendRecallLetter !== state.children.selectedChild.PatientSettings?.SendRecallLetter ? state.children.editChildForm.sendRecallLetter : null,\r\n };\r\n const result = await effects.api.children.EditChildPost(saveChildRequest);\r\n if (result.Success) {\r\n state.children = initialChildrenState();\r\n state.children.children = result.Children;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-save-child-success');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-save', {action: 'success'});\r\n }\r\n else {\r\n state.children.errorMessage = result.ErrorMessage;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-save-child-error');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-save', {action: 'error'});\r\n }\r\n } else {\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-save-child-invalid');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-save', {action: 'invalid'});\r\n effects.common.scrollToError();\r\n }\r\n state.children.loading = false;\r\n}\r\n\r\n//events\r\nexport const dismissErrorMessage = ({ state }: Context): void => {\r\n state.children.errorMessage = \"\";\r\n}\r\nexport const changeAddChildSSNInputValue = ({ state }: Context, ssn: string) => {\r\n state.children.addChildForm.ssn = ssn;\r\n}\r\nexport const changeAddChildMobileInputValue = ({ state }: Context, mobile: string) => {\r\n state.children.addChildForm.mobile = mobile;\r\n}\r\nexport const changeAddChildEmailInputValue = ({ state }: Context, email: string) => {\r\n state.children.addChildForm.email = email;\r\n}\r\nexport const changeAddChildSendReminderSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.children.addChildForm.sendReminderSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-add-reminder-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-add', {action: sendSMS ? 'checked' : 'unchecked', field: 'reminder-sms'});\r\n\r\n}\r\nexport const changeAddChildSendReminderEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.children.addChildForm.sendReminderEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-add-reminder-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-add', {action: sendEmail ? 'checked' : 'unchecked', field: 'reminder-email'});\r\n}\r\nexport const changeAddChildSendRecallSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.children.addChildForm.sendRecallSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-add-recall-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-add', {action: sendSMS ? 'checked' : 'unchecked', field: 'recall-sms'});\r\n}\r\nexport const changeAddChildSendRecallEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.children.addChildForm.sendRecallEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-add-recall-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-add', {action: sendEmail ? 'checked' : 'unchecked', field: 'recall-email'});\r\n}\r\nexport const changeAddChildSelectedClinicDataId = ({ state }:Context, clinicDataId: number | null) => {\r\n state.children.addChildForm.clinicDataId = clinicDataId;\r\n}\r\n\r\nexport const changeEditChildMobileInputValue = ({ state }: Context, mobile: string) => {\r\n state.children.editChildForm.mobile = mobile;\r\n}\r\nexport const changeEditChildEmailInputValue = ({ state }: Context, email: string) => {\r\n state.children.editChildForm.email = email;\r\n}\r\nexport const changeEditChildSendReminderSMS = ({ state , effects}: Context, sendSMS: boolean) => {\r\n state.children.editChildForm.sendReminderSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-edit-reminder-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-edit', {action: sendSMS ? 'checked' : 'unchecked', field: 'reminder-sms'});\r\n\r\n}\r\nexport const changeEditChildSendReminderEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.children.editChildForm.sendReminderEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-edit-reminder-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-edit', {action: sendEmail ? 'checked' : 'unchecked', field: 'reminder-email'});\r\n}\r\nexport const changeEditChildSendRecallSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.children.editChildForm.sendRecallSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-edit-recall-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-edit', {action: sendSMS ? 'checked' : 'unchecked', field: 'recall-sms'});\r\n}\r\nexport const changeEditChildSendRecallEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.children.editChildForm.sendRecallEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-edit-recall-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-edit', {action: sendEmail ? 'checked' : 'unchecked', field: 'recall-email'});\r\n}\r\nexport const changeEditChildSendRecallLetter = ({ state, effects }: Context, sendLetter: boolean) => {\r\n state.children.editChildForm.sendRecallLetter = sendLetter;\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-edit-recall-letter-'+(sendLetter ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-edit', {action: sendLetter ? 'checked' : 'unchecked', field: 'recall-letter'});\r\n}\r\nexport const changeEditChildClinicDataId = ({ state }:Context, clinicDataId: number | null) => {\r\n state.children.editChildForm.clinicDataId = clinicDataId;\r\n}\r\n\r\nexport const editChild = ({ state, effects, actions }: Context, childId: number)=> {\r\n state.children.selectedChildId = childId;\r\n\r\n //set editChildForm\r\n state.children.editChildForm.validateFields = false;\r\n if (state.children.selectedChild !== null) {\r\n state.children.editChildForm.mobile = state.children.selectedChild.Mobile ?? '';\r\n state.children.editChildForm.email = state.children.selectedChild.Email ?? '';\r\n state.children.editChildForm.clinicDataId = state.children.selectedChild.PatientListingStatus.ListedAtClinic()?.ClinicDataId ?? null;\r\n state.children.editChildForm.sendReminderSMS = state.children.selectedChild.PatientSettings!.SendReminderSMS;\r\n state.children.editChildForm.sendReminderEmail = state.children.selectedChild.PatientSettings!.SendReminderEmail;\r\n state.children.editChildForm.sendRecallSMS = state.children.selectedChild.PatientSettings!.SendRecallSMS;\r\n state.children.editChildForm.sendRecallEmail = state.children.selectedChild.PatientSettings!.SendRecallEmail;\r\n state.children.editChildForm.sendRecallLetter = state.children.selectedChild.PatientSettings!.SendRecallLetter;\r\n }\r\n\r\n actions.listingStatus.resetUi();\r\n\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-edit-child');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-edit-child');\r\n}\r\nexport const closeEditChild = async ({ state, effects }: Context) => {\r\n state.children.selectedChildId = null;\r\n state.children.editChildForm = initialEditChildForm();\r\n\r\n effects.analytics.DtvGA('my-pages-children', 'my-pages-children-edit-child-close');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-children-edit-child-close');\r\n}\r\n","import Clinic from \"dtv-shared/src/api/my-pages/models/Clinic\";\r\nimport {derived} from \"overmind\";\r\n\r\ntype ClinicsState = {\r\n loading: boolean;\r\n clinics: Clinic[] | null;\r\n readonly acceptsOnlineListings: Clinic[] | null;\r\n readonly acceptsOnlineListingsChildren: Clinic[] | null;\r\n}\r\n\r\nexport const initialClinicsState = () => ({\r\n loading: false,\r\n clinics: null,\r\n acceptsOnlineListings: derived((state: ClinicsState) => {\r\n if (state.clinics === null) {\r\n return null;\r\n }\r\n return state.clinics.filter(clinic => clinic.AcceptsOnlineListings);\r\n }),\r\n acceptsOnlineListingsChildren: derived((state: ClinicsState) => {\r\n if (state.clinics === null) {\r\n return null;\r\n }\r\n return state.clinics.filter(clinic => clinic.AcceptsOnlineListings && clinic.AcceptsChildren);\r\n }),\r\n})\r\n\r\nexport const state: ClinicsState = initialClinicsState()","import { Context } from '..';\r\n//import {sleep} from \"dtv-shared/src/functions/timers\";\r\n\r\nexport const getClinicList = async ({state, effects}: Context )=> {\r\n if (state.clinics.loading || state.clinics.clinics !== null) {\r\n return;\r\n }\r\n state.clinics.loading = true;\r\n //await sleep(7000);\r\n const result = await effects.api.clinics.GetClinicList();\r\n\r\n state.clinics.clinics = result.Clinics;\r\n\r\n state.clinics.loading = false;\r\n}","import { SaveSettingsRequest, SettingsPageResponse } from 'dtv-shared/src/api/my-pages/settings';\r\nimport { Context } from '..';\r\nimport { initialEditSettingsState } from './settings-state';\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport const _handleSettingsPageResponse = ({state, actions}: Context, settingsPageResponse: SettingsPageResponse) => {\r\n if (settingsPageResponse.Success){\r\n state.settings.numberListedChildren = settingsPageResponse.NumberListedChildren;\r\n\r\n state.settings.editSettingsForm = initialEditSettingsState();\r\n state.settings.editSettingsForm.mobile = state.login.bankIdPatient!.Mobile ?? '';\r\n state.settings.editSettingsForm.email = state.login.bankIdPatient!.Email ?? '';\r\n\r\n state.settings.editSettingsForm.sendReminderSMS = state.login.bankIdPatient!.PatientSettings?.SendReminderSMS ?? null;\r\n state.settings.editSettingsForm.sendReminderEmail = state.login.bankIdPatient!.PatientSettings?.SendReminderEmail ?? null;\r\n state.settings.editSettingsForm.sendRecallSMS = state.login.bankIdPatient!.PatientSettings?.SendRecallSMS ?? null;\r\n state.settings.editSettingsForm.sendRecallEmail = state.login.bankIdPatient!.PatientSettings?.SendRecallEmail ?? null;\r\n state.settings.editSettingsForm.sendRecallLetter = state.login.bankIdPatient!.PatientSettings?.SendRecallLetter ?? null;\r\n state.settings.editSettingsForm.sendInfoSMS = state.login.bankIdPatient!.PatientSettings?.SendInfoSMS ?? null;\r\n state.settings.editSettingsForm.sendInfoEmail = state.login.bankIdPatient!.PatientSettings?.SendInfoEmail ?? null;\r\n } else {\r\n throw new Error('unexpected problem in SettingsPageResponse: ' + settingsPageResponse.ErrorMessage);\r\n }\r\n}\r\n\r\nexport const loadSettingsPage = async ({state, actions, effects}:Context) => {\r\n state.settings.loading = true;\r\n state.page.current = Pages.Settings;\r\n\r\n const result = await effects.api.settings.SettingsPage();\r\n actions.settings._handleSettingsPageResponse(result);\r\n\r\n actions.listingStatus.resetUi();\r\n\r\n state.settings.loading = false;\r\n}\r\nexport const saveSettings = async ({state, actions, effects }: Context) => {\r\n state.settings.loading = true;\r\n state.settings.editSettingsForm.validateFields = true;\r\n\r\n if (state.settings.editSettingsForm.isFormValid) {\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-save');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: 'save'});\r\n\r\n const saveSettingRequest: SaveSettingsRequest = {\r\n PatientId: state.login.bankIdPatient!.Id!,\r\n Mobile: state.settings.editSettingsForm.mobile === (state.login.bankIdPatient!.Mobile ?? '') ? null : state.settings.editSettingsForm.mobile,\r\n Email: state.settings.editSettingsForm.email === (state.login.bankIdPatient!.Email ?? '') ? null : state.settings.editSettingsForm.email,\r\n SendReminderSMS: state.settings.editSettingsForm.sendReminderSMS ?? false,\r\n SendReminderEmail: state.settings.editSettingsForm.sendReminderEmail ?? false,\r\n SendRecallSMS: state.settings.editSettingsForm.sendRecallSMS ?? false,\r\n SendRecallEmail: state.settings.editSettingsForm.sendRecallEmail ?? false,\r\n SendRecallLetter: state.settings.editSettingsForm.sendRecallLetter ?? false,\r\n SendInfoSMS: state.settings.editSettingsForm.sendInfoSMS ?? false,\r\n SendInfoEmail: state.settings.editSettingsForm.sendInfoEmail ?? false\r\n };\r\n const result = await effects.api.settings.SaveSettings(saveSettingRequest);\r\n actions.settings._handleSettingsPageResponse(result);\r\n } else {\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-save-invalid');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: 'save-invalid'});\r\n effects.common.scrollToError();\r\n }\r\n\r\n state.settings.loading = false;\r\n}\r\n\r\n\r\nexport const changeEditSettingsMobileInputValue = ({ state, effects }: Context, mobile: string) => {\r\n state.settings.editSettingsForm.mobile = mobile;\r\n}\r\nexport const changeEditSettingsEmailInputValue = ({ state }: Context, email: string) => {\r\n state.settings.editSettingsForm.email = email;\r\n}\r\nexport const changeEditSettingsSendReminderSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.settings.editSettingsForm.sendReminderSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-reminder-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: sendSMS ? 'checked' : 'unchecked', field: 'reminder-sms'});\r\n\r\n}\r\nexport const changeEditSettingsSendReminderEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.settings.editSettingsForm.sendReminderEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-reminder-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: sendEmail ? 'checked' : 'unchecked', field: 'reminder-email'});\r\n}\r\nexport const changeEditSettingsSendRecallSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.settings.editSettingsForm.sendRecallSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-recall-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: sendSMS ? 'checked' : 'unchecked', field: 'recall-sms'});\r\n}\r\nexport const changeEditSettingsSendRecallEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.settings.editSettingsForm.sendRecallEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-recall-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: sendEmail ? 'checked' : 'unchecked', field: 'recall-email'});\r\n}\r\nexport const changeEditSettingsSendRecallLetter = ({ state, effects }: Context, sendLetter: boolean) => {\r\n state.settings.editSettingsForm.sendRecallLetter = sendLetter;\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-recall-letter-'+(sendLetter ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: sendLetter ? 'checked' : 'unchecked', field: 'recall-letter'});\r\n}\r\nexport const changeEditSettingsSendInfoSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.settings.editSettingsForm.sendInfoSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-info-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: sendSMS ? 'checked' : 'unchecked', field: 'info-sms'});\r\n}\r\nexport const changeEditSettingsSendInfoEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.settings.editSettingsForm.sendInfoEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-settings', 'my-pages-settings-info-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-settings', {action: sendEmail ? 'checked' : 'unchecked', field: 'info-email'});\r\n}\r\n","import { Context } from '..';\r\nimport { MyClinicState } from './my-clinics-state';\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport const loadMyClinicsPage = async ({state, effects, actions}:Context) => {\r\n state.myClinics.loading = true;\r\n state.page.current = Pages.MyClinics;\r\n\r\n const result = await effects.api.myClinics.MyClinicsPage(state.myClinics.selectedPatientId, state.myClinics.max_number_weeks);\r\n\r\n state.myClinics.children = result.Children;\r\n state.myClinics.myClinics = result.MyClinics.map(myClinic => new MyClinicState(myClinic));\r\n actions.listingStatus.resetUi();\r\n\r\n state.myClinics.loading = false;\r\n}\r\n\r\n// export const changePatient = async ({ state }: Context, patientId: number | null) => {\r\n// state.myClinics.selectedPatientId = patientId;\r\n// };\r\n\r\nexport const openHoursSectionExpandToggle = ({state, effects}: Context, myClinicDataId: number) => {\r\n effects.analytics.DtvGA('my-pages-my-clinics', 'my-pages-my-clinics-open-hours-expand-toggle');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-my-clinics', {action: 'open-hours-expand-toggle'});\r\n\r\n const myClinic = state.myClinics.myClinics.filter(c => c.ClinicDataId === myClinicDataId)[0];\r\n myClinic.OpenHoursSectionExpanded = !myClinic.OpenHoursSectionExpanded;\r\n};\r\nexport const addressSectionExpandToggle = ({state, effects}: Context, myClinicDataId: number) => {\r\n effects.analytics.DtvGA('my-pages-my-clinics', 'my-pages-my-clinics-address-section-expand-toggle');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-my-clinics', {action: 'address-section-expand-toggle'});\r\n\r\n const myClinic = state.myClinics.myClinics.filter(c => c.ClinicDataId === myClinicDataId)[0];\r\n myClinic.AddressSectionExpanded = !myClinic.AddressSectionExpanded;\r\n};\r\n\r\nexport const changeWeekForward = ({state, effects}: Context, myClinicDataId: number) => {\r\n effects.analytics.DtvGA('my-pages-my-clinics', 'my-pages-my-clinics-change-week-forward');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-my-clinics', {action: 'change-week-forward'});\r\n\r\n const myClinic = state.myClinics.myClinics.filter(c => c.ClinicDataId === myClinicDataId)[0];\r\n if (myClinic.SelectedWeekNumber < state.myClinics.max_number_weeks){\r\n myClinic.SelectedWeekNumber += 1;\r\n }\r\n};\r\nexport const changeWeekBackward = ({state, effects}: Context, myClinicDataId: number) => {\r\n effects.analytics.DtvGA('my-pages-my-clinics', 'my-pages-my-clinics-change-week-backward');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-my-clinics', {action: 'change-week-backward'});\r\n\r\n const myClinic = state.myClinics.myClinics.filter(c => c.ClinicDataId === myClinicDataId)[0];\r\n if (myClinic.SelectedWeekNumber > 0) {\r\n myClinic.SelectedWeekNumber -= 1;\r\n }\r\n};","declare global {\r\n interface Window {\r\n dtvGa: (arg0: any, arg1: any, arg2?: any, arg3?: any, arg4?: any) => void;\r\n dtvGA4Event: (eventName: string, params?: object, callback?: () => void) => void;\r\n }\r\n}\r\n\r\nexport const DtvGA = (category: string, action: string, label?: string) => {\r\n return new Promise(resolve => {\r\n if (typeof window.dtvGa === 'undefined') {\r\n resolve();\r\n return;\r\n }\r\n const timer = setTimeout(() => {resolve()}, 1000);\r\n\r\n const gaParams : {eventCategory: string, eventAction: string, eventLabel?: string, hitCallback: () => void} = {\r\n eventCategory: category,\r\n eventAction: action,\r\n hitCallback: () => {\r\n clearTimeout(timer);\r\n resolve();\r\n }\r\n }\r\n\r\n if (label) {\r\n gaParams.eventLabel = label;\r\n }\r\n\r\n window.dtvGa('send', 'event', gaParams);\r\n });\r\n}\r\n\r\n//ga4 handles this automatically!\r\nexport const DtvGaPageView = () => {\r\n return new Promise(resolve => {\r\n if (typeof window.dtvGa === 'undefined') {\r\n resolve();\r\n return;\r\n }\r\n\r\n const timer = setTimeout(() => {resolve()}, 1000);\r\n\r\n const gaParams : {hitCallback: () => void} = {\r\n hitCallback: () => {\r\n clearTimeout(timer);\r\n resolve();\r\n }\r\n }\r\n\r\n window.dtvGa('send', 'pageview', gaParams);\r\n });\r\n}\r\n\r\nexport const DtvGA4Event = (eventName: string, params?: object) => {\r\n return new Promise(resolve => {\r\n if (typeof window.dtvGA4Event === 'undefined') {\r\n resolve();\r\n return;\r\n }\r\n const timer = setTimeout(() => {resolve()}, 1000);\r\n\r\n window.dtvGA4Event(eventName, params, () => {\r\n clearTimeout(timer);\r\n resolve();\r\n });\r\n });\r\n}","import { Context } from '..';\r\n\r\nexport const closeModal = ({ state, effects }: Context) => {\r\n const title = state.modals.modal?.title ?? 'null';\r\n state.modals.modal = null;\r\n effects.analytics.DtvGA('my-pages', 'my-pages-modal-close', 'my-pages-modal-close-'+title);//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-modal-close', {title: title});\r\n\r\n}","import { Context } from '..';\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport const loadReferralPage = async ({state, effects, actions} : Context) => {\r\n state.referral.loading = true;\r\n state.page.current = Pages.Referral;\r\n\r\n const result = await effects.api.referral.ReferralPage();\r\n\r\n state.referral.myReferralCode = result.MyReferralCode;\r\n state.referral.myReferralURL = result.MyReferralURL;\r\n state.referral.myBenefits = result.MyBenefits;\r\n state.referral.invitations = result.Invitations;\r\n state.referral.benefitPerReferral = result.BenefitPerReferral;\r\n\r\n state.referral.loading = false;\r\n}\r\n\r\nexport const toggleConditions = ({state}: Context) => {\r\n state.referral.conditionsExpanded = !state.referral.conditionsExpanded;\r\n}","import { Context } from '..';\r\nimport { INBOX_TAKE } from './inbox-state';\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport const _loadMessages = async ({state, effects, actions}: Context, {reload}: {reload: boolean}) => {\r\n let result;\r\n if (reload) {\r\n result = await effects.api.inbox.InboxPage(state.inbox.selectedPatientId, 0, state.inbox.nbMessagesLoaded);\r\n } else {\r\n result = await effects.api.inbox.InboxPage(state.inbox.selectedPatientId, state.inbox.nbMessagesLoaded, INBOX_TAKE);\r\n }\r\n state.inbox.myNotifications = result.MyNotifications;\r\n state.inbox.children = result.Children;\r\n if (reload) {\r\n state.inbox.messages = result.Messages;\r\n } else {\r\n state.inbox.messages = state.inbox.messages.concat(result.Messages);\r\n }\r\n state.inbox.totalMessages = result.TotalMessages;\r\n}\r\nexport const loadInboxPage = async ({state, actions}: Context, {reload}: {reload: boolean}) => {\r\n state.inbox.loading = true;\r\n state.page.current = Pages.Inbox;\r\n await actions.inbox._loadMessages({reload: reload});\r\n state.inbox.loading = false;\r\n}\r\nexport const getMoreMessages = async ({state, actions, effects}: Context) => {\r\n effects.analytics.DtvGA('my-pages-inbox', 'my-pages-inbox-get-more-messages');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-inbox', {action: 'get-more-messages'});\r\n\r\n state.inbox.loadingMore = true;\r\n\r\n setTimeout(function() {\r\n var offset = jQuery('.js-scroll-to-loader').offset();\r\n if (typeof offset !== 'undefined') {\r\n window.scrollTo({\r\n top: offset.top,\r\n behavior: \"smooth\"\r\n });\r\n }\r\n },1);\r\n\r\n await actions.inbox._loadMessages({reload: false});\r\n state.inbox.loadingMore = false;\r\n}\r\nexport const getPdf = async({state, effects}: Context) => {\r\n if (state.inbox.selectedMessageId === null){\r\n throw new Error(\"No message selected\");\r\n }\r\n\r\n effects.analytics.DtvGA('my-pages-inbox', 'my-pages-inbox-get-pdf');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-inbox', {action: 'get-pdf'});\r\n\r\n state.inbox.loading = true;\r\n\r\n const result = await effects.api.inbox.GetPdf(state.inbox.selectedMessageId);\r\n const downloadLink = document.createElement(\"a\");\r\n downloadLink.href = 'data:application/pdf;base64,' + result.Pdf;\r\n downloadLink.download = \"Message_\" + state.inbox.selectedMessageId + \".pdf\";\r\n downloadLink.click();\r\n\r\n state.inbox.loading = false;\r\n}\r\n\r\nexport const showMessage = async ({state,effects}:Context, messageId: number) => {\r\n state.inbox.selectedMessageId = messageId;\r\n effects.analytics.DtvGA('my-pages-inbox', 'my-pages-inbox-show-msg');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-inbox', {action: 'show-msg'});\r\n\r\n if (!state.inbox.selectedMessage!.IsRead) {\r\n state.inbox.loading = true;\r\n await effects.api.inbox.MarkMessageOpened(messageId);\r\n state.inbox.loading = false;\r\n }\r\n}\r\nexport const closeMessage = async ({state, actions, effects}:Context) => {\r\n const wasRead = state.inbox.selectedMessage!.IsRead\r\n state.inbox.selectedMessageId = null;\r\n effects.analytics.DtvGA('my-pages-inbox', 'my-pages-inbox-close-msg');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-inbox', {action: 'close-msg'});\r\n if (!wasRead) {\r\n actions.inbox.loadInboxPage({reload: true});\r\n }\r\n}","import { Context } from '..';\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport const loadPersonalOffersPage = async ({state,actions, effects}: Context) => {\r\n setTimeout(() => window.scrollTo({\r\n top: 0,\r\n }), 0);\r\n //state.personalOffers.loading = true;\r\n state.page.current = Pages.PersonalOffers;\r\n\r\n state.personalOffers.loading = false;\r\n}\r\n\r\nexport const expandConditions = ({state, effects}: Context) => {\r\n state.personalOffers.conditionsExpanded = true;\r\n effects.analytics.DtvGA('my-pages-personal-offers', 'my-pages-personal-offers-expand-conditions');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-personal-offers', {action: 'expand-conditions'});\r\n}","import {Context} from '..';\r\nimport {ActiveBooking} from './journal-state';\r\nimport {Pages} from \"../../page-urls\";\r\nimport {Modal} from \"../modals/modals-state\";\r\nimport {DtvMessagePopupStyle} from \"dtv-shared/src/components/modals/DtvMessagePopup\";\r\n\r\nexport const _loadPreviousBookings = async({state, effects, actions}: Context) => {\r\n //const result = await effects.api.journal.JournalPage(state.journal.selectedPatientId, state.journal.nbBookingsLoaded, JOURNAL_TAKE);\r\n const result = await effects.api.journal.JournalPage(state.journal.selectedPatientId, state.journal.nbBookingsLoaded, state.journal.nbBookingsToTake);\r\n state.journal.myNotifications = result.MyNotifications;\r\n state.journal.children = result.Children;\r\n state.journal.previousBookings = state.journal.previousBookings.concat(result.PreviousBookings.map(booking => new ActiveBooking(booking)));\r\n state.journal.totalPreviousBookings = result.TotalPreviousBookings;\r\n state.journal.nbCyclesDone++;\r\n}\r\n\r\nexport const loadJournalPage = async ({state, actions}: Context) => {\r\n state.journal.loading = true;\r\n state.page.current = Pages.Journal;\r\n await actions.journal._loadPreviousBookings();\r\n state.journal.loading = false;\r\n\r\n if (state.journal.autoLoadMore)\r\n await actions.journal.autoMoreBookings();\r\n}\r\nexport const autoMoreBookings = async({state, actions}: Context) => {\r\n state.journal.loadingMore = true;\r\n await actions.journal._loadPreviousBookings();\r\n state.journal.loadingMore = false;\r\n\r\n //launch next one?\r\n if (state.journal.autoLoadMore)\r\n await actions.journal.autoMoreBookings();\r\n}\r\nexport const getMoreBookings = async ({state, actions, effects}: Context) => {\r\n effects.analytics.DtvGA('my-pages-journal', 'my-pages-journal-get-more-bookings');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-journal', {action: 'get-more-bookings'});\r\n\r\n state.journal.loadingMore = true;\r\n\r\n setTimeout(function() {\r\n var offset = jQuery('.js-scroll-to-loader').offset();\r\n if (typeof offset !== 'undefined') {\r\n window.scrollTo({\r\n top: offset.top,\r\n behavior: \"smooth\"\r\n });\r\n }\r\n },1);\r\n\r\n await actions.journal._loadPreviousBookings();\r\n state.journal.loadingMore = false;\r\n}\r\n\r\nexport const actionsSectionExpandToggle = ({state, effects}: Context, bookingId: number) => {\r\n effects.analytics.DtvGA('my-pages-journal', 'my-pages-journal-section-expand-toggle');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-journal', {action: 'section-expand-toggle'});\r\n\r\n const booking = state.journal.previousBookings.filter(b => b.Id === bookingId)[0];\r\n booking.ActionsSectionExpanded = !booking.ActionsSectionExpanded;\r\n}\r\n\r\nexport const showXrays = ({state, effects}: Context, bookingId: number) => {\r\n effects.analytics.DtvGA('my-pages-journal', 'my-pages-journal-show-xrays');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-journal', {action: 'show-xrays'});\r\n\r\n state.journal.loading = true;\r\n state.journal.selectedBookingId = bookingId;\r\n\r\n if (state.journal.selectedBooking === null) {\r\n state.journal.selectedBookingId = null;//reset\r\n throw new Error(\"No matching booking for id \" + bookingId);\r\n }\r\n\r\n state.journal.selectedBooking.DisplayModalXrays = true;\r\n state.journal.loading = false;\r\n}\r\nexport const closeXrayModal = ({state, effects}: Context) => {\r\n effects.analytics.DtvGA('my-pages-journal', 'my-pages-journal-close-xray-modal');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-journal', {action: 'close-xray-modal'});\r\n\r\n if (state.journal.selectedBooking !== null){\r\n state.journal.selectedBooking.DisplayModalXrays = false;\r\n }\r\n state.journal.selectedBookingId = null;\r\n}\r\n\r\nexport const showReceiptModal = async ({state, effects}: Context, bookingId: number) => {\r\n effects.analytics.DtvGA('my-pages-journal', 'my-pages-journal-show-receipt-modal');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-journal', {action: 'show-receipt-modal'});\r\n\r\n state.journal.loading = true;\r\n state.journal.selectedBookingId = bookingId;\r\n\r\n if (state.journal.selectedBooking === null) {\r\n state.journal.selectedBookingId = null;//reset\r\n throw new Error('No matching booking for id ' + bookingId);\r\n }\r\n\r\n if (state.journal.selectedBooking.PaymentReceipt === null) {\r\n const patientId = state.journal.selectedPatientId ?? state.login.bankIdPatient!.Id!;\r\n const billNumber = state.journal.selectedBooking.BillNumber;\r\n if (billNumber) {\r\n const result = await effects.api.journal.GetPaymentReceipt(patientId, billNumber);\r\n state.journal.selectedBooking.PaymentReceipt = result.PaymentReceipt;\r\n\r\n // check if PaymentReceipt.CustomerReceipt is a string and contains the string SEK anywhere followed by any amount of whitespace and then a number (e.g. SEK 123,45)\r\n // if that is the case, then we need to convert it to a number and compare it to state.journal.selectedBooking.totalToPay() to see if it is the same\r\n // if it is not the same we should log a warning\r\n if (typeof state.journal.selectedBooking.PaymentReceipt.CustomerReceipt === 'string' && state.journal.selectedBooking.PaymentReceipt.CustomerReceipt.match(/SEK\\s+\\d+,\\d+/)) {\r\n const customerReceipt = state.journal.selectedBooking.PaymentReceipt.CustomerReceipt.match(/SEK\\s+(\\d+,\\d+)/);\r\n if (customerReceipt && customerReceipt.length > 1) {\r\n const customerReceiptAmount = Number(customerReceipt[1].replace(',', '.'));\r\n if (customerReceiptAmount !== state.journal.selectedBooking.PaymentReceipt.TotalToPay()) {\r\n effects.log.logWarn({message: 'CustomerReceipt amount does not match totalToPay billnumber : ' + billNumber + ' selectedBookingId: ' + state.journal.selectedBookingId + ' patientId: ' + patientId});\r\n }\r\n }\r\n }\r\n } else {\r\n throw new Error('No BillNumber for booking for id ' + bookingId);\r\n }\r\n }\r\n\r\n state.journal.selectedBooking.DisplayModalReceipt = true;\r\n state.journal.loading = false;\r\n}\r\nexport const getReceiptPdf = async ({state, effects}:Context) => {\r\n if (state.journal.selectedBooking === null) {\r\n throw new Error(\"No booking selected\");\r\n }\r\n if (state.journal.selectedBooking.PaymentReceipt === null) {\r\n throw new Error(\"no receipt selected\");\r\n }\r\n\r\n state.journal.loading = true;\r\n\r\n //load receipt\r\n //const result = await\r\n await effects.api.journal.PrintReceiptAsPDF(state.journal.selectedBooking.PaymentReceipt.ReceiptFilenamePDF());\r\n // if (!result){\r\n // alert('an error has occured, sorry for the inconveniance');\r\n // }\r\n state.journal.loading = false;\r\n}\r\nexport const closeReceiptModal = ({state, effects}:Context) => {\r\n effects.analytics.DtvGA('my-pages-journal', 'my-pages-journal-close-receipt-modal');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-journal', {action: 'close-receipt-modal'});\r\n\r\n if (state.journal.selectedBooking !== null){\r\n state.journal.selectedBooking.DisplayModalReceipt = false;\r\n }\r\n state.journal.selectedBookingId = null;\r\n}\r\n\r\nexport const showPaymentModal = async({ state, effects }: Context, bookingId: number) => {\r\n effects.analytics.DtvGA('my-pages-journal', 'my-pages-journal-pay-bill');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-journal', {action: 'pay-bill'});\r\n\r\n state.journal.loading=true;\r\n state.journal.selectedBookingId = bookingId;\r\n\r\n if (state.journal.selectedBooking === null) {\r\n state.journal.selectedBookingId = null;//reset\r\n throw new Error('No matching booking for id ' + bookingId);\r\n }\r\n\r\n if (state.journal.selectedBooking.InvoiceNumber === null){\r\n state.journal.selectedBookingId = null;//reset\r\n throw new Error('No invoice for booking id ' + bookingId);\r\n }\r\n\r\n const result = await effects.api.journal.KlarnaPayment(state.journal.selectedBooking.InvoiceNumber);\r\n if (result.HtmlSnippet === null || result.HtmlSnippet === '') {\r\n if (result.KlarnaStatus === 'already_paid') {\r\n state.modals.modal = new Modal({\r\n title: 'journal:alreadyPaidModalTitle',\r\n text: 'journal:alreadyPaidModalText',\r\n style: DtvMessagePopupStyle.Info,\r\n });\r\n } else {\r\n throw new Error('HtmlSnippet missing. Response: ' + JSON.stringify(result));\r\n }\r\n } else {\r\n state.journal.selectedBooking.HtmlSnippet = result.HtmlSnippet;\r\n state.journal.selectedBooking.DisplayModalPayment = true;\r\n }\r\n state.journal.loading=false;\r\n}\r\nexport const closePaymentModal = ({state, actions}:Context) => {\r\n if (state.journal.selectedBooking !== null){\r\n state.journal.selectedBooking.DisplayModalPayment = false;\r\n }\r\n state.journal.selectedBookingId = null;\r\n actions.journal.loadJournalPage();\r\n}","import {Context} from \"../index\";\r\nimport {Pages} from \"../../page-urls\";\r\nimport dayjs from \"dayjs\";\r\n\r\nexport const readMore = ({state, effects}: Context) => {\r\n state.atb.readMore = true;\r\n effects.analytics.DtvGA('my-pages-atb-page', 'my-pages-atb-page-read-more');//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-atb-page-read-more');\r\n}\r\n\r\nexport const loadAtbPage = async ({state, effects, actions}: Context) => {\r\n state.atb.loading = true;\r\n state.page.current = Pages.Atb;\r\n\r\n const result = await effects.api.atb.AtbPage();\r\n\r\n state.atb.latestVisitDate = result.LatestVisitDate;\r\n //state.atb.latestVisitDate = dayjs('2023-05-01');\r\n\r\n state.atb.loading = false;\r\n}\r\n\r\nexport const setTestBirthYear = ({state}: Context, birthYear: string) => {\r\n state.atb.testBirthYear = birthYear;\r\n}\r\n\r\nexport const setTestDateNow = ({state}: Context, dateNow: string) => {\r\n state.atb.testDateNow = dateNow;\r\n}\r\n\r\nexport const setTestLatestVisitDate = ({state}: Context, latestVisitDate: string) => {\r\n state.atb.testLatestVisitDate = latestVisitDate;\r\n}\r\n\r\nexport const testApply = async ({state, effects}: Context) => {\r\n state.login.bankIdPatient!.BirthDate = dayjs(state.atb.testBirthYear+'-01-01');\r\n state.atb.testDateNowApplied = state.atb.testDateNow;\r\n if (state.atb.testDateNowApplied !== '') {\r\n state.common.childMaxAge = parseInt(dayjs(state.atb.testDateNowApplied).format('YYYY')) > 2024 ? 19 : 23;\r\n }\r\n state.atb.latestVisitDate = state.atb.testLatestVisitDate === '' ? null : dayjs(state.atb.testLatestVisitDate);\r\n}","import {derived} from \"overmind\";\r\nimport dayjs, {Dayjs} from \"dayjs\";\r\n\r\ntype DateState = {\r\n readonly initialServerDate: Dayjs;\r\n readonly startDate: Dayjs;\r\n readonly yearNow: number;\r\n dateNow: Dayjs;\r\n}\r\n\r\nconst initial = window.dateNow === 'use-client' ? dayjs().tz() : dayjs(window.dateNow);\r\n//const initial = dayjs('2024-08-10');\r\n//console.log('initial', initial.format('HH:mm'));\r\nexport const state: DateState = {\r\n initialServerDate: initial,\r\n startDate: dayjs().tz(),\r\n yearNow: derived((state: DateState) => {\r\n return parseInt(state.dateNow.format('YYYY'));\r\n }),\r\n dateNow: initial,\r\n}","import {Context} from \"../index\";\r\nimport {sleep} from \"dtv-shared/src/functions/timers\";\r\nimport dayjs from \"dayjs\";\r\nimport \"dayjs/plugin/duration\";\r\n\r\nexport const keepTime = async ({state}: Context) => {\r\n while (true) {\r\n const now = dayjs().tz();\r\n //console.log('now', now.format('HH:mm'));\r\n const durationElapsed = now.diff(state.date.startDate);\r\n //console.log('durationElapsed', durationElapsed);\r\n //console.log('dateNow1', state.date.dateNow.format('HH:mm'));\r\n //console.log('startDate', state.date.startDate.format('HH:mm'));\r\n state.date.dateNow = state.date.initialServerDate.add(durationElapsed);\r\n //console.log('dateNow2', state.date.dateNow.format('HH:mm'));\r\n await sleep(60000);\r\n }\r\n}\r\n","import { Context } from '..';\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nexport const loadHealthPage = async ({state, effects, actions}:Context) => {\r\n state.health.loading = true;\r\n state.page.current = Pages.Health;\r\n\r\n const result = await effects.api.health.HealthPage();\r\n state.health.healthDeclarationStatus = result.HealthDeclarationStatus;\r\n state.health.hasActiveBookings = result.HasActiveBookings;\r\n\r\n state.health.loading = false;\r\n}","import {Context} from '..';\r\nimport {CallFormSelectDentist, initialCallFormState} from \"./call-form-state\";\r\nimport {Pages} from \"../../page-urls\";\r\nimport {EmployeeTypeEnum} from \"dtv-shared/src/api/my-pages/employees\";\r\nimport axios from \"axios\";\r\nimport {CallFormWhenCalled} from \"dtv-shared/src/api/my-pages/listingStatus\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\n\r\nexport const loadDentists = async ({ state, effects }: Context) => {\r\n if (!state.callForm.selectedPatient.IsChildOrYouth(state.date.dateNow, state.common.childMaxAge)) {\r\n\r\n if (state.callForm.loadingDentistsCanceler !== null) {\r\n state.callForm.loadingDentistsCanceler();\r\n state.callForm.loadingDentistsCanceler = null;\r\n }\r\n\r\n if (state.callForm.selectedClinicDataId === null) {\r\n state.callForm.dentists = [];\r\n } else {\r\n\r\n const CancelToken = axios.CancelToken;\r\n const source = CancelToken.source();\r\n state.callForm.loadingDentistsCanceler = source.cancel;\r\n\r\n state.callForm.loadingDentists = true;\r\n\r\n try {\r\n const res = await effects.api.employees.GetEmployeesWithClinicDataIds(EmployeeTypeEnum.Dentist, state.callForm.selectedClinicDataId, source.token);\r\n state.callForm.dentists = res.EmployeesWithClinicDataIds;\r\n } catch(ex) {\r\n if (!axios.isCancel(ex)) {\r\n throw ex;\r\n }\r\n }\r\n state.callForm.loadingDentists = false;\r\n }\r\n }\r\n}\r\n\r\nexport const open = async ({ state, actions }: Context, child?: Patient) => {\r\n state.callForm = initialCallFormState(child ?? state.callForm.selectedPatient);\r\n state.callForm.open = true;\r\n await actions.callForm.loadDentists();\r\n}\r\n\r\nexport const close = ({ state }: Context) => {\r\n state.callForm.open = false;\r\n}\r\nexport const changePhone = ({ state }: Context, phone: string) => {\r\n state.callForm.phone = phone;\r\n}\r\nexport const changeEmail = ({ state }: Context, email: string) => {\r\n state.callForm.email = email;\r\n}\r\nexport const changeEditSettingsSendReminderSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.callForm.sendReminderSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-call-us', 'my-pages-call-us-reminder-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-call-us', {action: sendSMS ? 'checked' : 'unchecked', field: 'reminder-sms'});\r\n}\r\nexport const changeEditSettingsSendReminderEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.callForm.sendReminderEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-call-us', 'my-pages-call-us-reminder-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-call-us', {action: sendEmail ? 'checked' : 'unchecked', field: 'reminder-email'});\r\n}\r\nexport const changeEditSettingsSendRecallSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.callForm.sendRecallSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-call-us', 'my-pages-call-us-recall-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-call-us', {action: sendSMS ? 'checked' : 'unchecked', field: 'recall-sms'});\r\n}\r\nexport const changeEditSettingsSendRecallEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.callForm.sendRecallEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-call-us', 'my-pages-call-us-recall-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-call-us', {action: sendEmail ? 'checked' : 'unchecked', field: 'recall-email'});\r\n}\r\nexport const changeEditSettingsSendRecallLetter = ({ state, effects }: Context, sendLetter: boolean) => {\r\n state.callForm.sendRecallLetter = sendLetter;\r\n effects.analytics.DtvGA('my-pages-call-us', 'my-pages-call-us-recall-letter-'+(sendLetter ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-call-us', {action: sendLetter ? 'checked' : 'unchecked', field: 'recall-letter'});\r\n}\r\nexport const changeEditSettingsSendInfoSMS = ({ state, effects }: Context, sendSMS: boolean) => {\r\n state.callForm.sendInfoSMS = sendSMS;\r\n effects.analytics.DtvGA('my-pages-call-us', 'my-pages-call-us-info-sms-'+(sendSMS ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-call-us', {action: sendSMS ? 'checked' : 'unchecked', field: 'info-sms'});\r\n}\r\nexport const changeEditSettingsSendInfoEmail = ({ state, effects }: Context, sendEmail: boolean) => {\r\n state.callForm.sendInfoEmail = sendEmail;\r\n effects.analytics.DtvGA('my-pages-call-us', 'my-pages-call-us-info-email-'+(sendEmail ? 'checked' : 'unchecked'));//ga4added\r\n effects.analytics.DtvGA4Event('my-pages-call-us', {action: sendEmail ? 'checked' : 'unchecked', field: 'info-email'});\r\n}\r\nexport const dismissErrorMessage = ({ state }: Context) => {\r\n state.callForm.errorMessage = null;\r\n}\r\nexport const changeSelectedClinicDataId = async ({ state, effects, actions }: Context, clinicDataId: number | null) => {\r\n state.callForm.selectedClinicDataId = clinicDataId;\r\n state.callForm.selectDentist = CallFormSelectDentist.Automatic;\r\n state.callForm.selectDentistAttempted = false;\r\n state.callForm.employeeSelectExpanded = true;\r\n await actions.callForm.loadDentists();\r\n}\r\nexport const changeSelectDentist = ({ state }: Context, val: CallFormSelectDentist) => {\r\n state.callForm.selectDentist = val;\r\n if (val === CallFormSelectDentist.Automatic) {\r\n state.callForm.selectedDentistId = null;\r\n }\r\n}\r\nexport const setEmployeeSelectExpanded = ({ state }: Context, val: boolean) => {\r\n state.callForm.employeeSelectExpanded = val;\r\n}\r\nexport const changeSelectedDentistId = ({ state }: Context, val: number|null) => {\r\n state.callForm.selectedDentistId = val;\r\n}\r\n\r\nexport const changeWhenCalled = ({ state }: Context, val: CallFormWhenCalled) => {\r\n state.callForm.whenCalled = val;\r\n}\r\n\r\nexport const clickSelectDentist = ({ state }: Context) => {\r\n state.callForm.selectDentistAttempted = true;\r\n}\r\n\r\nexport const submit = async ({ state, effects, actions }: Context) => {\r\n state.callForm.submitAttempted = true;\r\n state.callForm.errorMessage = null;\r\n if (!state.callForm.isFormValid) {\r\n effects.common.scrollToError();\r\n return;\r\n }\r\n\r\n state.callForm.submitting = true;\r\n\r\n const response = await effects.api.listingStatus.CallMeForm({\r\n SSN: state.callForm.selectedPatient.Pnr,\r\n ToClinicDataId: state.callForm.selectedClinicDataId!,\r\n Email: state.callForm.email === (state.callForm.selectedPatient!.Email ?? '') ? null : state.callForm.email,\r\n Mobile: state.callForm.phone === (state.callForm.selectedPatient!.Mobile ?? '') ? null : state.callForm.phone,\r\n SendReminderSMS: state.callForm.sendReminderSMS ?? false,\r\n SendReminderEmail: state.callForm.sendReminderEmail ?? false,\r\n SendRecallSMS: state.callForm.sendRecallSMS ?? false,\r\n SendRecallEmail: state.callForm.sendRecallEmail ?? false,\r\n SendRecallLetter: state.callForm.sendRecallLetter ?? null,\r\n SendInfoSMS: state.callForm.sendInfoSMS ?? null,\r\n SendInfoEmail: state.callForm.sendInfoEmail ?? null,\r\n DentistId: state.callForm.selectedDentistId ?? null,\r\n WhenCalled: state.callForm.hasFreeDental ? null : state.callForm.whenCalled,\r\n });\r\n\r\n state.callForm.submitting = false;\r\n state.callForm.open = false;\r\n if (!response.Success) {\r\n throw new Error('error in submit callform. ErrorMessage: ' + (response.ErrorMessage ?? 'null') + ' Status: ' + (response.ResponseStatus ?? 'null'));\r\n }\r\n\r\n switch(state.page.current) {\r\n case Pages.Bookings:\r\n await actions.bookings.loadBookingsPage();\r\n break;\r\n case Pages.Settings:\r\n await actions.settings.loadSettingsPage();\r\n break;\r\n case Pages.Children:\r\n await actions.children.loadChildrenPage();\r\n break;\r\n case Pages.MyClinics:\r\n await actions.myClinics.loadMyClinicsPage();\r\n break;\r\n default:\r\n throw new Error(\"invalid page: \" + state.page.current);\r\n }\r\n}","import { Context } from '..';\r\nimport {EmployeeTypeEnum} from \"dtv-shared/src/api/my-pages/employees\";\r\nimport {PurposeEnum} from \"dtv-shared/src/api/my-pages/listingStatus\";\r\nimport {initialListingStatusState, initialYourEmployeeState, YourEmployeeSelectEmployee} from \"./listing-status-state\";\r\nimport {Pages} from \"../../page-urls\";\r\nimport {sleep} from \"dtv-shared/src/functions/timers\";\r\n\r\nexport const resetUi = ({ state }: Context) => {\r\n state.listingStatus = initialListingStatusState(state.listingStatus.selectedPatient?.PatientListingStatus?.DentistClinic?.ClinicDataId ?? null);\r\n state.callForm.open = false;\r\n}\r\n\r\nexport const childListedChangeSelectedClinicDataId = ({ state }: Context, clinicDataId: number | null) => {\r\n state.listingStatus.childListedSelectedClinicDataId = clinicDataId;\r\n}\r\n\r\nexport const childListedChangeClinicSubmit = async ({ state, effects, actions }: Context) => {\r\n state.listingStatus.childListedSubmitHasBeenAttempted = true;\r\n if (state.listingStatus.childListedSelectedClinicDataId === null) {\r\n return;\r\n }\r\n\r\n state.listingStatus.childListedSubmitting = true;\r\n state.listingStatus.childListedSubmissionError = false;\r\n\r\n\r\n const result = await effects.api.listingStatus.ChildChangeClinic(\r\n state.listingStatus.selectedPatientIsMe ? null : state.listingStatus.selectedPatient.Pnr,\r\n state.listingStatus.childListedSelectedClinicDataId\r\n );\r\n\r\n if (!result.Success) {\r\n state.listingStatus.childListedSubmitting = false;\r\n state.listingStatus.childListedSubmissionError = true;\r\n return;\r\n }\r\n\r\n switch(state.page.current) {\r\n case Pages.Bookings:\r\n await actions.bookings.loadBookingsPage();\r\n break;\r\n case Pages.Settings:\r\n await actions.settings.loadSettingsPage();\r\n break;\r\n case Pages.Children:\r\n await actions.children.loadChildrenPage();\r\n break;\r\n case Pages.MyClinics:\r\n await actions.myClinics.loadMyClinicsPage();\r\n break;\r\n default:\r\n throw new Error(\"invalid page: \" + state.page.current);\r\n }\r\n\r\n state.listingStatus.childListedSubmitting = false;\r\n state.listingStatus.childListedSubmitHasBeenAttempted = false;\r\n}\r\n\r\nexport const yourEmployeeEditorOpen = async ({ state, effects, actions }: Context, employeeType : EmployeeTypeEnum) => {\r\n state.listingStatus.yourEmployee[employeeType] = initialYourEmployeeState();\r\n\r\n state.listingStatus.yourEmployee[employeeType].editorLoading = true;\r\n state.listingStatus.yourEmployee[employeeType].editorSaving = false;\r\n state.listingStatus.yourEmployee[employeeType].editorSaveAttempted = false;\r\n\r\n const res = await effects.api.employees.GetEmployeesWithClinicDataIds(employeeType);\r\n\r\n state.listingStatus.yourEmployee[employeeType].employeesWithClinicDataIds = res.EmployeesWithClinicDataIds;\r\n\r\n /*switch (employeeType) {\r\n case EmployeeTypeEnum.Dentist:\r\n state.listingStatus.yourEmployee[employeeType].yourEmployeeEditorSelectedClinicDataId = state.listingStatus.selectedPatient.PatientListingStatus.DentistClinic?.ClinicDataId ?? null;\r\n state.listingStatus.yourEmployee[employeeType].yourEmployeeEditorSelectedEmployeeId = state.listingStatus.selectedPatient.PatientListingStatus.DentistEmployee?.Id ?? null;\r\n break;\r\n case EmployeeTypeEnum.Hygienist:\r\n state.listingStatus.yourEmployee[employeeType].yourEmployeeEditorSelectedClinicDataId = state.listingStatus.selectedPatient.PatientListingStatus.HygienistClinic?.ClinicDataId ?? null;\r\n state.listingStatus.yourEmployee[employeeType].yourEmployeeEditorSelectedEmployeeId = state.listingStatus.selectedPatient.PatientListingStatus.HygienistEmployee?.Id ?? null;\r\n break;\r\n default:\r\n throw new Error(\"Invalid editor status: \" + employeeType);\r\n }*/\r\n\r\n state.listingStatus.yourEmployee[employeeType].editorSelectedClinicDataId = null;\r\n state.listingStatus.yourEmployee[employeeType].editorSelectedEmployeeId = null;\r\n\r\n state.listingStatus.yourEmployee[employeeType].editorOpen = employeeType;\r\n state.listingStatus.yourEmployee[employeeType].editorLoading = false;\r\n}\r\n\r\nexport const yourEmployeeEditorClose = async ({ state, effects, actions }: Context, employeeType : EmployeeTypeEnum) => {\r\n if (state.listingStatus.yourEmployee[employeeType].editorLoading || state.listingStatus.yourEmployee[employeeType].editorSaving) {\r\n return;\r\n }\r\n state.listingStatus.yourEmployee[employeeType].editorOpen = null;\r\n state.listingStatus.yourEmployee[employeeType].editorLoading = false;\r\n}\r\n\r\nexport const yourEmployeeEditorChangeSelectedClinic = ({ state, effects, actions }: Context, {employeeType, clinicDataId} : { employeeType: EmployeeTypeEnum, clinicDataId: number | null }) => {\r\n //console.log('yourEmployeeEditorChangeSelectedClinic clinicDataId', clinicDataId);\r\n //console.log('yourEmployeeEditorChangeSelectedClinic state', state.listingStatus.yourEmployee[employeeType].yourEmployeeEditorSelectedClinicDataId);\r\n state.listingStatus.yourEmployee[employeeType].editorSelectedClinicDataId = clinicDataId;\r\n state.listingStatus.yourEmployee[employeeType].selectEmployee = YourEmployeeSelectEmployee.Automatic;\r\n state.listingStatus.yourEmployee[employeeType].editorSelectedEmployeeId = null;\r\n state.listingStatus.yourEmployee[employeeType].editorEmployeeSelectExpanded = true;\r\n}\r\n\r\nexport const yourEmployeeEditorChangeSelectEmployee = ({ state }: Context, {employeeType, val}: {employeeType : EmployeeTypeEnum, val: YourEmployeeSelectEmployee}) => {\r\n state.listingStatus.yourEmployee[employeeType].selectEmployee = val;\r\n if (val === YourEmployeeSelectEmployee.Automatic) {\r\n state.listingStatus.yourEmployee[employeeType].editorSelectedEmployeeId = null;\r\n }\r\n}\r\n\r\nexport const yourEmployeeEditorClickSelectEmployee = ({ state }: Context, employeeType: EmployeeTypeEnum) => {\r\n state.listingStatus.yourEmployee[employeeType].selectEmployeeAttempted = true;\r\n}\r\n\r\nexport const yourEmployeeEditorEmployeeSelectSetExpanded = ({ state }: Context, {employeeType, expanded}: {employeeType : EmployeeTypeEnum, expanded: boolean}) => {\r\n state.listingStatus.yourEmployee[employeeType].editorEmployeeSelectExpanded = expanded;\r\n}\r\nexport const yourEmployeeEditorChangeSelectedEmployeeId = ({ state }: Context, {employeeType, empId}: {employeeType : EmployeeTypeEnum, empId: number|null}) => {\r\n state.listingStatus.yourEmployee[employeeType].editorSelectedEmployeeId = empId;\r\n}\r\n\r\nexport const yourEmployeeEditorSave = async ({ state, effects, actions }: Context, employeeType : EmployeeTypeEnum) => {\r\n if (state.listingStatus.yourEmployee[employeeType].editorSaving) {\r\n return;\r\n }\r\n\r\n state.listingStatus.yourEmployee[employeeType].editorSaveAttempted = true;\r\n\r\n if (!state.listingStatus.yourEmployee[employeeType].validForSaving) {\r\n effects.common.scrollToError();\r\n return;\r\n }\r\n\r\n state.listingStatus.yourEmployee[employeeType].editorSaving = true;\r\n\r\n if (state.listingStatus.yourEmployee[employeeType].sameClinicEmployeeAutomatic) {\r\n await sleep(200); // fake work :D\r\n } else {\r\n await effects.api.listingStatus.ChangeListingStatus({\r\n Purpose: state.listingStatus.yourEmployee[employeeType].editorOpen === EmployeeTypeEnum.Dentist ? PurposeEnum.AdultChangeDentist : PurposeEnum.AdultChangeHygienist,\r\n SSN: state.listingStatus.selectedPatientIsMe ? null : state.listingStatus.selectedPatient.Pnr,\r\n ToClinicDataId: state.listingStatus.yourEmployee[employeeType].editorSelectedClinicDataId!,\r\n ToEmployeeId: state.listingStatus.yourEmployee[employeeType].selectEmployee === YourEmployeeSelectEmployee.Manual ? state.listingStatus.yourEmployee[employeeType].editorSelectedEmployeeId! : null,\r\n });\r\n }\r\n state.listingStatus.yourEmployee[employeeType].editorSaving = false;\r\n state.listingStatus.yourEmployee[employeeType].editorOpen = null;\r\n\r\n switch(state.page.current) {\r\n case Pages.Bookings:\r\n await actions.bookings.loadBookingsPage();\r\n break;\r\n case Pages.Settings:\r\n await actions.settings.loadSettingsPage();\r\n break;\r\n case Pages.Children:\r\n await actions.children.loadChildrenPage();\r\n break;\r\n case Pages.MyClinics:\r\n await actions.myClinics.loadMyClinicsPage();\r\n break;\r\n default:\r\n throw new Error(\"invalid page: \" + state.page.current);\r\n }\r\n}","import {derived} from \"overmind\";\r\nimport {config} from \"../index\";\r\nimport {Pages} from \"../../page-urls\";\r\nimport {DtvIconName} from \"dtv-shared/src/components/icons\";\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport {PatientListingDentistStatusEnum} from \"dtv-shared/src/api/my-pages/models/PatientListingStatus\";\r\n\r\nenum BookNowMode {\r\n Acute = \"Acute\",\r\n Normal = \"Normal\",\r\n}\r\n\r\ntype BookNowCardState = {\r\n readonly selectedPatient: Patient | null;\r\n readonly selectedPatientIsMe: boolean;\r\n readonly mode: BookNowMode;\r\n readonly iconName: DtvIconName;\r\n readonly title: string;\r\n readonly text: string;\r\n readonly selectedPatientIsListed: boolean | null;\r\n readonly showButton: boolean;\r\n readonly buttonUrl: string;\r\n readonly buttonLabel: string;\r\n}\r\n\r\nexport const state: BookNowCardState = {\r\n selectedPatient: derived((state: BookNowCardState, rootState: typeof config.state) => {\r\n switch(rootState.page.current) {\r\n case Pages.Bookings:\r\n return rootState.bookings.selectedPatient;\r\n case Pages.Journal:\r\n return rootState.journal.selectedPatient;\r\n }\r\n return null;\r\n }),\r\n selectedPatientIsMe: derived((state: BookNowCardState, rootState: typeof config.state) => {\r\n switch(rootState.page.current) {\r\n case Pages.Bookings:\r\n return rootState.bookings.selectedPatientIsMe;\r\n case Pages.Journal:\r\n return rootState.journal.selectedPatientIsMe;\r\n }\r\n return true;\r\n }),\r\n mode: derived((state: BookNowCardState) => {\r\n return (state.selectedPatient?.HasFreeDentalCare ?? false) ? BookNowMode.Acute : BookNowMode.Normal;\r\n }),\r\n iconName: derived((state: BookNowCardState) => {\r\n switch (state.mode) {\r\n case BookNowMode.Acute:\r\n return DtvIconName.Akut_40x40;\r\n case BookNowMode.Normal:\r\n return DtvIconName.Kalender31_40x40;\r\n default:\r\n return DtvIconName.Kalender31_40x40;\r\n }\r\n }),\r\n title: derived((state: BookNowCardState) => {\r\n switch(state.mode) {\r\n case BookNowMode.Normal:\r\n return 'bookNowCard:normalTitle';\r\n case BookNowMode.Acute:\r\n return state.selectedPatientIsMe ? 'bookNowCard:acuteTitle' : 'bookNowCard:acuteTitleChild';\r\n default: throw new Error('invalid bookNowState.mode: ' + (state.mode ?? 'null'));\r\n }\r\n }),\r\n text: derived((state: BookNowCardState) => {\r\n switch(state.mode) {\r\n case BookNowMode.Normal:\r\n return state.selectedPatientIsListed ? 'bookNowCard:normalListedText' : 'bookNowCard:normalUnlistedText';\r\n case BookNowMode.Acute:\r\n return state.selectedPatientIsListed ? 'bookNowCard:acuteListedText' : 'bookNowCard:acuteUnlistedText';\r\n default:\r\n throw new Error('invalid bookNowState.mode: ' + (state.mode ?? 'null'));\r\n }\r\n }),\r\n selectedPatientIsListed: derived((state: BookNowCardState) => {\r\n if ((state.selectedPatient?.PatientListingStatus ?? null) === null) {\r\n return null;\r\n }\r\n switch (state.selectedPatient!.PatientListingStatus.DentistStatus) {\r\n case PatientListingDentistStatusEnum.NoPat:\r\n case PatientListingDentistStatusEnum.NoDRev:\r\n return false;\r\n case PatientListingDentistStatusEnum.Called:\r\n case PatientListingDentistStatusEnum.ChildListed:\r\n case PatientListingDentistStatusEnum.ChildWaitingMove:\r\n case PatientListingDentistStatusEnum.ChildWaitingEnlist:\r\n case PatientListingDentistStatusEnum.HasDentist:\r\n case PatientListingDentistStatusEnum.DentistWaiting:\r\n case PatientListingDentistStatusEnum.EnlistWaiting:\r\n return true;\r\n default:\r\n throw new Error('unknown dentistStatus: ' + state.selectedPatient?.PatientListingStatus?.DentistStatus ?? 'null');\r\n }\r\n }),\r\n showButton: derived((state: BookNowCardState) => {\r\n return state.mode !== BookNowMode.Acute || !state.selectedPatientIsListed;\r\n }),\r\n buttonUrl: derived((state: BookNowCardState) => {\r\n return state.mode === BookNowMode.Acute ? '/akut/' : '/boka-tid/?dtr=booknowcard';\r\n }),\r\n buttonLabel: derived((state: BookNowCardState) => {\r\n return state.mode === BookNowMode.Acute ? 'bookNowCard:acuteButtonLabel' : 'bookNowCard:normalButtonLabel';\r\n }),\r\n}","import {createStateHook, createActionsHook, createEffectsHook} from 'overmind-react';\r\nimport { merge, namespaced } from 'overmind/config';\r\nimport * as actions from './actions';\r\nimport { IContext } from 'overmind';\r\nimport * as common from './common';\r\nimport * as log from './log';\r\nimport * as error from './error';\r\nimport * as page from './page';\r\nimport * as api from './api';\r\nimport * as login from './login';\r\nimport * as mainMenu from './main-menu';\r\nimport * as bookings from './bookings';\r\nimport * as language from './language';\r\nimport * as children from './children';\r\nimport * as clinics from './clinics';\r\nimport * as settings from './settings';\r\nimport * as myClinics from './my-clinics';\r\nimport * as analytics from './analytics';\r\nimport * as modals from './modals';\r\nimport * as referral from './referral';\r\nimport * as inbox from './inbox';\r\nimport * as personalOffers from './personal-offers';\r\nimport * as journal from './journal';\r\nimport * as atb from './atb';\r\nimport * as date from './date';\r\nimport * as health from './health';\r\nimport * as callForm from './call-form';\r\nimport * as listingStatus from './listing-status';\r\nimport * as bookNowCard from './book-now-card';\r\nimport * as cookies from './cookies';\r\n\r\nimport Patient from \"dtv-shared/src/api/my-pages/models/Patient\";\r\nimport {Language} from \"./language/language-state\";\r\n\r\ndeclare global {\r\n interface Window {\r\n bankIdPatient: null | Patient;\r\n dtvLang: Language | null | undefined;\r\n dateNow: string;\r\n jQuery: typeof jQuery;\r\n dtvAppLoaded: boolean; // used outside react to show error-message if app crashes or doesn't load.\r\n logAttempts: number;\r\n childMaxAge: number;\r\n }\r\n}\r\n\r\nexport const config = merge(\r\n {\r\n actions\r\n },\r\n namespaced({\r\n common,\r\n error,\r\n log,\r\n page,\r\n api,\r\n login,\r\n mainMenu,\r\n bookings,\r\n language,\r\n children,\r\n clinics,\r\n settings,\r\n myClinics,\r\n analytics,\r\n modals,\r\n referral,\r\n inbox,\r\n personalOffers,\r\n journal,\r\n atb,\r\n date,\r\n health,\r\n callForm,\r\n listingStatus,\r\n bookNowCard,\r\n cookies,\r\n })\r\n)\r\n\r\nexport type Context = IContext<{\r\n state: typeof config.state;\r\n actions: typeof config.actions;\r\n effects: typeof config.effects;\r\n}>;\r\n\r\nexport const useAppState = createStateHook();\r\nexport const useActions = createActionsHook();\r\nexport const useEffects = createEffectsHook();","import { IConfiguration } from '../'\nimport { SubType } from '../internalTypes'\n\ninterface NamespacedConfiguration {\n [namespace: string]: {\n state?: {}\n effects?: {}\n actions?: {}\n reactions?: {}\n }\n}\n\nfunction parseNamespacedConfig(\n result: { actions: any; effects: any; state: any },\n name: string,\n config: IConfiguration\n) {\n const { actions, effects, state }: IConfiguration = config\n\n if (actions) {\n result.actions[name] = actions\n }\n if (effects) {\n result.effects[name] = effects\n }\n if (state) {\n result.state[name] = state\n }\n}\n\nexport function namespaced(\n namespaces: T\n): {\n state: SubType<{ [P in keyof T]: T[P]['state'] }, object>\n effects: SubType<{ [P in keyof T]: T[P]['effects'] }, object>\n actions: SubType<{ [P in keyof T]: T[P]['actions'] }, object>\n} {\n const result: any = {\n initializers: {},\n actions: {},\n effects: {},\n state: {},\n }\n\n Object.keys(namespaces).forEach((name) => {\n parseNamespacedConfig(result, name, namespaces[name])\n })\n\n return Object.assign({\n actions: result.actions,\n effects: result.effects,\n state: result.state,\n })\n}\n","import {useActions, useAppState} from \"../../overmind\";\r\nimport {DtvButton, DtvButtonColor} from \"dtv-shared/src/components/buttons\";\r\nimport {DtvFormMessage, DtvFormMessageDesignType, DtvFormMessageType} from \"dtv-shared/src/components/form\";\r\nimport {\r\n TestCaseAgeEnum,\r\n TestCaseChildrenEnum,\r\n TestCaseOpusEnum,\r\n TestCaseRevisionsEnum,\r\n TestCaseYesNoEnum\r\n} from \"dtv-shared/src/api/my-pages/login\";\r\n\r\nfunction TestCasesForm() {\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n if (!state.login.testCaseFormOpen) {\r\n return <>;\r\n }\r\n\r\n return
    \r\n

    \r\n
    Testcase:
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {state.login.testCaseAge !== TestCaseAgeEnum.Adult ? <>\r\n
    \r\n
    \r\n \r\n
    \r\n : null}\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {state.login.testCaseAge === TestCaseAgeEnum.Adult || state.login.testCaseAge === TestCaseAgeEnum.Youth ? <>\r\n
    \r\n
    \r\n \r\n
    \r\n : null}\r\n\r\n {state.login.testCaseOpus === TestCaseOpusEnum.OpusD || state.login.testCaseOpus === TestCaseOpusEnum.OpusX || state.login.testCaseOpus === TestCaseOpusEnum.OpusI ? <>\r\n
    \r\n
    \r\n \r\n
    \r\n : null}\r\n\r\n
    \r\n
    \r\n
    \r\n {state.login.testCaseFormIsValid ?\r\n\t\t\t<>\r\n actions.login.testCaseSubmit()}\r\n\t\t\t\t color={DtvButtonColor.Info}\r\n\t\t\t\t block>{state.login.testCaseSubmitting ? 'Loggar in...' : 'Logga in med test case!'}\r\n {\r\n (state.login.testCaseSubmitSuccess?.length ?? 0) > 0 ?\r\n \r\n {state.login.testCaseSubmitSuccess}
    \r\n actions.login.testCaseFinalizeLogin()}>Go\r\n to main menu\r\n
    : null\r\n }\r\n :\r\n \r\n {state.login.testCaseFormValidationErrors.map(err => <>{err}
    )}\r\n
    }\r\n\r\n {state.login.testCaseSubmitError.length > 0 ? \r\n {state.login.testCaseSubmitError}\r\n : null}\r\n
    ;\r\n}\r\n\r\nexport default TestCasesForm;","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport LanguageToggle from '../general/LanguageToggle';\r\nimport {DtvButton, DtvButtonColor, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport TestCasesForm from \"./TestCasesForm\";\r\n\r\n\r\nfunction FormCard() {\r\n const {t} = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n //throw new Error(\"blahblahblah\"); // testing error handler\r\n\r\n\r\n return (\r\n
    \r\n \r\n
    {t('login:title')}
    \r\n
    {t('login:title2')}
    \r\n
    \r\n
    {t('login:checklistTitle')}
    \r\n
      \r\n
    • {t('login:checklistItem1')}
    • \r\n
    • {t('login:checklistItem2')}
    • \r\n
    • {t('login:checklistItem3')}
    • \r\n
    • {t('login:checklistItem4')}
    • \r\n
    • {t('login:checklistItem5')}
    • \r\n
    \r\n
    \r\n
    {t('login:verifyLabel')}
    \r\n
    \r\n actions.login.loginSubmit({openOnThisDevice: true})}>\r\n {t('login:thisDeviceMobileBtnLabel')}\r\n {t('login:thisDeviceDesktopBtnLabel')}\r\n \r\n actions.login.loginSubmit({ openOnThisDevice: false })}>\r\n {t('login:otherDeviceMobileBtnLabel')}\r\n {t('login:otherDeviceDesktopBtnLabel')}\r\n \r\n
    \r\n {state.login.showOpenTestCasesButton ? <>
    actions.login.openTestCasesForm()}>Testcases
    : null}\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default FormCard;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvPreloader, DtvPreloaderWrapper} from \"dtv-shared/src/components/preloader\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize, DtvButtonType} from \"dtv-shared/src/components/buttons\";\r\n\r\nfunction LoginPendingCard() {\r\n const { t } = useTranslation();\r\n const actions = useActions();\r\n const state = useAppState();\r\n return (\r\n
    \r\n {state.login.openOnThisDevice || !state.login.qrCodeDecoded ?\r\n \r\n \r\n \r\n :\r\n
    \r\n }\r\n\r\n {state.login.openOnThisDevice ?\r\n <>\r\n
    {t('login:pendingMainText')}
    \r\n {t('login:pendingButtonLabel')}\r\n
    \r\n actions.login.loginCancel()}>{t('login:pendingCancel')}\r\n
    \r\n \r\n :\r\n <>\r\n
    {t('login:pendingMainTextOtherDevice')}
    \r\n
    {t('login:pendingSubTextOtherDevice')}
    \r\n actions.login.loginCancel()}\r\n size={DtvButtonSize.Small}\r\n outline={DtvButtonOutline.ThinOutline}\r\n cssClasses=\"back-btn\"\r\n >{t('login:pendingBackBtnLabel')}\r\n \r\n }\r\n
    \r\n );\r\n}\r\n\r\nexport default LoginPendingCard;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions} from '../../overmind';\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\n\r\nfunction LoginExpiredCard() {\r\n const { t } = useTranslation();\r\n const actions = useActions();\r\n return (\r\n
    \r\n \r\n
    {t('login:expiredTitle')}
    \r\n
    {t('login:expiredText')}
    \r\n
    \r\n actions.login.loginAgain()}\r\n size={DtvButtonSize.Small}\r\n outline={DtvButtonOutline.ThinOutline}\r\n cssClasses=\"login-again-btn\">{t('login:expiredButtonLabel')}\r\n
    \r\n
    \r\n actions.login.loginAgain()}>{t('login:pendingCancel')}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LoginExpiredCard;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {useActions} from '../../overmind';\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\n\r\nfunction LoggedOutDueToInactivityCard() {\r\n const { t } = useTranslation();\r\n const actions = useActions();\r\n return (\r\n
    \r\n \r\n
    {t('login:loggedOutDueToInactivityTitle')}
    \r\n
    {t('login:loggedOutDueToInactivityText')}
    \r\n
    \r\n actions.login.loginAgain()}\r\n size={DtvButtonSize.Small}\r\n outline={DtvButtonOutline.ThinOutline}\r\n cssClasses=\"login-again-btn\">{t('login:loggedOutDueToInactivityButtonLabel')}\r\n
    \r\n
    \r\n actions.login.loginAgain()}>{t('login:pendingCancel')}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default LoggedOutDueToInactivityCard;\r\n","import * as React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport FormCard from './FormCard';\r\nimport {useAppState} from '../../overmind';\r\nimport LoginPendingCard from './LoginPendingCard';\r\nimport LoginExpiredCard from \"./LoginExpiredCard\";\r\nimport LoggedOutDueToInactivityCard from './LoggedOutDueToInactivityCard';\r\nimport {LoginPageStatus} from \"../../overmind/login/login-state\";\r\n\r\nfunction LoginCard() {\r\n const state = useAppState();\r\n\r\n if (state.login.status === LoginPageStatus.Polling || state.login.status === LoginPageStatus.Starting) {\r\n return ;\r\n }\r\n if (state.login.status === LoginPageStatus.PollExpired || state.login.status === LoginPageStatus.Error) {\r\n return ;\r\n }\r\n if (state.login.status === LoginPageStatus.LoggedOutDueToInactivity) {\r\n return ;\r\n }\r\n\r\n return ;\r\n}\r\n\r\nfunction LoginPage() {\r\n const { t } = useTranslation();\r\n const state = useAppState();\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default LoginPage;\r\n","import * as React from 'react';\r\nimport {useAppState} from \"../overmind\";\r\nimport {pageUrls} from \"../page-urls\";\r\n\r\nfunction CurrentPage() {\r\n const state = useAppState();\r\n\r\n if (state.page.current === null || typeof pageUrls[state.page.current!] !== 'object') {\r\n return (
    Ett oväntat fel har hänt. Felkod: {state.page.current ?? 'null'}
    );\r\n }\r\n const PageComponent = pageUrls[state.page.current!].getPageComponent();\r\n if (PageComponent === null) {\r\n return null;\r\n }\r\n return ;\r\n}\r\n\r\nexport default CurrentPage;\r\n","import * as React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { DtvPreloader, DtvPreloaderWrapper, DtvPreloaderCaption } from \"dtv-shared/src/components/preloader\"\r\n\r\nfunction LoginCheckingGrandIDSession() {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n {t('login:checkGrandIDSession')}\r\n \r\n )\r\n}\r\n\r\nexport default LoginCheckingGrandIDSession;\r\n","import React from \"react\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport {DtvButton, DtvButtonOutline, DtvButtonSize} from \"dtv-shared/src/components/buttons\";\r\nimport {useActions, useAppState} from '../../overmind';\r\nimport {DtvIcon, DtvIconName} from \"dtv-shared/src/components/icons\";\r\n\r\nfunction ErrorPage() {\r\n const {t} = useTranslation();\r\n const actions = useActions();\r\n const state = useAppState();\r\n return (\r\n
    \r\n
    \r\n \r\n
    {t('error:errorPageText')}
    \r\n
    {t('error:errorPageSubText')}
    \r\n actions.error.reloadPage()}>{\r\n t(state.error.reloadingPage? 'error:reloadingPageBtn' : 'error:reloadPageBtn')\r\n }\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ErrorPage;","/*\r\nhttps://reactjs.org/docs/error-boundaries.html\r\n\r\nNOTE: error boundary have to be a class-component but class components cannot use react hooks so thats why they are passed down as props.\r\n */\r\n\r\nimport React, {ErrorInfo} from 'react';\r\nimport {ErrorState} from \"../../overmind/error/error-state\";\r\nimport {Context} from '../../overmind';\r\nimport ErrorPage from \"./ErrorPage\";\r\n\r\ntype Props = {\r\n children: React.ReactNode;\r\n errorActions: Context[\"actions\"][\"error\"]\r\n errorState: ErrorState;\r\n}\r\n\r\nclass ErrorBoundary extends React.Component {\r\n componentDidCatch(error: Error, info: ErrorInfo) {\r\n this.setState(null); // this is just to supress a warning. https://github.com/reactjs/reactjs.org/issues/3028\r\n console.log('error-boundary: ', error);\r\n this.props.errorActions.setError({error, errorInfo: info});\r\n }\r\n\r\n render() {\r\n if (this.props.errorState.error !== null) {\r\n return ;\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;","import * as React from 'react';\r\nimport {useActions, useAppState} from \"../../overmind\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport DtvMessagePopup from \"dtv-shared/src/components/modals/DtvMessagePopup\";\r\n\r\nfunction GeneralModal() {\r\n const state = useAppState();\r\n const actions = useActions();\r\n const { t } = useTranslation();\r\n\r\n if (state.modals.modal === null) {\r\n return null;\r\n }\r\n\r\n return actions.modals.closeModal()}\r\n title={t(state.modals.modal.title)}\r\n text={t(state.modals.modal.text, {phoneArea: state.common.phoneArea})}\r\n closeButtonText={t('general:close')}\r\n style={state.modals.modal.style}/>;\r\n}\r\n\r\nexport default GeneralModal;\r\n","import { useTranslation } from \"react-i18next\";\r\nimport { useActions, useAppState } from \"../../overmind\";\r\nimport {LoginPageStatus} from \"../../overmind/login/login-state\";\r\nimport { DtvButton, DtvButtonOutline, DtvButtonSize } from 'dtv-shared/src/components/buttons';\r\nimport {Pages} from \"../../page-urls\";\r\n\r\nfunction LogOutButton() {\r\n const {t} = useTranslation();\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n if (!state.login.loggedIn) {\r\n return null;\r\n }\r\n\r\n if (state.page.current === Pages.Front && state.mainMenu.loading) {\r\n return null;\r\n }\r\n\r\n if (state.page.current === Pages.Children && state.children.loading) {\r\n return null;\r\n }\r\n\r\n if (state.page.current === Pages.Bookings && state.bookings.loading) {\r\n return null;\r\n }\r\n\r\n if (state.page.current === Pages.MyClinics && state.myClinics.loading) {\r\n return null;\r\n }\r\n\r\n if (state.page.current === Pages.Referral && state.referral.loading) {\r\n return null;\r\n }\r\n\r\n if (state.page.current === Pages.Settings && state.settings.loading) {\r\n return null;\r\n }\r\n\r\n if (state.login.status === LoginPageStatus.CheckingGrandIDSession) {\r\n return null;\r\n }\r\n\r\n return (\r\n actions.login.logout()}>{t(state.login.status === LoginPageStatus.LoggingOut ? 'login:loggingOut' : 'login:logout')}\r\n \r\n );\r\n}\r\n\r\nexport default LogOutButton;","import React from 'react';\r\nimport {useActions, useAppState} from '../overmind';\r\nimport LoginPage from './login/LoginPage';\r\nimport CurrentPage from './CurrentPage';\r\nimport LoginCheckingGrandIDSession from \"./login/LoginCheckingGrandIDSession\";\r\nimport {LoginPageStatus} from \"../overmind/login/login-state\";\r\nimport ErrorBoundary from \"./error/ErrorBoundary\";\r\nimport GeneralModal from \"./general/GeneralModal\";\r\nimport LogOutButton from \"./login/LogOutButton\";\r\n\r\nfunction MyPagesApp() {\r\n const state = useAppState();\r\n const actions = useActions();\r\n\r\n let component: JSX.Element;\r\n\r\n if (state.login.status === LoginPageStatus.CheckingGrandIDSession) {\r\n component = ;\r\n } else if (!state.login.loggedIn) {\r\n component = ;\r\n } else {\r\n component = ;\r\n }\r\n\r\n const pageClass = 'page-'+state.page.current?.toLowerCase() ?? '';\r\n\r\n return \r\n
    \r\n {component}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    v{process.env.REACT_APP_VERSION}
    \r\n
    \r\n
    \r\n
    ;\r\n}\r\n\r\nexport default MyPagesApp;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport 'reflect-metadata';\r\nimport { createOvermind } from 'overmind';\r\nimport { Provider } from 'overmind-react';\r\nimport MyPagesApp from './components/MyPagesApp';\r\nimport { config } from './overmind';\r\nimport './translations/i18n';\r\nimport {UnexpectedLogoutError} from \"./overmind/login/login-state\";\r\nimport dayjs from \"dayjs\";\r\nimport localizedFormat from \"dayjs/plugin/localizedFormat\";\r\nimport isoWeek from \"dayjs/plugin/isoWeek\";\r\nimport utc from \"dayjs/plugin/utc\";\r\nimport timezone from \"dayjs/plugin/timezone\";\r\n\r\ndayjs.extend(localizedFormat);\r\ndayjs.extend(isoWeek);\r\ndayjs.extend(utc);\r\ndayjs.extend(timezone);\r\ndayjs.tz.setDefault(\"Europe/Stockholm\");\r\n\r\nexport const overmind = createOvermind(config, {\r\n devtools: process.env.REACT_APP_OVERMIND_DEVTOOLS === 'true',\r\n});\r\n\r\nwindow.onerror = (msg, url, line, col, error) => {\r\n console.log('on error', {msg, url, line, col, error});\r\n overmind.actions.error.setError({error: typeof error === 'undefined' ? new Error(typeof msg === 'string' ? msg : msg.type) : error, errorInfo: null});\r\n};\r\n\r\nwindow.onunhandledrejection = (e: PromiseRejectionEvent) => {\r\n console.log('onunhandledrejection', e);\r\n console.error(e);\r\n if (e?.reason === UnexpectedLogoutError) { // ignore.. this is just thrown to interrupt the flow when user is logged out,.\r\n return;\r\n }\r\n overmind.actions.error.setError({error: new Error(e.reason.stack), errorInfo: null});\r\n}\r\n\r\nconst $body = jQuery('body');\r\nwindow.dtvPreventModalBackgroundScroll = () => {\r\n setTimeout(() => {\r\n const $modalsOpen = jQuery('.info-layer.layer-open');\r\n if ($modalsOpen.length > 0) {\r\n $body.addClass('noScroll');\r\n } else {\r\n $body.removeClass('noScroll');\r\n }\r\n }, 200);\r\n};\r\n\r\nsetInterval(() => {\r\n if ($body.hasClass('noScroll')) {\r\n window.dtvPreventModalBackgroundScroll();\r\n }\r\n}, 1000);\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('my-pages-client-root')\r\n);\r\n\r\nwindow.dtvAppLoaded = true;\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\n//reportWebVitals();\r\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","factory","self","__WEBPACK_EXTERNAL_MODULE_jspdf__","__WEBPACK_EXTERNAL_MODULE_html2canvas__","__webpack_modules__","__unused_webpack_module","__webpack_exports__","__webpack_require__","_worker_js__WEBPACK_IMPORTED_MODULE_2__","_utils_js__WEBPACK_IMPORTED_MODULE_3__","linkInfo","orig","toContainer","default","toPdf","opt","enableLinks","prop","links","querySelectorAll","containerRect","unitConvert","pageSize","k","page","inner","pdf","setPage","nPages","internal","getNumberOfPages","jspdf__WEBPACK_IMPORTED_MODULE_7__","_typeof","obj","jsPDF","getPageSize","orientation","format_as_string","pageFormats","pageHeight","pageWidth","err","_worker_js__WEBPACK_IMPORTED_MODULE_5__","_utils_js__WEBPACK_IMPORTED_MODULE_6__","template","pagebreak","mode","avoid","pxPageHeight","px","modeSrc","avoidAll","legacy","select","legacyEls","els","el","rules","breakOpt","breakBefore","pageBreakBefore","breakAfter","pageBreakAfter","breakInside","pageBreakInside","startPage","endPage","bottom","pad","objType","toPx","Number","Function","scripts","getElementsByTagName","javascriptEnabled","nodeValue","newObj","val","jspdf__WEBPACK_IMPORTED_MODULE_8__","html2canvas__WEBPACK_IMPORTED_MODULE_9__","_utils_js__WEBPACK_IMPORTED_MODULE_10__","es6_promise__WEBPACK_IMPORTED_MODULE_11__","es6_promise__WEBPACK_IMPORTED_MODULE_11___default","Worker","convert","JSON","stringify","setProgress","set","promise","inherit","overlay","progress","state","filename","quality","getType","toCanvas","toImg","thenList","setPageSize","overlayCSS","right","containerCSS","source","prereqs","onrendered","imgData","pxFullHeight","ratio","pageCanvas","pageCtx","addPage","output","outputImg","outputPdf","fns","setMargin","bind","cbk","updateProgress","onFulfilled","onRejected","thenCore","thenBase","selfPromise","returnVal","thenExternal","fn","catchExternal","msg","using","saveAs","export","run","module","exports","it","__unused_webpack_exports","isObject","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","configurable","$forEach","STRICT_METHOD","arrayMethodIsStrict","callbackfn","toIndexedObject","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","O","includes","IndexedObject","toObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","findIndex","filterReject","fails","V8_VERSION","SPECIES","METHOD_NAME","array","foo","Boolean","argument","method","originalArray","C","arraySpeciesConstructor","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","ownKeys","getOwnPropertyDescriptorModule","getOwnPropertyDescriptor","getPrototypeOf","requireObjectCoercible","quot","attribute","S","IteratorPrototype","createPropertyDescriptor","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","DESCRIPTORS","object","bitmap","enumerable","writable","toPropertyKey","propertyKey","$","createIteratorConstructor","createNonEnumerableProperty","redefine","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","Iterable","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","proto","forced","wrappedWellKnownSymbolModule","global","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","getBuiltIn","version","process","Deno","versions","v8","split","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","noTargetGet","sham","exec","aFunction","namespace","variable","check","globalThis","hasOwn","classof","propertyIsEnumerable","dummy","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","replacement","feature","detection","normalize","POLYFILL","NATIVE","USE_SYMBOL_AS_UID","$Symbol","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","getOwnPropertySymbols","symbol","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","B","alphabet","chr","argumentsLength","j","activeXDocument","anObject","defineProperties","enumBugKeys","html","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObject","ActiveXObject","domain","iframeDocument","JS","NullProtoObjectViaIFrame","Properties","IE8_DOM_DEFINE","$defineProperty","Attributes","$getOwnPropertyDescriptor","$getOwnPropertyNames","windowNames","getOwnPropertyNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","setter","CORRECT_SETTER","pref","valueOf","getOwnPropertyNamesModule","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","ignoreCase","multiline","dotAll","unicode","sticky","TAG","uid","SHARED","copyright","toInteger","CONVERT_TO_STRING","pos","charAt","codeAt","whitespace","ltrim","RegExp","rtrim","isNaN","isSymbol","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","random","NATIVE_SYMBOL","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","addToUnscopables","defineIterator","ARRAY_ITERATOR","setInternalState","iterated","kind","Arguments","nativeJoin","ES3_STRINGS","$map","HAS_SPECIES_SUPPORT","nativeSlice","Constructor","fin","FunctionPrototype","FunctionPrototypeToString","nameRE","inheritIfRequired","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","radix","maxCode","code","NaN","NumberWrapper","nativeKeys","$toString","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","rf","STRING_ITERATOR","createHTML","forcedStringHTMLMethod","NativeSymbol","description","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","regexp","desc","defineWellKnownSymbol","nativeObjectCreate","getOwnPropertyNamesExternal","HIDDEN","SYMBOL","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","wrap","$defineProperties","properties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","replacer","space","$replacer","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","objectOrFunction","isFunction","vertxNext","customSchedulerFn","asap","callback","queue","flush","scheduleFlush","setScheduler","scheduleFn","setAsap","asapFn","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useNextTick","nextTick","useVertxTimer","useSetTimeout","useMutationObserver","iterations","observer","observe","characterData","useMessageChannel","channel","port1","onmessage","port2","postMessage","globalSetTimeout","attemptVertx","vertx","require","runOnLoop","runOnContext","onFulfillment","onRejection","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve$1","PENDING","FULFILLED","REJECTED","selfFulfillment","cannotReturnOwn","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","sealed","fulfill","reason","_label","handleOwnThenable","handleMaybeThenable","maybeThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","hasCallback","succeeded","initializePromise","nextId","validationError","Enumerator","_instanceConstructor","_remaining","_enumerate","_eachEntry","resolve$$1","_then","didError","_settledAt","Promise$1","_willSettleAt","enumerator","race","reject$1","needsResolver","needsNew","finally","polyfill","local","promiseToString","cast","_setScheduler","_setAsap","_asap","__webpack_module_cache__","moduleId","cachedModule","getter","__esModule","definition","o","toStringTag","_worker_js__WEBPACK_IMPORTED_MODULE_0__","html2pdf","worker","u8","u16","i32","Int32Array","fleb","fdeb","clim","freb","eb","fl","revfl","fd","revfd","rev","hMap","mb","co","le","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","ec","ind","nt","captureStackTrace","inflt","dat","st","buf","dict","sl","dl","noBuf","resize","noSt","cbuf","bl","nbuf","final","bt","lm","dm","lbt","dbt","tbts","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","lt","dt","lms","dms","lpos","dsym","dend","wbits","wbits16","hTree","et","sort","i0","i1","i2","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","lc","cl","cli","cln","cls","clen","cf","wfblk","out","wblk","syms","lf","df","li","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","ll","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","dflt","lvl","plvl","pre","post","lst","msk_1","head","bs1_1","bs2_1","hsh","lc_1","wi","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","ml","nl","mmd","md","ti","lin","din","adler","dopt","dictionary","newDat","level","mem","log","wbytes","zlh","lv","zls","zlibSync","unzlibSync","td","TextDecoder","stream","queueMicrotask","dispatchEvent","MouseEvent","createEvent","initMouseEvent","HTMLAnchorElement","URL","webkitURL","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","title","innerText","HTMLElement","safari","onloadend","ok","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","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","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","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","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","re","example","toRGB","toHex","atob","btoa","N","print","modify","copy","I","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","unsubscribe","message","getTopics","objectNumber","gState","coords","colors","M","boundingBox","xStep","yStep","cloneIndex","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","precision","floatPrecision","defaultPathOperation","filters","putOnlyUsedFonts","__private__","PubSub","getPdfVersion","setPdfVersion","a0","a5","a6","a7","a8","a9","a10","b0","b3","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","saveGraphicsState","Vt","Rr","setFontSize","getFontSize","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","q","D","roundToPrecision","toFixed","hpf","f2","f3","H","setPrecision","W","G","getFileId","Y","setFileId","Ye","J","convertDateToPDFDate","getTimezoneOffset","Q","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","X","convertPDFDateToDate","K","setCreationDate","getCreationDate","padd2","tt","padd2Hex","rt","at","ot","ct","setCustomOutputDestination","ht","resetCustomOutputDestination","ft","getArrayBuffer","pt","getStandardFonts","gt","mt","vt","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","Bt","Mt","Et","qt","Dt","Rt","Tt","Ut","hotfixes","zt","Ht","Wt","_matrix","shx","sx","decompose","sy","shy","tx","ty","multiply","rotate","skew","inversed","applyToPoint","Cr","applyToRectangle","jr","Matrix","Gt","matrixMult","Yt","unitMatrix","identityMatrix","Jt","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","Xt","newObject","Kt","Zt","newObjectDeferred","$t","newAdditionalObject","objId","Qt","te","ee","decodeColorString","parseFloat","encodeColorString","ch1","ch2","ch3","ch4","pdfColorType","ne","getFilters","ie","putStream","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","ae","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","oe","putPages","se","isAlreadyPutted","postScriptName","encoding","ue","pages","fe","de","resourcesOid","objectOid","ge","Ae","ye","we","Ne","Le","ve","xe","ce","me","he","pe","fontName","Pe","isStandardFont","instance","Ce","pdfEscape","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","Fe","je","beginPage","Me","Oe","pr","fr","Lr","kr","Ir","Be","Ee","qe","disableWarning","noFallback","times","normal","De","putInfo","Re","putCatalog","Te","putTrailer","oid","Ue","putHeader","ze","putXRef","He","buildDocument","Se","toHexString","We","getBlob","Ve","unescape","pdfObjectUrl","pdfJsUrl","querySelector","PDFViewerApplication","alert","bar","Ge","Xe","getPageInfo","Ke","getPageInfoByObjId","Ze","getCurrentPageInfo","insertPage","movePage","deletePage","scope","align","lineHeightFactor","lr","scaleFactor","TabLen","maxWidth","splitTextToSize","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","setCharSpace","getCharSpace","horizontalScale","lang","renderingMode","usedRenderingMode","getWidth","getStringUnitWidth","doKerning","br","yr","ut","xr","$e","clipEvenOdd","discardPath","Qe","isValidStyle","setDefaultPathOperation","getStyle","er","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","nr","ir","or","setGState","sr","cr","ur","curveTo","lines","triangle","roundedRect","SQRT2","ellipse","circle","setFont","hr","getFont","getFontList","addFont","dr","getLineWidth","setLineWidth","setLineDashPattern","gr","getLineHeight","mr","setLineHeightFactor","vr","getLineHeightFactor","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","strokeColor","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Ar","fillColor","getFillColor","setFillColor","textColor","Sr","getTextColor","setTextColor","Pr","CapJoinStyles","butt","but","miter","rounded","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","equals","addGState","setCurrentTransformationMatrix","comment","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Er","beginFormObject","endFormObject","Mr","doFormObject","getFormObject","returnPromise","unload","events","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","setWidth","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","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","annotations","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","_scope","Ff","FT","getOptions","setOptions","addOption","removeOption","combo","edit","CA","pushButton","radio","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","CheckBox","isInteger","password","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x2","x4","x3","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","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","byteLength","validateStringAsBase64","extractImageFromDataUrl","mimeType","charset","supportsArrayBuffer","isArrayBuffer","isArrayBufferView","Int8Array","Int16Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","imageData","compression","rotation","convertBase64ToBinaryString","getImageProperties","fileType","contents","_nameMap","finalBounds","magFactor","zoom","createAnnotation","textWithLink","getTextWidth","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","context2d","_canvas","__cell__","headerFunction","margins","lastCell","lineNumber","toArray","setHeaderFunction","getTextDimensions","cellAddPage","cell","tableHeaderRow","printHeaders","printHeaderRow","table","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","setTableHeaderRow","rowStart","row","cellStart","col","table_x","table_y","italic","oblique","family","weight","stretch","ref","fixed","monospace","terminal","cursive","fantasy","serif","icon","menu","trimLeft","isStrokeTransparent","strokeOpacity","isFillTransparent","fillOpacity","globalCompositeOperation","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","fontFaces","defaultFontFamily","genericFontFamilies","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","quadraticCurveTo","y2","isIdentity","radius","startAngle","endAngle","counterclockwise","arcTo","strokeRect","clearRect","ctxStack","isCanvasGradient","getColor","scaleX","setTransform","autoPaging","posY","posX","begin","deltas","colorStops","y3","y4","prevLineDash","overrideMimeType","responseText","loadImageFile","DOMPurify","dompurify","sanitize","clear","toContext2d","async","doCallback","outline","children","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","animation","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","xOffset","yOffset","readUInt16","delay","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","decodeFrames","createImageData","renderFrame","animate","_timeout","stopAnimation","clearTimeout","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","encode","displayName","datav","DataView","is_with_alpha","bottom_up","flag","parseHeader","parseBGR","jc","Qb","qb","nd","pd","Ca","Ka","oa","pa","Jd","Yc","Zc","Sb","Ra","bb","Ur","zr","Hr","Mb","Xa","ud","hd","jd","Ea","Hn","Wn","Vn","Gn","fb","ea","Tc","Ed","Cd","Fd","lb","Db","Ab","fa","Rd","RGBA","kb","sd","Pd","Qd","Id","Md","hb","ib","da","bd","Da","Sd","ob","ba","ka","vi","cc","dc","Mc","Nc","fc","Rc","Tn","Kb","Sn","An","ma","qn","Rn","Un","memory","Ib","Jb","Nd","Oa","Ci","ji","Si","Mi","Bi","Oi","Pi","ki","Ei","qi","Dc","$n","xc","vc","Wb","Ya","Ta","Ua","gc","nc","hc","Gr","Wr","Vr","Zr","$r","Yr","Ba","va","ca","Ma","En","Qr","tn","Dn","nn","en","xn","zn","rn","ua","qd","rd","mi","tb","Xr","Pb","Wa","wc","wd","xd","vb","yc","xb","gi","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Oc","Qn","Xn","Zn","Jn","Yn","Kn","pi","_n","ub","yd","Rb","Kd","Ld","Ud","Td","Fb","Bb","Cb","Zb","Lb","Yb","jb","Wc","Xc","Pc","wb","Tb","zd","vd","od","ld","La","dd","tc","Na","la","Sc","Eb","Qc","ia","ad","Za","Ob","$b","Ad","Gc","Hc","Dd","uc","Nb","wa","ya","aa","cb","sc","Od","Kc","ed","Qa","Ic","$c","Aa","Xb","Va","Hb","zb","yb","Ub","za","Jc","pb","Pa","Bd","kc","Ac","Bc","zc","Gd","Hd","rb","sb","oc","pc","sa","ta","qa","ra","Ha","Ia","Ec","ja","Vb","Fc","gd","ga","Fa","Cc","qc","Gb","Uc","nb","rc","Ga","Vc","put","ac","ha","ni","ei","ri","ui","si","hi","ii","ai","Ri","Ui","Vd","Cn","Pn","kn","In","Fn","an","on","cn","un","hn","sn","Je","dn","pn","gn","mn","vn","bn","yn","wn","Nn","Ln","fi","ke","Ie","be","di","ci","oi","Bn","jn","Mn","kd","na","xa","gb","Ja","Sa","Lc","$a","ic","mc","bi","yi","Ni","Li","Ai","xi","Fi","Ii","Di","zi","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","Ti","WebPDecodeRGBA","src_off","src_size","header","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","getData","processBMP","processWEBP","processRGBA","setLanguage","languageSettings","isSubscribed","af","sq","hy","as","ast","az","eu","bg","my","ch","zh","cv","cs","eo","fo","fj","fy","fur","gu","hu","is","iu","ks","kk","km","ky","ko","mk","ms","mo","nv","ng","no","om","pl","qu","rm","ro","ru","sz","sg","sk","so","es","sw","th","tig","ts","tk","uk","hsb","vo","xh","zu","languageCode","getCharWidthsArray","widths","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","defaultValue","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","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","os2","loca","glyf","exists","lineGap","xMin","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","raw","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","old","new","charMap","subtable","maxGlyphID","LN2","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","offsets","numGlyphs","languageID","nameID","strings","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","metrics","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","isString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","weekdays","months","ordinal","utcOffset","date","year","month","locale","$L","utc","$u","$x","$offset","$d","UTC","init","$y","$M","$D","$W","getDay","$H","$m","$s","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","toDate","$locale","weekStart","$set","daysInMonth","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","diff","toJSON","toISOString","toUTCString","extend","$i","isDayjs","Ls","yearStart","formats","LTS","LL","LLL","LLLL","lll","llll","relativeTime","future","past","mm","hh","MM","yy","years","days","hours","minutes","seconds","milliseconds","weeks","$l","negative","parseFromMilliseconds","calMilliseconds","YY","YYYY","DD","HH","ss","SSS","humanize","fromNow","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","isDuration","isoWeekday","isoWeekYear","isoWeek","day","hour","minute","timeZoneName","DateTimeFormat","hour12","timeZone","formatToParts","tz","toLocaleString","$timezone","offsetName","guess","resolvedOptions","setDefault","getUTCDay","getUTCMilliseconds","$localOffset","isUTC","isarray","arr","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","res","escaped","capture","group","asterisk","optional","delimiter","escapeGroup","matches","escapeString","attachKeys","sensitive","regexpToRegexp","groups","arrayToRegexp","parts","stringToRegexp","strict","route","lastToken","endsWithSlash","hasDocument","hasWindow","hasHistory","history","hasProcess","clickEvent","ontouchstart","isLocation","Page","callbacks","exits","_decodeURLComponents","_base","_strict","_running","_hashbang","clickHandler","_onpopstate","createPage","pageInstance","pageFn","base","show","back","redirect","dispatch","exit","configure","sameOrigin","Route","middleware","unhandled","handled","_window","_getBase","hash","pathname","search","canonicalPath","escapeRegExp","_page","hashbang","pageBase","querystring","_decodeURLEncodedURIComponent","params","globalPage","decodeURLComponents","_popstate","popstate","_click","click","removeEventListener","loc","enable","prevContext","pushState","inst","nextExit","nextEnter","_which","metaKey","ctrlKey","shiftKey","defaultPrevented","eventPath","composedPath","_samePath","preventDefault","loaded","event","which","button","_toURL","anc","decodeURIComponent","replaceState","routePath","qsIndex","page_js","default_1","Set","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","removeAttribute","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","for","prepareStackTrace","Reflect","construct","$$typeof","_payload","_init","_valueTracker","getValue","setValue","stopTracking","activeElement","defaultChecked","_wrapperState","initialChecked","controlled","db","selected","defaultSelected","disabled","dangerouslySetInnerHTML","namespaceURI","MSApp","execUnsafeLocalFunction","lastChild","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","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeWidth","menuitem","area","embed","keygen","meta","param","track","wbr","srcElement","correspondingUseElement","stateNode","onError","alternate","return","memoizedState","dehydrated","sibling","unstable_scheduleCallback","unstable_cancelCallback","unstable_shouldYield","unstable_requestPaint","unstable_now","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","unstable_UserBlockingPriority","unstable_NormalPriority","unstable_LowPriority","unstable_IdlePriority","clz32","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","eventTimes","Map","delete","pointerId","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","priority","isDehydrated","containerInfo","ReactCurrentBatchConfig","transition","stopPropagation","keyCode","charCode","_reactName","_targetInst","currentTarget","isDefaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","eventPhase","bubbles","cancelable","timeStamp","isTrusted","screenX","screenY","clientX","clientY","pageX","pageY","altKey","getModifierState","buttons","relatedTarget","fromElement","toElement","movementX","movementY","dataTransfer","animationName","elapsedTime","pseudoElement","clipboardData","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Alt","Meta","Shift","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","touches","targetTouches","changedTouches","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","documentMode","datetime","email","tel","week","listeners","oninput","detachEvent","attachEvent","compareDocumentPosition","HTMLIFrameElement","contentEditable","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","removeAllRanges","addRange","focus","animationend","animationiteration","animationstart","transitionend","bf","ef","ff","gf","hf","mf","nf","listener","of","pf","qf","sf","passive","tf","uf","vf","wf","char","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Gf","Hf","Jf","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","og","pg","qg","rg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_owner","_stringRef","refs","Mg","Ng","Og","Pg","Qg","props","Rg","implementation","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","ah","_currentValue","bh","childLanes","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","pending","lh","mh","eventTime","lane","payload","nh","oh","ph","qh","rh","sh","uh","vh","wh","yh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","Xh","Yh","Zh","$h","getSnapshot","lastEffect","stores","deps","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","defaultProps","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","shouldComponentUpdate","isPureReactComponent","Gi","contextType","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","digest","Ki","Qi","getDerivedStateFromError","componentDidCatch","componentStack","pingCache","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","aj","compare","bj","cj","dj","baseLanes","cachePool","transitions","ej","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","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","autoFocus","Gj","Hj","Ij","Jj","Kj","WeakSet","Lj","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","_reactRootContainer","Wj","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","ck","dk","ek","isHidden","fk","gk","hk","ik","jk","__reactInternalSnapshotBeforeUpdate","Vk","lk","nk","pk","qk","rk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Oj","onCommitFiberRoot","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","pendingSuspenseBoundaries","hl","il","yj","Zk","kl","reportError","_internalRoot","ol","rl","ql","unmount","unstable_scheduleHydration","form","usingClientEntryPoint","Events","findFiberByHostInstance","bundleType","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","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","Fragment","jsx","jsxs","setState","forceUpdate","escape","_status","Children","only","Component","Profiler","PureComponent","StrictMode","Suspense","act","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","exporter","makeExporter","supportsSymbol","toPrimitiveSymbol","iteratorSymbol","supportsCreate","supportsProto","downLevel","HashMap","MakeDictionary","functionPrototype","usePolyfill","_Map","CreateMapPolyfill","_Set","CreateSetPolyfill","Metadata","CreateWeakMapPolyfill","decorate","decorators","attributes","IsUndefined","IsArray","IsConstructor","DecorateConstructor","IsObject","IsNull","DecorateProperty","ToPropertyKey","metadataKey","metadataValue","decorator","IsPropertyKey","OrdinaryDefineOwnMetadata","defineMetadata","hasMetadata","OrdinaryHasMetadata","hasOwnMetadata","OrdinaryHasOwnMetadata","getMetadata","OrdinaryGetMetadata","getOwnMetadata","OrdinaryGetOwnMetadata","getMetadataKeys","OrdinaryMetadataKeys","getOwnMetadataKeys","OrdinaryOwnMetadataKeys","deleteMetadata","metadataMap","GetOrCreateMetadataMap","targetMetadata","decorated","Create","MetadataKey","OrdinaryGetPrototypeOf","ToBoolean","MetadataValue","parentKeys","ownKeys_1","parentKeys_1","GetIterator","IteratorStep","nextValue","IteratorValue","IteratorClose","Type","IsSymbol","ToPrimitive","PreferredType","hint","GetMethod","OrdinaryToPrimitive","toString_1","IsCallable","toString_2","ToString","func","iterResult","prototypeProto","cacheSentinel","arraySentinel","MapIterator","selector","_index","_keys","_values","_selector","throw","_cacheKey","_cacheIndex","_find","getKey","getEntry","insert","_map","UUID_SIZE","rootKey","CreateUniqueKey","_key","GetOrCreateWeakMapTable","CreateUUID","FillRandomBytes","GenRandomBytes","crypto","getRandomValues","msCrypto","byte","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","leafPrototypes","getProto","ns","def","chunkId","promises","miniCssF","inProgress","dataWebpackPrefix","script","needAttach","onScriptComplete","doneFns","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","ENVIRONMENT","env","IS_PROXY","PATH","VALUE","PROXY_TREE","arrayMutations","proxyOrValue","isClass","isExtensible","shouldProxy","Proxifier","CACHED_PROXY","master","ssr","ensureMutationTrackingIsEnabled","devmode","canMutate","isDefaultProxifier","proxifier","ensureValueDosntExistInStateTreeElsewhere","trackPath","canTrack","trackStateTree","currentTree","addTrackingPath","getTrackingTree","getMutationTree","mutationTree","isProxyCached","createArrayProxy","Proxy","searchTerm","trackingTree","nestedPath","trackPathListeners","_len","addMutation","hasChangedValue","proxify","createObjectProxy","onGetter","targetValue","onGetFunction","objectChangePath","existingValue","onSetFunction","deleteProperty","isPlainObject","MutationTree","mutationCallbacks","mutations","objectChanges","isTracking","isBlocking","sourceState","trackPaths","getMutations","getObjectChanges","mutation","currentFlushId","isAsync","onMutation","blockMutations","enableMutations","TrackStateTree","pathDependencies","shouldTrack","addPathDependency","changeTrackStateTree","clearTracking","removePathDependency","trackScope","previousPreviousTree","previousTree","previousCurrentTree","ProxyStateTree","flushCallbacks","createTrackStateProxifier","getTrackStateTree","getTrackStateTreeWithProxifier","disposeTree","forceFlush","emptyMutations","emptyPaths","trees","changes","aggr","flushId","pathCallbacksToCall","objectChange","sortedPaths","onFlush","rescope","EventType","IS_DERIVED","IS_DERIVED_CONSTRUCTOR","Derived","isDirty","updateCount","boundEvaluate","evaluate","runScope","curr","eventHub","proxyStateTree","disposeOnMutation","mutationPath","emitAsync","DERIVED_DIRTY","derivedPath","previousProxifier","getPaths","_defineProperty","_objectSpread2","getOwnPropertyDescriptors","EventEmitter","emit","once","addListener","rehydrateState","classes","classInstance","subKey","SERIALIZE","rehydrate","pathArray","Devtools","logLevel","safeClassNames","unsafeClassNames","circularReferenceCache","serializer","isConnected","doReconnect","hasWarnedReconnect","reconnectInterval","connect","host","onMessage","ws","WebSocket","appName","onopen","flushBuffer","onclose","reconnect","sendMessage","__CLASS__","_unused","hasWarnedConstructor","currentEffectId","ORIGIN_TARGET","proxifyEffects","agumentsList","effectId","Target","IS_DISPOSED","TRANSITION_LISTENERS","createOnInitialize","_ref","actions","initializers","getActionsByName","initialize","IS_TEST","IS_OPERATOR","ORIGINAL_ACTIONS","EXECUTION","MODE_DEFAULT","MODE_TEST","MODE_SSR","MockedEventEmitter","isPromise","maybePromise","processState","originalDescriptor","getChangeMutations","stateA","stateB","stateAKeys","stateBKeys","currentPath","getActionPaths","createActionsProxy","hotReloadingCache","Overmind","utils","actionReferences","nextExecutionId","reydrateMutationsForHotReloading","isStrict","reaction","stateCallback","updateCallback","disposer","nested","addFlushListener","startsWith","proxyStateTreeInstance","updateReaction","immediate","addMutationListener","devEnv","hotReloading","reconfigure","createProxyStateTree","originalConfiguration","getActions","warning","logProxies","originalConsoleLog","devtools","initializeDevtools","devtoolsLogLevel","internalTypes","OPERATOR_ASYNC","execution","parentExecution","isRunning","ACTION_END","flushTree","MUTATIONS","flushData","_objectSpread","onInitialize","createAction","initialized","getState","derived","GETTER","createExecution","namespacePath","actionName","mutationTrees","actionId","executionId","operatorId","trackEffects","getNextOperatorId","currentOperatorId","scopeValue","addNamespace","existingState","namespaceKey","addExecutionMutation","originalAction","actionFunc","boundExecution","ACTION_START","finalContext","OPERATOR_START","scopedValue","pendingFlush","promiseResult","OPERATOR_END","effectsCallback","EFFECT","isPending","promisedResult","initialState","reload","eventType","updateActions","changeMutations","IS_PRODUCTION","getFiberType","component","getDisplayName","throwMissingContextError","React","nextComponentId","currentComponentInstanceId","useCurrentComponent","ReactTrackerV18","updateCb","useStateV18","overmind","tracker","snapshot","mountedRef","__componentId","componentInstanceId","COMPONENT_ADD","componentId","COMPONENT_REMOVE","COMPONENT_UPDATE","forceRerender","useForceRerender","useActions","useEffects","isAGetter","_arrayWithHoles","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","_slicedToArray","_classCallCheck","_defineProperties","_createClass","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","enumerableOnly","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","namespaces","getI18n","initReactI18next","setDefaults","react","setI18n","_console","alreadyWarned","warnOnce","_len2","_key2","loadNamespaces","i18n","off","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","defaultNS","reportNamespaces","notReadyT","retNotReady","wait","i18nOptions","keyPrefix","addUsedNamespaces","initializedStoreOnce","languages","ignoreJSONStructure","hasLoadedNamespace","precheck","loadNotPending","services","backendConnector","backend","isLanguageChangingTo","lng","fallbackLng","lastLng","loadState","hasResourceBundle","resources","partialBundledLanguages","oldI18nextHasLoadedNamespace","getT","getFixedT","nsMode","_useState2","setT","joinedNS","previousJoinedNS","ignore","usePrevious","boundReset","isInitial","ret","tiny","small","large","thin","cssClasses","classNames","_jsx","_jsxs","center","BankIDIcon","_props$className","viewBox","_path","_excluded","_extends","Svg20X20CheckboxIndeterminateFilled","svgRef","titleId","_objectWithoutPropertiesLoose","_objectWithoutProperties","xmlnsXlink","enableBackground","xmlSpace","ForwardRef","Svg20X20CheckboxIndeterminateOutline","Svg20X20CheckboxSelectedFilled","_g2","Svg20X20CheckboxSelectedOutline","points","Svg20X20CheckboxUnselected","_polygon","Svg20X20CheckmarkCenteredNormal","Svg20X20CheckmarkCenteredThin","Svg20X20CheckmarkNormal","Svg20X20CheckmarkThin","Svg20X20Dokument","Svg20X20DropdownKarta","Svg20X20DropdownKlocka","Svg20X20DropdownKompassFylld","Svg20X20DropdownKompassKontur","Svg20X20DropdownSprak","Svg20X20Historik","Svg20X20Inbox","Svg20X20Info","Svg20X20Kalender","Svg20X20Klocka","Svg20X20Mail","Svg20X20MiniKlocka","Svg20X20MiniPin","Svg20X20MinusCirkel","Svg20X20MobilmenyMinasidor","Svg20X20MobilmenySok","Svg20X20MobilmenySprak","Svg20X20Navigering","Svg20X20Penna","_path2","Svg20X20Pin","Svg20X20PlusCirkel","Svg20X20RadiobuttonSelected","Svg20X20RadiobuttonUnselected","Svg20X20Sok","Svg20X20Telefon","Svg40X40Akut","Svg40X40Byta","Svg40X40CirkelAlertFet","Svg40X40CirkelAlertTunn","Svg40X40CirkelBockFet","Svg40X40CirkelBockTunn","Svg40X40CirkelUtropsteckenFet","Svg40X40CirkelUtropsteckenTunn","Svg40X40ErbjudandeSplash","Svg40X40ErbjudandeTag","Svg40X40FetFilter","Svg40X40FetKalender","Svg40X40FetKlocka","Svg40X40FetMail","Svg40X40FetMinasidor","Svg40X40FetNavigering","Svg40X40FetSok","Svg40X40FetSprak","Svg40X40FetTelefon","Svg40X40Filter","Svg40X40Historik","Svg40X40Inbox","Svg40X40Info","Svg40X40InstallningarGlobala","Svg40X40InstallningarPersonliga","Svg40X40Kalender31","Svg40X40KalenderCheck","Svg40X40Karta","Svg40X40Klinik","Svg40X40Mail","Svg40X40MinaBarn","Svg40X40MinaSidor","Svg40X40Navigering","Svg40X40Paket","Svg40X40Penna","Svg40X40Pratbubbla","Svg40X40SistaMinuten","Svg40X40Sok","Svg40X40SomeFacebook","_path3","Svg40X40SomeInstagram","Svg40X40SomeLinkedin","Svg40X40SomeTiktok","Svg40X40SomeTwitter","Svg40X40SomeYoutube","Svg40X40Sprak","_rect","_rect2","_rect3","_rect4","_rect5","_rect6","_rect7","_rect8","_rect9","Svg40X40Telefon","Svg40X40Uppdatera","Svg40X40VarvaEnKompis","Svg40X40Vinkning","Svg100X100PaketBanner","Svg100X100SistaMinutenBanner","_style","_path4","_path5","_path6","_path7","_path8","Svg100X100UppdateraBanner","Svg150X150Akut","Svg150X150Kalender31","Svg150X150Klinik","Svg150X150Paket","Svg150X150Penna","Svg150X150Pratbubbla","Svg150X150SistaMinuten","Svg150X150Telefon","SvgBokaFylld","SvgBokaKonturerad","SvgPinMap","_polygon2","_polygon3","_path9","_path10","_path11","SvgRegionstockholm","SvgStangaDesktop","SvgStangaMobil","SvgStjarna","SvgStanga","_g3","_g4","_g5","_g6","_g7","_g8","_g9","_g10","_g11","_g12","_g13","_g14","_g15","_g16","_g17","_defs","_g18","_g19","_g20","_g21","_defs2","_g22","_g23","_g24","_g25","_g26","_g27","_g28","_g29","_g30","_g31","_g32","_g33","_g34","_g35","_defs3","_defs4","_defs5","_g36","_g37","_defs6","_g38","_g39","_defs7","_defs8","_line","_defs9","_line2","_defs10","_g40","_line3","_line4","_line5","_line6","_defs11","_line7","_line8","_line9","_line10","_line11","_line12","_line13","_line14","_line15","_line16","_defs12","_g41","_defs13","_defs14","_g42","_defs15","_text","_g43","SvgInboxEmpty","clipPath","SvgInfoWithoutSpace","SvgWarningWithoutSpace","_circle","SvgCirkelikonCheck","Svg40X40MinaSidorV2","DtvIconName","DtvIconColor","DtvIcon","cssClassesWithColor","Success","Danger","Warning","onClk","CheckboxIndeterminateFilled_20x20","CheckboxIndeterminateOutline_20x20","CheckboxSelectedFilled_20x20","CheckboxSelectedOutline_20x20","CheckboxUnselected_20x20","CheckmarkCenteredNormal_20x20","CheckmarkCenteredThin_20x20","CheckmarkNormal_20x20","CheckmarkThin_20x20","Dokument_20x20","DropdownKarta_20x20","DropdownKlocka_20x20","DropdownKompassFylld_20x20","DropdownKompassKontur_20x20","DropdownSprak_20x20","Historik_20x20","Inbox_20x20","Info_20x20","Kalender_20x20","Klocka_20x20","Mail_20x20","MiniKlocka_20x20","MiniPin_20x20","MinusCirkel_20x20","MobilmenyMinasidor_20x20","MobilmenySok_20x20","MobilmenySprak_20x20","Navigering_20x20","Penna_20x20","Pin_20x20","PlusCirkel_20x20","RadiobuttonSelected_20x20","RadiobuttonUnselected_20x20","Sok_20x20","Telefon_20x20","Akut_40x40","Byta_40x40","CirkelAlertFet_40x40","CirkelAlertTunn_40x40","CirkelBockFet_40x40","CirkelBockTunn_40x40","CirkelUtropsteckenFet_40x40","CirkelUtropsteckenTunn_40x40","ErbjudandeSplash_40x40","ErbjudandeTag_40x40","FetFilter_40x40","FetKalender_40x40","FetKlocka_40x40","FetMail_40x40","FetMinasidor_40x40","FetNavigering_40x40","FetSok_40x40","FetSprak_40x40","FetTelefon_40x40","Filter_40x40","Historik_40x40","Inbox_40x40","Info_40x40","InstallningarGlobala_40x40","InstallningarPersonliga_40x40","Kalender31_40x40","KalenderCheck_40x40","Karta_40x40","Klinik_40x40","Mail_40x40","MinaBarn_40x40","MinaSidor_40x40","Navigering_40x40","Paket_40x40","Penna_40x40","Pratbubbla_40x40","SistaMinuten_40x40","Sok_40x40","SomeFacebook_40x40","SomeInstagram_40x40","SomeLinkedin_40x40","SomeTiktok_40x40","SomeTwitter_40x40","SomeYoutube_40x40","Sprak_40x40","Telefon_40x40","Uppdatera_40x40","VarvaEnKompis_40x40","Vinkning_40x40","PaketBanner_100x100","SistaMinutenBanner_100x100","UppdateraBanner_100x100","Akut_150x150","Kalender31_150x150","Klinik_150x150","Paket_150x150","Penna_150x150","Pratbubbla_150x150","SistaMinuten_150x150","Telefon_150x150","BokaFylld","BokaKonturerad","PinMap","Regionstockholm","Stanga","StangaDesktop","StangaMobil","Stjarna","InboxEmpty","BankID","CloseX","InfoWithoutSpace","WarningWithoutSpace","CirkelikonCheck","MinaSidorV2_40x40","DtvButtonType","DtvButtonSize","DtvButtonOutline","DtvButtonColor","DtvButton","isBlock","fakeDisabled","saved","buttonClasses","buttonClassesString","spanClasses","Small","Prominent","SuperProminent","NormalOutline","ThinOutline","Info","White","spanClassesString","DtvPreloader","_Fragment","IconPosition","cssClassesArray","iconPosition","withBtn","Card","onDismiss","DtvModal","layerClasses","verticalCenter","fullScreenMobile","withTopCloser","dtvPreventModalBackgroundScroll","onClose","DtvModalFullScreenWithTopCloser","_props$closeButtonTex","hasDiscreetDesktopCloser","closeButtonText","DtvModalCloserStyle","CircleX","rest","divRef","slotHtml","createContextualFragment","DtvPreloaderWrapper","DtvPreloaderCaption","InnerHTML","notifications","subLabel","useAppState","sidebar","MainMenuItem","mainMenu","notificationsBookings","pageUrls","bookings","login","bankIdPatient","CanSeeHealthDeclarationPage","dateNow","notificationsHealth","health","HasFreeDentalCare","notificationsJournal","journal","notificationsInbox","inbox","CanSeeChildrenPage","displayContextChildren","hasUnlistedChildren","myClinics","CanSeeAtbPage","atb","CanSeeReferralPage","notificationsReferral","referral","CanSeePersonalOffersPage","notificationsPersonalOffers","personalOffers","settingsNotifications","settings","toggleLanguage","ValidationResult","ValidateEmail","Empty","Valid","Invalid","ValidateMobile","mobile","washFirst","WashMobile","capitalizeFirstLetter","formatPostalCode","dateTimeStrToDayJs","dateTimeStr","dayjs","timezone","_initializerDefineProperty","initializer","_applyDecoratedDescriptor","TransformationType","MetadataStorage","_typeMetadatas","_transformMetadatas","_exposeMetadatas","_excludeMetadatas","_ancestorsMap","addTypeMetadata","addTransformMetadata","addExposeMetadata","addExcludeMetadata","findTransformMetadatas","transformationType","findMetadatas","toClassOnly","toPlainOnly","CLASS_TO_CLASS","PLAIN_TO_CLASS","CLASS_TO_PLAIN","findExcludeMetadata","findMetadata","findExposeMetadata","findExposeMetadataByCustomName","getExposedMetadatas","findTypeMetadata","getStrategy","excludeMap","exclude","exposeMap","expose","getExcludedMetadatas","getExposedProperties","getExcludedProperties","metadatas","metadataFromTarget","metadataFromTargetMap","metadataFromAncestors","getAncestors","ancestor","ancestorMetadataMap","metadataFromAncestor","ancestorResult","metadataFromAncestorsTarget","ancestors","baseClass","defaultMetadataStorage","Transform","transformFn","typeFunction","reflectedType","TransformOperationExecutor","recursionStack","targetType","arrayType","isMap","newValue_1","instantiateArrayType","subValue","subSource","enableCircularCheck","isCircular","realTargetType","discriminator","subTypes","subType","newType","keepDiscriminatorProperty","Buffer","getKeys","newValue","valueKey","newValueKey","ignoreDecorators","exposeMetadata","isSubValueMap","metadata_1","targetMaps","enableImplicitConversion","arrayType_1","getReflectedType","finalValue","applyCustomTransformations","exposeUnsetFields","transformKey","exposeDefaultValues","keys_1","checkVersion","since","until","checkGroups","strategy","excludeExtraneousValues","exposedProperties","excludedProperties","excludedProperties_1","excludePrefixes","decision","optionGroup","ClassTransformer","instanceToPlain","classToPlainFromExist","plainObject","plainToInstance","plain","plainToClassFromExist","clsObject","instanceToInstance","classToClassFromExist","fromObject","serialize","deserialize","json","jsonObject","deserializeArray","classTransformer","plainToClass","PatientSettings","SendReminderSMS","SendReminderEmail","SendRecallSMS","SendRecallEmail","SendRecallLetter","SendInfoSMS","SendInfoEmail","SendingBy","ClinicArea","NameSv","NameEn","Order","Name","Clinic","_dec","_descriptor","_class","ClinicDataId","OpusId","LocalizationTitleFormatted","LocalizationTitleShortFormatted","OrgNo","Lat","Lng","DoorCode","RoadDescriptionSv","RoadDescriptionEn","RoadReferenceSv","RoadReferenceEn","GoogleMapsUrl","AcceptsOnlineListings","AcceptsChildren","RequiresRemittance","RequiresManualBooking","Email","Phone","Address1","Address2","PostalCode","City","PhotoUrl","LocalizationTitleCleaned","AddressInline","GetPhone","condensed","phone","GetEmail","GetBookingUrl","IsBookableOnline","Employee","TitleSv","TitleEn","ImageUrl","TitleAndName","PatientListingDentistStatusEnum","PatientListingHygienistStatusEnum","PatientListingStatus","_dec2","_dec3","_dec4","DentistStatus","_descriptor2","HygienistStatus","_descriptor3","_descriptor4","ListedAtClinic","NoPat","NoDRev","DentistClinic","ChildWaiting","ChildWaitingEnlist","ChildWaitingMove","PlainToClass","Gender","Patient","FirstName","LastName","Pnr","CustomerNo","Mobile","Address","CoAddress","Active","CanConsentToReceivingPromotions","IsChildListedOrWaiting","PhoneArea","FullName","PossessiveFirstName","possessiveFirstName","firstName","FirstNamePossessive","Age","BirthDate","AgeThisYear","IsOver13","IsChild","IsYouth","childMaxAge","IsChildOrYouth","_this$PatientSettings","_this$PatientSettings2","_this$PatientSettings3","_this$PatientSettings4","_this$PatientSettings5","SendingReminderBy","_this$PatientSettings6","_this$PatientSettings7","SendingRecallBy","_this$PatientSettings8","_this$PatientSettings9","_this$PatientSettings10","SendingRecallReminderBy","IsInOpus","Female","Male","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isNumber","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","_global","isContextDefined","isTypedArray","TypedArray","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","_setImmediate","setImmediateSupported","postMessageSupported","_ref2","isBuffer","isFormData","FormData","append","isView","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","forEachEntry","pair","matchAll","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","define","toCamelCase","toFiniteNumber","isFinite","generateString","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","AxiosError","config","fileName","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","convertValue","isFlatArray","exposedHelpers","build","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","handlers","use","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","platform","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","rawValue","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","parseHeaders","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalized","formatHeader","targets","asStrings","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","mapped","headerValue","transformData","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","samplesCount","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","freq","lastArgs","timer","timestamp","threshold","invoke","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","throttle","total","lengthComputable","progressBytes","rate","estimated","progressEventDecorator","throttled","asyncDecorator","isMSIE","expires","secure","cookie","toGMTString","remove","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","username","isURLSameOrigin","xsrfValue","cookies","_config","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","responseHeaders","getAllResponseHeaders","statusText","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","aborted","parseProtocol","composeSignals","signals","controller","AbortController","_OverloadYield","_wrapAsyncGenerator","AsyncGenerator","resume","_invoke","_awaitAsyncGenerator","_asyncGeneratorDelegate","pump","_asyncIterator","asyncIterator","AsyncFromSyncIterator","AsyncFromSyncIteratorContinuation","streamChunk","chunkSize","readBytes","iterable","_iteratorError","_iteratorAbruptCompletion","_didIteratorError","_step","_iterator","readStream","_x","_x2","reader","getReader","_x3","trackStream","onProgress","onFinish","_onFinish","ReadableStream","pull","loadedBytes","enqueue","highWaterMark","isFetchSupported","Request","Response","isReadableStreamSupported","encodeText","TextEncoder","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","fetchOptions","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","isCredentialsSupported","credentials","isStreamResponse","responseContentLength","responseData","knownAdapters","http","xhrAdapter","fetchAdapter","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","formatMessage","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","InterceptorManager","configOrUrl","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","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","myPagesApi","onBeforeRequest","onAfterRequest","axiosInstance","noFetchAfter","Status","BaseResponse","Unknown","ErrorMessage","Version","LoginStatusResponse","IsLoggedIn","LoginStatus","LoginGetBankIdPatientResponse","LoginGetBankIdPatient","LoginStartResponse","_class2","AlreadyLoggedIn","AlreadyInProgress","InvalidPersonalIdentityNumber","GeneralError","BankIDAppUrl","QRCode","AutoStartToken","LoginStart","LoginPollResponse","_class3","Expired","LoginDenied","LoginPoll","LoginGrandIDSessionResponse","_class4","LoginGrandIDSession","GrandIDSessionID","grandIDSessionID","ClearLoggedInAs","Logout","TestCaseAgeEnum","TestCaseOpusEnum","TestCaseRevisionsEnum","TestCaseChildrenEnum","TestCaseYesNoEnum","TestCaseSubmitResponse","_dec5","_descriptor5","_class5","SuccessMessage","TestCaseSubmit","UnexpectedLogoutError","LoginPageStatus","Default","loggedIn","bankIdPatientLoading","inactivityTimerCancel","loginCancel","loginBankIDAppUrl","showOpenTestCasesButton","qrCode","qrCodeDecoded","openOnThisDevice","testCaseFormOpen","testCaseAge","testCaseLibretto","testCaseChildren","testCaseOpus","testCaseRevisions","testCaseSubmitting","testCasePassword","testCaseSubmitError","testCaseSubmitSuccess","testCaseFormIsValid","testCaseFormValidationErrors","errs","Adult","Youth","Yes","NoOpus","_state$login$bankIdPa","_state$login$bankIdPa2","subPage","LanguageToggle","router","txt","logout","LoggingOut","_state$login$bankIdPa3","_state$login$bankIdPa4","showPaymentModal","PaymentModal","closePaymentModal","paymentModalHtml","PageHeader","showHealthDeclarationMissingNotification","NotificationCard","dismissHealthDeclarationMissing","showHealthDeclarationExpiredNotification","dismissHealthDeclarationExpired","showSettingsMissingNotification","dismissSettingsMissing","showUnpaidTreatmentNotification","unpaidInvoiceIds","Primary","dismissUnpaidTreatmentNotification","openPaymentModal","referralNotificationDismissed","showReferralUpgradeNotification","dismissReferralNotification","referralBenefitAmount","referralsNewCount","MainMenu","DtvFormMessageType","DtvFormMessageDesignType","DtvFormMessage","design","Discreet","AboveLabel","aboveLabel","_props$type","wrapperClasses","wrapperExtraClasses","labelSmall","errorMessage","onChange","evt","onKeyDown","role","onSelect","arrClasses","DtvStyledRadio","deg2rad","getDistanceFromLatLonInKm","lat1","lon1","lat2","lon2","dLat","dLon","DropDownSelectionType","DtvClinicSelect","super","hasGeoLocation","geolocation","dropDownSelection","Placeholder","selectedClinicId","positionWasLoadedOnBoot","loadingPosition","positionError","selectedClinicButtonId","dismissPositionError","showNearest","boot","Nearest","getCurrentPosition","attemptNearbyDirectly","getNearest","clinicWithDistance","clinic","hasPlaceholder","onChangeDropDown","clinicId","_unused2","onChangeClinicId","clickClinicButton","clinicsWithDistance","clinics","latitude","longitude","lat","formatDistance","placeholderLabel","showNearestLabel","areas","addClinicToArea","otherAreasLabel","area_keys","hasError","styleV2","labelText","Block","positionErrorText","loadingText","localizationTitleFormatted","DtvInfoSection","openNewTab","DtvInfoSectionExpandable","expanded","onExpandToggle","unexpanded","selectedEmployeeId","emps","employees","setExpanded","onChangeEmployeeId","imageUrl","alt","showAllText","selectedId","myNotifications","radios","PatientId","Label","Notifications","rows","roadRef","doorCode","_props$doorCode","doorCodeAndRoadReference","doorCodeTranslation","_roadRef","roadDesc","activeBookings","booking","StartDateText","StartTimeText","Treatment","openEditBookingModal","openCancelBookingModal","CalendarUrl","AddressSectionExpanded","addressSectionExpandToggle","DoorCodeAndRoadReferenceAndDescription","NextStepAnswer","WishType","Code_bk","Order_bk","Default_bk","GetText","ReasonAnswer","Code_tr","Order_sc","ShowSelfCaller","Booking","PhoneNumber","Start","StartDateShort","GetStartMonthIn","CanCancel","CanChange","BookingUpcoming","IsTimeRequiredByLaw","MonthToYearIfRequired","ForceDisableSnooze","CanSnooze","EditOK","DtvMessagePopupStyle","_props$cssClasses","DtvModalCloser","subTitle","editBooking","General","TimeTooSoon","TreatmentNotEditable","TreatmentWithSerie","SpecialistClinic","MobileClinic","DtvMessagePopup","phoneArea","closeEditBookingModal","SectionRequiredByLaw","cancelBooking","selectedPatientIsMe","selectedPatient","SectionSnooze","_state$bookings$selec","_state$bookings$selec2","DtvDropDown","setSelectedSnoozeOptionId","selectedSnoozeOptionId","snoozeOptions","submitSnooze","noSnooze","SectionCancel","_state$bookings$selec3","_state$bookings$selec4","_state$bookings$selec5","_state$bookings$selec6","DtvRadioGroup","setCancelReasonId","cancelReasonError","selectedReasonAnswerId","CancelReasonAnswers","nextStepAnswers","cancelNextStepError","setCancelNextStepId","selectedNextStepAnswerId","submitCancel","disableCancelButton","closeCancelBookingModal","CancelOK","TreatmentNotCancelable","snooze","confirmedSnoozedBooking","closeSnoozeConfirmModal","IsShort","firstNamePossessive","IsFailed","voidElement","attrs","components","_excluded2","hasChildren","checkLength","getChildren","getAsArray","nodesToString","stringNode","childrenArray","keepArray","childIndex","childPropsCount","shouldKeepChild","childChildren","i18nIsDynamicList","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","childs","HTML","renderInner","rootReactNode","mappedChildren","mapAST","hasValidReactChildren","pushTranslatedJSX","isVoid","reactNode","astNode","reactNodes","translationContent","interpolator","interpolate","newTarget","mergeProps","isElement","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","_inner","_inner3","_inner4","wrapTextNodes","_content","Trans","i18nKey","_ref$tOptions","tOptions","tFromProps","additionalProps","reactI18nextOptions","hashTransKey","interpolationOverride","interpolation","useAsParent","defaultTransParent","phoneAreaHref","showCancelConfirmModal","closeCancelConfirmModal","cancelBookingNextStepCode","PhoneLink","cancelledBookings","rebookBooking","_selectedPatient$Firs","_selectedPatient$Gend","_selectedPatient$Firs2","_selectedPatient$Gend2","listingStatus","callForm","StatusCard","PhoneSpan","ClinicScope","_props$placeholderLab","_props$showNearestLab2","_props$otherAreasLabe2","_props$loadingText2","_props$attemptNearbyD","_props$positionErrorT2","_props$showNearestLab","_props$otherAreasLabe","_props$loadingText","_props$positionErrorT","clinicScope","acceptsOnlineListings","AcceptsOnlineListingsChildren","acceptsOnlineListingsChildren","_clinic$Lat","_clinic$Lng","Areas","selectedClinicDataId","onChangeClinicDataId","PurposeEnum","ChangeListingStatus","ChildChangeClinic","ssn","toClinicDataId","Purpose","KidChangeClinic","SSN","ToClinicDataId","ToEmployeeId","CallFormWhenCalled","CallMeForm","CallFormSelectDentist","initialCallFormState","_pat$Mobile","_pat$Email","_pat$PatientSettings$","_pat$PatientSettings","_pat$PatientSettings$2","_pat$PatientSettings2","_pat$PatientSettings$3","_pat$PatientSettings3","_pat$PatientSettings$4","_pat$PatientSettings4","_pat$PatientSettings$5","_pat$PatientSettings5","_pat$PatientSettings$6","_pat$PatientSettings6","_pat$PatientSettings$7","_pat$PatientSettings7","pat","submitAttempted","sendReminderSMS","sendReminderEmail","sendRecallSMS","sendRecallEmail","sendRecallLetter","sendInfoSMS","sendInfoEmail","selectDentistAttempted","validPhone","_state$selectedPatien","errorPhone","validEmail","rootState","_state$selectedPatien2","errorEmail","validInputReminderSettings","errorInputReminderSettings","validInputRecallSettings","errorInputRecallSettings","validSelectedClinicDataId","errorSelectedClinicDataId","validSelectedDentistId","selectDentist","Manual","selectedDentistId","errorSelectedDentistId","errorSelectDentist","selectedDentistDisabled","submitting","underLyingSelectedPatient","_state$underLyingSele","isFormValid","submitDisabled","Automatic","loadingDentists","dentists","employeeSelectExpanded","loadingDentistsCanceler","whenCalled","Soon","whenCalledDisabled","hasFreeDental","_state$selectedPatien3","_state$selectedPatien4","Language","_window$dtvLang","dtvLang","setLanguageCanceler","DtvEmployeeSelect","_state$callForm$sendR","_state$callForm$sendR2","_selectedPatient$Pati","_state$callForm$sendR3","_state$callForm$sendR4","_state$callForm$sendR5","_state$callForm$sendI","_state$callForm$sendI2","TextInputV2","changePhone","changeEmail","DtvControlGroup","DtvStyledCheckBox","changeEditSettingsSendRecallSMS","changeEditSettingsSendRecallEmail","changeEditSettingsSendRecallLetter","changeEditSettingsSendReminderSMS","changeEditSettingsSendReminderEmail","changeEditSettingsSendInfoSMS","changeEditSettingsSendInfoEmail","changeWhenCalled","TwoThreeMonths","ThreeSixMonths","MyPagesClinicSelect","clinicDataId","changeSelectedClinicDataId","changeSelectDentist","clickSelectDentist","MyPagesEmployeeSelect","setEmployeeSelectExpanded","dentistId","changeSelectedDentistId","DtvFormMessageWithTitleAndText","dismissErrorMessage","submit","_state$bookNowCard$se","_state$bookNowCard$se2","bookNowCard","iconName","showButton","buttonUrl","buttonLabel","logWarn","BookNowCard","CallForm","Called","ChildListed","HasDentist","DentistWaiting","EnlistWaiting","logError","sectionClassName","headerTitle","SubPageLayout","ChildSelector","selectedPatientId","patientId","goTo","selectedPatientsBookingsHeader","ActiveBookings","BookingPageListingStatus","CancelledBookings","EditBookingModal","CancelBookingModal","SnoozeConfirmModal","CancelConfirmModal","addChildForm","changeAddChildSSNInputValue","errorInputSSN","changeAddChildMobileInputValue","errorInputMobile","changeAddChildEmailInputValue","errorInputEmail","changeAddChildSendRecallSMS","changeAddChildSendRecallEmail","changeAddChildSendReminderSMS","changeAddChildSendReminderEmail","changeAddChildSelectedClinicDataId","errorInputClinicDataId","addChild","selectedChild","closeEditChild","editChildForm","changeEditChildMobileInputValue","changeEditChildEmailInputValue","changeEditChildSendRecallLetter","changeEditChildSendRecallSMS","changeEditChildSendRecallEmail","changeEditChildSendReminderSMS","changeEditChildSendReminderEmail","changeEditChildClinicDataId","showSaveButton","numberOfChanges","saveChild","displayEditModal","EditChildModal","_child$PatientListing","_child$PatientListing2","_child$Mobile$length","_child$Mobile","_child$Email$length","_child$Email","UnlistedChildHasUpcomingBookings","editChild","AddChildForm","HealthDeclarationStatusEnum","HealthPageResponse","HealthDeclarationStatus","HasActiveBookings","HealthPage","NoActiveBookingsCard","HealthCard","_props$healthDeclarat","healthDeclarationStatus","Missing","hasActiveBookings","NotPatient","UpToDate","_state$atb$bankIdPati","_state$atb$settings$s","_state$atb$settings$s2","_state$atb$settings$s3","testSystem","testBirthYear","setTestBirthYear","testDateNow","setTestDateNow","testLatestVisitDate","setTestLatestVisitDate","testApply","yearNow","ageThisYear","atbReceivedAlreadyThisYear","showGraphics","subHeader","subHeaderParams","subText","subTextParams","subText2","showBookingButton","readMore","adultMinAge","xray","setXray","api","XrayImage","xrayId","updateXray","closeXrayModal","selectedBooking","Xrays","GetTemplateImage","TeethNumbers","TemplateId","Location","ImageTypeCode","DateTakenText","_CustomerReceipt$trim","_CustomerReceipt","closeReceiptModal","getReceiptPdf","PaymentReceipt","ReceiptType","BillNumber","PaidAt","JournalEntries","TaskId","Description","PriceReference","PriceCharged","SumPriceReference","SumPriceCharged","AllowanceGeneral","AllowanceSpecial","AllowanceGovernment","TotalToPay","CustomerReceipt","LinkButton","billNumber","showReceiptModal","bookingId","invoiceNumber","CreateLinkButton","_state$journal$select","_state$journal$select2","displayModalXray","XraysModal","displayModalReceipt","ReceiptModal","displayModalPayment","HtmlSnippet","selectedPatientHeader","previousBookings","PatientAttended","displayExtraInfo","DisplayInfoSection","ActionsSectionExpanded","actionsSectionExpandToggle","showXrays","BookingPaymentBlock","PaymentStatus","InvoiceNumber","loadingMore","showLoadMoreButton","getMoreBookings","conditionsExpanded","expandConditions","selectedMessage","closeMessage","From","titleAndName","Subject","SendDate","getPdf","SanitizedBody","displayModal","ShowMessageModal","messages","showMessage","IsRead","getMoreMessages","myReferralCode","nbInvitations","myBenefits","invitations","invitation","IsClaimed","NameInvited","benefit","benefitPerReferral","toggleConditions","_myClinic$PhotoUrl","_myClinic$City$toLowe","_myClinic$City","myClinic","OpenHoursSectionExpanded","openHoursSectionExpandToggle","changeWeekBackward","selectedWeekName","SelectedWeekNumber","max_number_weeks","changeWeekForward","selectedWeek","idx","IsToday","IsOpen","OpenHours","MyClinicsItem","waiting","childListedHasPendingChange","childListedSelectedClinicDataId","childListedChangeSelectedClinicDataId","childListedSubmitting","childListedError","childListedChangeClinicSubmit","EmployeeTypeEnum","EmployeeWithClinicDataIds","ClinicDataIds","GetEmployeesWithClinicDataIdsResponse","GetEmployeesWithClinicDataIds","employeeType","YourEmployeeSelectEmployee","initialYourEmployeeState","editorOpen","editorLoading","editorSelectedClinicDataId","editorSelectedEmployeeId","editorEmployeeSelectExpanded","editorHasChangesToSave","_rootState$listingSta","_rootState$listingSta2","_rootState$listingSta3","_rootState$listingSta4","_rootState$listingSta5","_rootState$listingSta6","_rootState$listingSta7","_rootState$listingSta8","_rootState$listingSta9","_rootState$listingSta10","_rootState$listingSta11","_rootState$listingSta12","_rootState$listingSta13","_rootState$listingSta14","_rootState$listingSta15","_rootState$listingSta16","listingStatusEmpId","Dentist","DentistEmployee","HygienistEmployee","listingStatusClinicDataId","HygienistClinic","Hygienist","editorSaving","editorSaveAttempted","employeesWithClinicDataIds","availableEmployeesForSelectedClinic","emp","currentEmp","currentEmpWithClinicDataIds","selectedEmployeeDisabled","selectEmployee","errorSelectEmployee","selectEmployeeAttempted","validSelectedEmployeeId","errorSelectedEmployeeId","_rootState$listingSta17","_rootState$listingSta18","_rootState$listingSta19","_rootState$listingSta20","listingStatusEmployeeId","_rootState$listingSta21","_rootState$listingSta22","_rootState$listingSta23","_rootState$listingSta24","sameClinicEmployeeAutomatic","saveButtonDisabled","validForSaving","initialListingStatusState","initialChildListedClinicDataId","Pages","Bookings","MyClinics","Settings","childListedInitialClinicDataId","childListedSubmitHasBeenAttempted","childListedSubmissionError","yourEmployee","_emp$Name","_emp","yourEmployeeEditorOpen","yourEmployeeEditorClose","yourEmployeeEditorChangeSelectedClinic","yourEmployeeEditorChangeSelectEmployee","yourEmployeeEditorClickSelectEmployee","yourEmployeeEditorEmployeeSelectSetExpanded","empId","yourEmployeeEditorChangeSelectedEmployeeId","yourEmployeeEditorSave","YourEmployee","NoHygienist","HasHygienist","WaitingHygienist","_state$login$bankIdPa5","_state$login$bankIdPa6","_state$settings$editS","_state$settings$editS2","_state$login$bankIdPa7","_state$login$bankIdPa8","_state$settings$editS3","_state$settings$editS4","_state$settings$editS5","_state$settings$editS6","_state$settings$editS7","showForm","editSettingsForm","changeEditSettingsMobileInputValue","changeEditSettingsEmailInputValue","showInfoSection","saveSettings","SettingsPageListingStatus","URL_PREFIX","Front","getRouteCallback","showFrontPage","getPageComponent","MainMenuPage","child_id","showBookingsPage","BookingsPage","showChildrenPage","ChildrenPage","showSettingsPage","SettingsPage","showMyClinicsPage","MyClinicsPage","Referral","showReferralPage","ReferralPage","Inbox","showInboxPage","InboxPage","PersonalOffers","showPersonalOffersPage","PersonalOffersPage","Journal","showJournalPage","JournalPage","Atb","showAtbPage","AtbPage","Health","showHealthPage","onInitializeOvermind","keepTime","resetInactivityTimer","resp","fetchMenu","fetchPatient","_resp$ErrorMessage","_loadMainMenuInBackground","_loadBankIdPatient","ResponseStatus","LoggedOut","unexpectedlyLoggedOut","UserError","getClinicList","routes","startInactivityTimer","_rootState$login","phoneAreaOnlyDigits","scrollElementToPosition","scrollElement","behavior","scrollWindowToTop","scrollToError","$el","jQuery","$scrollingElement","$parent","getElementScrollingElement","_$el$first$position$t","_$el$first","_$el$first$position","scrollElementToElement","ErrorLevel","errorCode","errorInfo","Log","Warn","logInfo","logDebug","Debug","reloadingPage","setError","analytics","DtvGA","DtvGA4Event","reloadPage","_ref3","SnoozeOption","Text_sv","Text_en","Order_Display","Required_Max_Months_Allowed","Is_Default","BookingChild","BookingsPageResponse","MyNotifications","BookingEditResponse","RedirectTo","BookingEdit","BookingId","SnoozeStatus","BookingSnoozeResponse","_dec6","_descriptor6","BookingSnooze","snoozeOptionId","SnoozeOptionId","BookingCancelResponse","_dec7","_descriptor7","BookingCancelNextStepCode","BookingCancel","reasonId","nextStepId","ReasonId","NextStepId","RebookStatus","BookingRebookResponse","BookingRebook","_assertThisInitialized","ReferenceError","_setPrototypeOf","_inherits","_possibleConstructorReturn","_getPrototypeOf","_toArray","ownKeys$6","_objectSpread$6","consoleLogger","baseLogger","concreteLogger","bool","forward","_len3","_key3","_len4","_key4","debugOnly","moduleName","observers","defer","rej","getLastOfPath","cleanKey","canNotTraverseDeeper","setPath","_getLastOfPath","getPath","_getLastOfPath3","deepExtend","overwrite","regexEscape","_entityMap","isIE10","userAgentData","deepFind","keySeparator","mix","joinedPath","ownKeys$5","_objectSpread$5","_createSuper$3","hasNativeReflectConstruct","_isNativeReflectConstruct$3","Super","ResourceStore","_EventEmitter","silent","addNamespaces","addResource","deep","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","processors","addPostProcessor","handle","translator","processor","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","resolved","nsSeparator","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","looksLikeObjectPath","nestingRegexp","lastKey","_this2","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","saveMissingTo","toResolveHierarchy","specificDefaultValue","defaultForMissing","missingKeyHandler","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","defaultVariables","skipInterpolation","nestBef","skipOnVariables","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsZeroSuffixLookup","shouldUseIntlApi","needsContextHandling","codes","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","sets","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","compatibilityJSON","PluralRules","plurals","createRules","getRule","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","prepend","getSuffixRetroCompatible","noAbs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","deepFindWithDefaults","defaultData","getPathWithDefaults","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","matchedVar","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","elem","ownKeys$2","_objectSpread$2","createCachedFormatter","formatter","Formatter","NumberFormat","currency","relativetime","RelativeTimeFormat","list","ListFormat","_format","_parseFormatStr","formatStr","formatName","formatOptions","optStr","_opt$split2","parseFormatStr","formatted","valOptions","formatParams","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","Connector","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","pendingCount","errors","addResourceBundle","_getLastOfPath2","pushPath","removePending","loadedKeys","fcName","tried","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","initImmediate","preload","tDescription","transformOptions","_createSuper","_isNativeReflectConstruct","I18n","modules","external","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","_this2$store","_this2$store2","deferred","finish","changeLanguage","usedCallback","resolvedLanguage","setResolvedLanguage","lngInLngs","hasLanguageSomeTranslations","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","resultKey","_this$translator","_this$translator2","_this6","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","dir","reloadResources","setDefaultNamespace","loadLanguages","general","kidSelectorMina","kidSelectorMin","pageHeaderBackButtonLabel","saveChange","saveChanges","loadingClinics","sms","and","callMain","selectOption","checkGrandIDSession","title2","checklistTitle","checklistItem1","checklistItem2","checklistItem3","checklistItem4","checklistItem5","SSNPlaceholder","SSNPlaceholderSmall","SSNLabel","btnPhoneHeader","btnPhoneText","btnListHeader","btnListText","submitButtonLabel","validationErrorInvalid","validationErrorEmpty","submitErrorGeneralTitle","submitErrorGeneralText","submitErrorAlreadyInProgressText","submitErrorDeniedTitle","submitErrorDeniedText","pendingMainText","pendingMainTextOtherDevice","pendingSubTextOtherDevice","pendingButtonLabel","pendingCancel","pendingBackBtnLabel","expiredTitle","expiredText","expiredButtonLabel","loggedOutDueToInactivityTitle","loggedOutDueToInactivityText","loggedOutDueToInactivityButtonLabel","loggingOut","verifyLabel","thisDeviceMobileBtnLabel","thisDeviceDesktopBtnLabel","otherDeviceMobileBtnLabel","otherDeviceDesktopBtnLabel","menuItemBookingsLabel","menuItemBookingsSubLabel","menuItemJournalLabel","menuItemJournalSubLabel","menuItemJournalSubLabelFreeDental","menuItemChildrenLabel_none","menuItemChildrenSubLabel_none","menuItemChildrenLabel_some","menuItemChildrenSubLabel_some","menuItemSettingsLabel","menuItemSettingsSubLabel","menuItemMyClinicsLabel","menuItemMyClinicsLabelPlural","menuItemMyClinicsSubLabel","menuItemReferralLabel","menuItemReferralSubLabel","menuItemInboxLabel","menuItemInboxSubLabel","menuItemPersonalOffersLabel","menuItemPersonalOffersSubLabel","menuItemAtbLabel","menuItemAtbSubLabel","menuItemHealthLabel","menuItemHealthSubLabel","settingsMissingNotificationTitle","settingsMissingNotificationText","settingsMissingNotificationButtonLabel","unpaidTreatmentTitle","unpaidTreatmentText","unpaidTreatmentButtonLabel","unpaidTreatmentMultipleTitle","unpaidTreatmentMultipleText","unpaidTreatmentMultipleButtonLabel","referralUpgradeNotificationWithAmountTitle","referralUpgradeNotificationWithAmountText","referralUpgradeNotificationWithoutAmountTitle","referralUpgradeNotificationWithoutAmountText","referralNewNotificationPluralTitle","referralNewNotificationPluralText","referralNewNotificationSingularTitle","referralNewNotificationSingularText","pageTitle","pageKidSelectorSuffix","editBookingBtnLabel","cancelBookingBtnLabel","addToMyCalendar","openGoogleMapsBtn","editModalCancel","editModalOk","editModalConfirm","confirmChangeTitle","cancelBlockedLawTitle","cancelBlockedLawSubtitleMyself","cancelBlockedLawSubtitleMyKid","changeTimeButtonLabel","ms1_confirm_cancel_title","ms1_confirm_cancel_title_child","ms1_confirm_cancel_sub_title","ms1_snooze_myself_title","ms1_snooze_mykid_title","ms1_snooze_myself_subtitle","ms1_snooze_mykid_subtitle","ms1_confirm_no","ms1_confirm_cancel_reason","ms1_confirm_cancel_reason_error","ms1_confirm_cancel_next_step","ms1_confirm_cancel_yes","ms1_snooze_myself_question","ms1_snooze_mykid_question","main_snooze","ms1_no_cancel","ms1_booking_snoozed_title","ms1_booking_snoozed_subtitle","ms1_booking_snoozed_short_description_myself","ms1_booking_snoozed_short_description_child","ms1_booking_snoozed_long_description_myself","ms1_booking_snoozed_long_description_child","ms1_booking_snoozed_under","main_your","main_close","ms1_booking_cancelled_title","ms1_booking_cancelled_title_child","ms1_booking_cancelled_subtitle_next_0_1","ms1_booking_cancelled_description_next_0_1","ms1_booking_cancelled_subtitle_next_2_3","ms1_booking_cancelled_description_next_2_3","ms1_booking_cancelled_subtitle_next_4_6","ms1_booking_cancelled_description_next_4_6","ms1_booking_cancelled_subtitle_next_far","ms1_booking_cancelled_description_next_far","ms1_booking_cancelled_subtitle_next_self","ms1_booking_cancelled_description_next_self","cancelledTime","rebookBookingBtnLabel","rebookBookingErrorTitle","canChangeGeneralTitle","canChangeTimeTooSoonTitle","canChangeTreatmentNotEditableTitle","canChangeTreatmentWithSerieTitle","canChangeSpecialistClinicTitle","canChangeSpecialistClinicText","canChangeMobileClinicTitle","canChangeMobileClinicText","canCancelGeneralTitle","canCancelTimeTooSoonTitle","canCancelTreatmentNotCancelableTitle","canCancelTreatmentWithSerieTitle","canCancelSpecialistClinicTitle","canCancelSpecialistClinicText","canCancelMobileClinicTitle","canCancelMobileClinicText","rebookGeneralTitle","rebookTreatmentTitle","rebookSerieTitle","rebookSpecialistTitle","rebookSpecialistText","rebookMobileTitle","rebookMobileText","snooze_2_cancel","snoozeFailedText","cancelReasonTooLongError","cancelInputError","cancel_reason_moved","cancel_reason_illness","cancel_reason_financial","cancel_reason_changed_dentist","cancel_reason_travel","cancel_reason_bad_time","cancel_reason_no_need","cancel_reason_listed_elsewhere","cancel_next_0_1","cancel_next_2_3","cancel_next_4_6","cancel_next_far","cancel_next_self","listAtTitle","mobileTitle","emailTitle","btnManageBookings","btnInbox","btnPreviousVisits","btnEditContact","addChildTitle","addChildSubtitle","ssnPlaceholder","ssnPlaceholderSmall","mobilePlaceholder","emailPlaceholder","sendRecallReminderTitle","sendReminderTitle","sendRecallTitle","sendCommunicationsTitle","notSent","sentByMethod","sendMethod","sendMethodSMS","sendMethodEmail","sendMethodLetter","listAtClinicTitle","btnAddChild","addChildNote","editChildTitle","addressTitle","disclaimerTitle","disclaimerText","somethingMissing","deleteBtnInitialize","deleteBtnConfirm","notListedStrongText","notListedTextMale","notListedTextFemale","notListedButtonMale","notListedButtonFemale","myContactTitle","sendInfoTitle","saveChangesPlural","listedAt","updateListedAt","unexpectedError","reloadingPageBtn","reloadPageBtn","errorPageText","errorPageSubText","clinicSelect","pageTitlePlural","pageChildSelectorSuffix","pageChildSelectorSuffixPlural","bookTime","openHours","thisWeek","nextWeek","closed","noDoorCode","refTitle","refSubTitle","refDescription","codeTitle","codeDescription","callTitle","callDescription","yourCode","shareTitle","shareDescription","shareEmail","shareFacebook","myBenefitsCircle","myBenefitsTotal","myBenefits_zero","myBenefits_one","myBenefits_other","myBenefitsListTitle","benefitClaimed","benefitUnclaimed","conditionsLabel","conditions","noMessagesFound","noMessagesFoundChild","messageFrom","messageSubject","messageDate","showMore","itsEmpty","parentTitle","parentSubTitle","parentContent","parentButtonLabel","parentConditions","noPreviousVisitsFound","btnActions","btnXrays","payment_Contact","payment_Unpaid","payment_InDebt","payment_Clinic","payment_Paid","payment_Klarna","payBill","viewBill_Clinic","viewBill_Paid","viewBill_Klarna","imageType","imageType_4916","imageType_4918","imageType_4920","imageType_4921","imageType_4922","imageType_4923","imageType_4924","imageType_4925","imageType_4927","imageType_4929","imageType_32767","loadXrayImage","receiptTitle","receiptSubtitle_2000","receiptSubtitle_2100","receiptDate","receiptNumber","patientNumber","clinicPhone","clinicEmail","receiptEntriesId","receiptEntriesDesc","receiptEntriesPriceRef","receiptEntriesPrice","receiptSum","allowanceGeneral","allowanceSpecial","allowanceGovernment","patientFees","noEntries","noEntriesChild","noShow","xrayModalDisclaimer","alreadyPaidModalTitle","alreadyPaidModalText","freeHeader","freeSubText","firstAtbSoon","timeToVisitQuestion","canHave","adultMinAgeBeforeJuly1SubText","adultMinAgeAfterJuly1SubText","adultMinAgePlus1BeforeJuly1SubText","under24SubText","age23AfterJuly1stSubText","age24BeforeJuly1stSubText","age24AfterJuly1stSubText","age25BeforeJuly1stSubText","under65SubText","age65BeforeJuly1stSubText","age65AfterJuly1stSubText","age66BeforeJuly1stSubText","over65SubText","goToBookingBtnLabel","readMoreBtnLabel","readMoreContent","latestVisitBlock","latestVisitBlockSame","trans2025_21_22_beforeJuly1st","trans2025_23_beforeJuly1st","trans2025_21_23_afterJuly1st","trans2025_24_beforeJuly1st","trans2025_24_afterJuly1st","trans2025_25_beforeJuly1st","trans2025_26_29_beforeJuly1st","trans2025_25_30_afterJuly1st","trans2025_30_beforeJuly1st","trans2025_31_beforeJuly1st","trans2026_22_23_beforeJuly1st","trans2026_24_beforeJuly1st","trans2026_25_beforeJuly1st","trans2026_26_31_beforeJuly1st","dontMissOut","youGotNew","noActiveBookingsTitle","noActiveBookingsText","missingTitle","missingText","missingButtonLabel","upToDateHasBookingsTitle","upToDateHasBookingsText","upToDateHasBookingsButtonLabel","upToDateNoBookingsTitle","upToDateNoBookingsText","calledTitle","calledTitleChild","calledText","calledTextChild","noDRevStrongText","noDRevStrongTextChild","noDRevText","noPatStrongText","noPatStrongTextChild","noPatText","noPatTextChildMale","noPatTextChildFemale","startCallingMeBtnLabel","startCallingBtnLabelMale","startCallingBtnLabelFemale","callFormTopTitleChild","callFormTopTextChild","callFormTopTitleChildName","callFormTopTextChildNameMale","callFormTopTextChildNameFemale","callFormTopTitleAdult","callFormTopTextAdult","callFormPhoneLabel","callFormPhoneLabelChild","callFormEmailLabel","callFormEmailLabelChild","callFormPhoneErrorEmpty","callFormPhoneErrorInvalid","callFormEmailErrorEmpty","callFormEmailErrorInvalid","callFormSubmitBtnLabel","callFormSelectClinicLabel","callFormSelectClinicLabelMale","callFormSelectClinicLabelFemale","callFormErrorClinicSelect","callFormDentistSelectLabel","callFormDentistSelectAutomaticLabel","callFormDentistSelectManualLabel","callFormDentistSelectShowAllText","callFormErrorDentistSelect","callFormWhenCalledSelectLabel","callFormWhenCalledSoonLabel","callFormWhenCalledTwoThreeMonthsLabel","callFormWhenCalledThreeSixMonthsLabel","callFormErrorSelectDentist","childListedListedAtLabel","childListedSelectLabel","childListedSaveButtonLabel","childListedSaveButtonSubmittingLabel","childListedSubmitError","childListedWaiting","childListedNoClinicError","yourEmployeeDentist","yourEmployeeHygienist","yourEmployeeEditButtonLabel","yourEmployeeEditButtonLabelLoading","yourEmployeeWaiting","yourEmployeeSelectEmployeeDentistPlaceholder","yourEmployeeSelectEmployeeHygienistPlaceholder","yourEmployeeEditorBtnSaving","yourEmployeeEditorBtnSave","yourEmployeeEditorPleaseSelectError","yourEmployeeClinicLabel","yourEmployeeModalTitle","yourEmployeeModalTitleHyg","yourEmployeeModalSubTitle","yourEmployeeModalSubTitleHyg","yourEmployeeClinicSelectLabel","yourEmployeeEditorErrorSelectDentist","yourEmployeeEditorErrorDentistSelect","yourEmployeeEditorErrorHygienistSelect","yourEmployeeModalDentistSelectLabel","yourEmployeeModalDentistSelectLabelHyg","yourEmployeeModalDentistSelectAutomaticLabel","yourEmployeeModalDentistSelectManualLabel","yourEmployeeModalDentistSelectManualLabelHyg","yourEmployeeClinicSelectsForYou","enlistWaitingTitle","enlistWaitingTitleChild","enlistWaitingText","enlistWaitingTextChildMale","enlistWaitingTextChildFemale","pageHeader","normalTitle","acuteTitle","acuteTitleChild","normalListedText","normalUnlistedText","acuteListedText","acuteUnlistedText","normalButtonLabel","acuteButtonLabel","ActiveBooking","SnoozedBooking","snoozeStatus","Failed","IsLong","Long","Short","initialBookingState","whose","editBookingId","cancelBookingId","cancelBookingRequiredByLawSubtitleTranslationCode","_state$cancelBooking$","_state$cancelBooking","selectedReasonAnswer","showSelfCallerOption","CancelNextStepAnswers","defaultNextStepAnswerId","_state$cancelBooking$2","availableSnoozeOptions","validateCancel","initialChildrenState","initialAddChildForm","selectedChildId","initialEditChildForm","seeInboxChildId","validateFields","validInputSSN","_state$ssn","personalIdentityNumber","control","serial","sum","luhn","ValidatePersonalIdentityNumber","validInputMobile","_state$mobile","validInputEmail","_state$email","validInputClinicDataId","numChanges","_rootState$children$s","_rootState$children$s2","_rootState$children$s3","_rootState$children$s4","_rootState$children$s5","_rootState$children$s6","_rootState$children$s7","_rootState$children$s8","_rootState$children$s9","hasChanges","_rootState$children$s10","_state$mobile2","_rootState$children$s11","_state$email2","_rootState$children$s12","_rootState$children$s13","initialSettingsState","initialEditSettingsState","numberListedChildren","_rootState$login$bank","_rootState$login$bank2","_rootState$login$bank3","_rootState$login$bank4","_rootState$login$bank5","_rootState$login$bank6","_rootState$login$bank7","_rootState$login$bank8","_rootState$login$bank9","_rootState$login$bank10","_rootState$login$bank11","_rootState$login$bank12","_rootState$login$bank13","_rootState$login$bank14","_rootState$login$bank15","_rootState$login$bank16","_rootState$login$bank17","_rootState$login$bank18","_rootState$login$bank19","_rootState$login$bank20","_rootState$login$bank21","_rootState$login$bank22","_rootState$login$bank23","_rootState$login$bank24","ClinicOpenHours","Day","ClinicOpenDays","GetWeek","monday","openDay","deviation","Deviation","ordinary","Ordinary","MyClinic","MyClinicState","OpenDays","initialMyClinicsState","clinicOpenDays","initialReferralState","myReferralURL","initialInboxState","totalMessages","selectedMessageId","nbMessagesLoaded","JournalEntry","CodeEntry","Xray","Filename","Method","DateTaken","BookingPrevious","DisplayModalXrays","DisplayModalReceipt","DisplayModalPayment","JOURNAL_FIRST_TAKE","initialJournalState","nbCyclesDone","totalPreviousBookings","nbBookingsToTake","nbBookingsLoaded","autoLoadMore","selectedBookingId","initialAtbState","latestVisitDate","testDateNowApplied","birthYear","yearOfAtbThatExpiresThisYear","_state$dateNow2","_state$dateNow","amountBasedOnLatestVisit","nextExpiresAmount","nextExpiresDate","atb2Date","atb1Date","ageAtAtb1","ageAtAtb2","getAtbAmountAtAge","age","atDate","atYear","nextExpirationAmount","nextExpirationDate","atb1Amount","atb2Amount","getAmountBasedOnLatestVisit","initialHealthState","_loadMainMenu","loadingInBackGround","MainMenuLoad","_handleMainMenuLoadResponse","BankIdPatient","_loadWhatIsNeededForAnyPage","_ref4","_ref5","DtvGaPageView","grandidsession","CheckingGrandIDSession","setHtmlClassesLoggedIn","_ref6","_payload$params","loadBookingsPage","_ref7","loadChildrenPage","_ref8","loadSettingsPage","_ref9","_payload$params2","loadMyClinicsPage","_ref10","loadReferralPage","_ref11","_payload$params3","loadInboxPage","_ref12","loadPersonalOffersPage","_ref13","_payload$params4","loadJournalPage","_CanSeeAtbPage","_ref14","loadAtbPage","_CanSeeHealthDeclarat","_ref15","loadHealthPage","singleMatcher","multiMatcher","decodeComponents","decodeUriComponent","encodedURI","_unused4","replaceMap","_unused3","customDecodeURIComponent","splitOnFirst","separatorIndex","includeKeys","predicate","isNullOrUndefined","strictUriEncode","encodeFragmentIdentifier","validateArrayFormatSeparator","decodeComponent","keysSorter","removeHash","hashStart","parseNumbers","parseBooleans","extract","queryStart","query","arrayFormat","arrayFormatSeparator","isEncodedArray","arrayValue","flat","parserForArrayFormat","parameter","parameter_","key2","value2","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","_url_$split$","_url_","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","getHash","urlObjectForFragmentEncode","pick","MainMenuLoadResponse","NotificationsBookings","UnpaidInvoiceIds","NumberListedChildren","NumberMyClinics","NotificationsInbox","NotificationsPersonalOffers","BankIdPatientHasActiveBookings","SettingsMissing","HasUnlistedChildren","ShowReferralUpgradeNotification","ReferralBenefitAmount","ReferralsNewCount","ChildrenPatient","ChildrenPageResponse","AddChildPost","addChildRequest","EditChildPost","saveChildRequest","SetLanguage","EvalError","RangeError","URIError","DOMException","AssertionError","SystemError","commonProperties","toJsonWasCalled","getErrorConstructor","_errorConstructors$ge","errorConstructors","destroyCircular","seen","forceEnumerable","maxDepth","useToJSON","isErrorLike","continueDestroyCircular","logAttempts","_errorInfo$componentS","errorObject","serializedError","POSITIVE_INFINITY","serializeError","Code","Stack","Message","Level","ErrorObject","ErrorCode","ComponentStack","LogError","LogWarn","LogInfo","LogDebug","GetClinicListResponse","GetClinicList","SettingsPageResponse","SaveSettings","saveSettingRequest","MyClinicsPageResponse","upToWeeks","ReferralPageResponse","Invitation","MyReferralCode","MyReferralURL","MyBenefits","BenefitPerReferral","ReferralUpdateLastVisitedDate","InboxPageResponse","InboxChild","TotalMessages","InboxGetPdfResponse","Pdf","Body","skip","take","MarkMessageOpened","MessageId","messageId","GetPdf","deliveryId","ReceiptNumber","PrinterText","Amount","DateReceipt","RegDate","SumAllowance","ReceiptFilenamePDF","JournalPageResponse","JournalChild","TotalPreviousBookings","XrayImageResponse","PaymentReceiptResponse","GetPaymentReceipt","PrintReceiptAsPDF","divId","getElementById","dpi","letterRendering","jspdf","downloadAsPDF","receiptName","KlarnaPaymentResponse","KlarnaStatus","KlarnaPayment","invoiceId","AtbPageResponse","sleep","cancellableSleep","theSleep","checkInactivity","LoggedOutDueToInactivity","setHtmlClassesLoggedOut","LoginPollingResult","_loginPolling","Result","Denied","loginSubmit","Starting","Polling","_results$BankIDAppUrl","pollResponse","PollExpired","ex","loginAgain","openTestCasesForm","testCaseChangeAge","Child","testCaseChangeOpus","opus","OpusD","OpusX","OpusI","testCaseChangeRevisions","revisions","None","DRev","HRev","HDRev","testCaseChangeLibretto","yesOrNo","No","testCaseChangeChildren","_ref16","YesAdded","YesNotAdded","getYesNoAsBool","testCaseSubmit","_ref17","Libretto","Opus","Revisions","Password","_resp$ErrorMessage$le","testCaseChangePassword","_ref18","testCaseFinalizeLogin","removeClass","addClass","encodeName","encodeValue","decodeName","decodeValue","scan","jar","DEFAULT_CODEC","freeze","DEFAULT_ATTRIBUTES","setCookie","encodeValue$1","encodeName$1","stringifyAttributes","getCookie","decodeValue$1","decodeName$1","converter","defaultAttributes","getCookies","removeCookie","withAttributes","withConverter","DismissUnpaidTreatmentNotification","DismissSettingsMissing","DismissHealthDecExpired","DismissHealthDecMissing","showHealthDeclaration","bankIdPatientHasActiveBookings","healthDeclarationMissingDismissed","healthDeclarationExpiredDismissed","settingsMissing","settingsMissingDismissed","unpaidTreatmentNotificationDismissed","Modal","modal","_handleBookingsPageResponse","bookingsPageResponse","SnoozeOptions","resetUi","getActiveBookingById","editBookingConfirm","optionId","snooze_by","NewBooking","Serie","Specialist","modals","_handleChildrenPageResponse","_state$children$addCh","_state$children$selec","_state$children$selec2","_state$children$selec3","_state$children$selec4","_state$children$selec5","_state$children$selec6","_state$children$selec7","_state$children$selec8","sendSMS","field","sendEmail","_ref19","_ref20","sendLetter","_ref21","_ref22","childId","_state$children$selec9","_state$children$selec10","_state$children$selec11","_state$children$selec12","_ref23","Clinics","_handleSettingsPageResponse","settingsPageResponse","_Mobile","_Email","_PatientSettings$Send","_PatientSettings","_PatientSettings$Send2","_PatientSettings2","_PatientSettings$Send3","_PatientSettings3","_PatientSettings$Send4","_PatientSettings4","_PatientSettings$Send5","_PatientSettings5","_PatientSettings$Send6","_PatientSettings6","_PatientSettings$Send7","_PatientSettings7","_Mobile2","_Email2","myClinicDataId","category","dtvGa","gaParams","eventCategory","eventAction","hitCallback","eventLabel","eventName","dtvGA4Event","closeModal","_state$modals$modal$t","_state$modals$modal","Invitations","_loadMessages","Messages","downloadLink","wasRead","_loadPreviousBookings","PreviousBookings","autoMoreBookings","customerReceipt","LatestVisitDate","initial","initialServerDate","startDate","durationElapsed","loadDentists","EmployeesWithClinicDataIds","_state$callForm$selec","DentistId","WhenCalled","_response$ErrorMessag","_response$ResponseSta","_state$listingStatus$","_state$listingStatus$2","_state$listingStatus$3","_state$listingStatus$4","AdultChangeDentist","AdultChangeHygienist","BookNowMode","Acute","Normal","_state$mode","_state$mode2","selectedPatientIsListed","_state$selectedPatien5","_state$selectedPatien6","configurations","rootConfiguration","reducedConfigurations","stateDuplicates","actionsDuplicates","effectsDuplicates","parseNamespacedConfig","namespaced","_state$login$testCase","_state$login$testCase2","_state$login$testCase3","_state$login$testCase4","_state$login$testCase5","_state$login$testCase6","_state$login$testCase7","TestCasesForm","LoginCard","LoginPendingCard","LoginExpiredCard","LoggedOutDueToInactivityCard","FormCard","_state$page$current","PageComponent","ErrorBoundary","errorActions","errorState","ErrorPage","LoginCheckingGrandIDSession","CurrentPage","LoginPage","pageClass","GeneralModal","LogOutButton","localizedFormat","createOvermind","onunhandledrejection","$body","hasClass","ReactDOM","MyPagesApp","dtvAppLoaded"],"sourceRoot":""}